Improve features dev-ex (#1831)

Adds a config file that allows to run `zepter` without any arguments in
the workspace to address all issues.
A secondary workflow for the CI is provided as `zepter run check`. Both
the formatting and linting are now in one check for efficiancy.

The latest version also detects some more things that `featalign` was
already showing.

Error message [in the
CI](https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/3916205)
now looks like this:
```pre
...
crate 'test-parachains' (/Users/vados/Documents/work/polkadot-sdk/polkadot/parachain/test-parachains/Cargo.toml)
  feature 'std'
    must propagate to:
      parity-scale-codec
Found 55 issues (run with --fix to fix).
Error: Command 'lint propagate-feature' failed with exit code 1

Polkadot-SDK uses the Zepter CLI to detect abnormalities in the feature configuration.
It looks like one more more checks failed; please check the console output. You can try to automatically address them by running `zepter`.
Otherwise please ask directly in the Merge Request, GitHub Discussions or on Matrix Chat, thank you.

For more information, see:
  - https://github.com/paritytech/polkadot-sdk/issues/1831
  - https://github.com/ggwpez/zepter
```

TODO:
- [x] Check that CI fails correctly

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
This commit is contained in:
Oliver Tale-Yazdi
2023-10-24 17:59:38 +02:00
committed by GitHub
parent 12130a76ac
commit 4a44356773
46 changed files with 108 additions and 23 deletions
@@ -30,6 +30,6 @@ assert_matches = "1.3.0"
[features]
# Required for the doc tests
default = [ "std" ]
std = []
std = [ "blake2/std" ]
no-metadata-docs = []
frame-metadata = []
@@ -42,6 +42,7 @@ std = [
"sp-mmr-primitives/std",
"sp-runtime/std",
"sp-std/std",
"strum/std",
]
# Serde support without relying on std features.
+2
View File
@@ -116,7 +116,9 @@ std = [
"thiserror",
"tiny-bip39",
"tracing",
"w3f-bls?/std",
"zeroize/alloc",
"zeroize/std",
]
# Serde support without relying on std features.
+2 -1
View File
@@ -44,8 +44,9 @@ std = [
"bytes/std",
"codec/std",
"ed25519-dalek",
"ed25519-dalek?/std",
"libsecp256k1",
"log",
"log/std",
"secp256k1",
"sp-core/std",
"sp-externalities/std",
@@ -33,6 +33,7 @@ std = [
"codec/std",
"log/std",
"mmr-lib/std",
"scale-info/std",
"serde/std",
"sp-api/std",
"sp-core/std",
@@ -25,6 +25,7 @@ substrate-wasm-builder = { path = "../../../utils/wasm-builder", optional = true
[features]
default = [ "std" ]
std = [
"bytes/std",
"sp-core/std",
"sp-io/std",
"sp-runtime-interface/std",
@@ -37,10 +37,12 @@ rand = { version = "0.8.5", features = ["small_rng"], optional = true }
default = [ "std" ]
std = [
"aes-gcm",
"aes-gcm?/std",
"codec/std",
"curve25519-dalek",
"ed25519-dalek",
"hkdf",
"hkdf?/std",
"rand",
"scale-info/std",
"sha2",
@@ -23,5 +23,5 @@ sp-std = { path = "../std", default-features = false}
[features]
default = [ "std" ]
std = [ "codec/std", "log", "sp-std/std", "wasmtime" ]
std = [ "codec/std", "log/std", "sp-std/std", "wasmtime" ]
wasmtime = [ "anyhow", "dep:wasmtime" ]