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:
2026-02-24 19:58:22 +03:00
parent fdddef83bd
commit 5a2da93fee
3 changed files with 13 additions and 6 deletions
+11 -1
View File
@@ -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": [],
-4
View File
@@ -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
View File
@@ -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",