fix(ci): exclude subxt crates from umbrella runtime-full to fix wasm32v1-none build
The pez-kitchensink-runtime wasm build was failing because pezkuwi-subxt-signer
(a client-side signing utility) was included in the umbrella's runtime-full
feature. This pulled in regex with workspace-inherited default features (std)
and thiserror v1 which doesn't support no-std, both causing compilation failures
on the wasm32v1-none target.
Changes:
- Exclude pezkuwi-subxt-{signer,core,macro,metadata} from runtime-full in the
umbrella generator script (they are client-side crates, not runtime crates)
- Fix pezkuwi-subxt-signer's regex dependency to use explicit version with
default-features=false (Cargo 2021 edition silently ignores default-features
override with workspace=true when workspace has defaults enabled)
- Add regex/perf to signer's std feature for full performance when std is on
This commit is contained in:
@@ -98,6 +98,16 @@ def main(path, version):
|
||||
std_crates.sort(key=lambda x: x[0].name)
|
||||
nostd_crates.sort(key=lambda x: x[0].name)
|
||||
|
||||
# Client-side crates that declare no_std but have std-only transitive
|
||||
# dependencies (e.g. thiserror v1, regex). Exclude from runtime-full
|
||||
# to prevent wasm32v1-none compilation failures.
|
||||
RUNTIME_FULL_EXCLUDE = {
|
||||
"pezkuwi-subxt-signer",
|
||||
"pezkuwi-subxt-core",
|
||||
"pezkuwi-subxt-macro",
|
||||
"pezkuwi-subxt-metadata",
|
||||
}
|
||||
|
||||
runtime_crates = [crate for crate in nostd_crates if 'frame' in crate[0].name or crate[0].name.startswith('sp-')]
|
||||
all_crates = std_crates + nostd_crates
|
||||
all_crates.sort(key=lambda x: x[0].name)
|
||||
@@ -118,7 +128,7 @@ def main(path, version):
|
||||
"serde": [],
|
||||
"experimental": [],
|
||||
"with-tracing": [],
|
||||
"runtime-full": list([f"{d.name}" for d, _ in nostd_crates]),
|
||||
"runtime-full": list([f"{d.name}" for d, _ in nostd_crates if d.name not in RUNTIME_FULL_EXCLUDE]),
|
||||
"runtime": list([f"{d.name}" for d, _ in runtime_crates]),
|
||||
"node": ["std"] + list([f"{d.name}" for d, _ in std_crates]),
|
||||
"tuples-96": [],
|
||||
|
||||
@@ -1782,10 +1782,6 @@ runtime-full = [
|
||||
"pezkuwi-runtime-common",
|
||||
"pezkuwi-runtime-metrics",
|
||||
"pezkuwi-runtime-teyrchains",
|
||||
"pezkuwi-subxt-core",
|
||||
"pezkuwi-subxt-macro",
|
||||
"pezkuwi-subxt-metadata",
|
||||
"pezkuwi-subxt-signer",
|
||||
"pezkuwi-teyrchain-primitives",
|
||||
"pezpallet-alliance",
|
||||
"pezpallet-asset-conversion",
|
||||
|
||||
+2
-1
@@ -32,6 +32,7 @@ std = [
|
||||
"pezsp-crypto-hashing/std",
|
||||
"pezsp-keyring/std",
|
||||
"regex/std",
|
||||
"regex/perf",
|
||||
"schnorrkel?/std",
|
||||
"scrypt?/std",
|
||||
"secp256k1?/std",
|
||||
@@ -97,7 +98,7 @@ keccak-hash = { workspace = true, optional = true }
|
||||
pbkdf2 = { workspace = true }
|
||||
pezkuwi-subxt-core = { workspace = true, optional = true, default-features = false }
|
||||
pezsp-crypto-hashing = { workspace = true }
|
||||
regex = { workspace = true, features = ["unicode"] }
|
||||
regex = { version = "1.10.2", default-features = false, features = ["unicode"] }
|
||||
schnorrkel = { workspace = true, optional = true, features = ["getrandom"] }
|
||||
secp256k1 = { workspace = true, optional = true, features = [
|
||||
"alloc",
|
||||
|
||||
Reference in New Issue
Block a user