Skip to content

Commit 471e0e1

Browse files
committed
Fix build to avoid conflicting version features
The previous build configuration used `--all-features` at the workspace level, which caused conflicts with mutually exclusive version features in the node and integration_test crates (e.g., v29_0, v28_2, etc.).
1 parent 3565c7f commit 471e0e1

File tree

2 files changed

+40
-6
lines changed

2 files changed

+40
-6
lines changed

contrib/update-lock-files.sh

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,25 @@
55
set -euo pipefail
66

77
for file in Cargo-minimal.lock Cargo-recent.lock; do
8-
cp --force "$file" Cargo.lock
9-
cargo check --all-features
8+
cp "$file" Cargo.lock
9+
10+
# Workspace crates with all features
11+
workspace_crates=("client" "types" "jsonrpc")
12+
for crate in "${workspace_crates[@]}"; do
13+
(cd "$crate" && cargo check --all-features)
14+
done
15+
16+
# Crates with version features (use latest)
17+
version_crates=("node" "integration_test")
18+
for crate in "${version_crates[@]}"; do
19+
(cd "$crate" && cargo check --features=29_0)
20+
done
21+
22+
# Other crates
23+
other_crates=("verify")
24+
for crate in "${other_crates[@]}"; do
25+
(cd "$crate" && cargo check)
26+
done
27+
1028
cp --force Cargo.lock "$file"
1129
done

justfile

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,27 @@ default:
1212

1313
# Cargo build everything.
1414
build:
15-
cargo build --workspace --all-targets --all-features
15+
cargo build -p corepc-client --all-targets --all-features
16+
cargo build -p corepc-types --all-targets --all-features
17+
cargo build -p jsonrpc --all-targets --all-features
18+
cargo build -p corepc-node --all-targets --features=29_0
19+
cargo build --manifest-path verify/Cargo.toml --all-targets
1620

1721
# Cargo check everything.
1822
check:
19-
cargo check --workspace --all-targets --all-features
23+
cargo check -p corepc-client --all-targets --all-features
24+
cargo check -p corepc-types --all-targets --all-features
25+
cargo check -p jsonrpc --all-targets --all-features
26+
cargo check -p corepc-node --all-targets --features=29_0
27+
cargo check --manifest-path verify/Cargo.toml --all-targets
2028

2129
# Lint everything.
2230
lint: lint-verify lint-integration-tests
23-
cargo +$(cat ./nightly-version) clippy --workspace --all-targets --all-features -- --deny warnings
31+
cargo +$(cat ./nightly-version) clippy -p corepc-client --all-targets --all-features -- --deny warnings
32+
cargo +$(cat ./nightly-version) clippy -p corepc-types --all-targets --all-features -- --deny warnings
33+
cargo +$(cat ./nightly-version) clippy -p jsonrpc --all-targets --all-features -- --deny warnings
34+
cargo +$(cat ./nightly-version) clippy -p corepc-node --all-targets --features=29_0 -- --deny warnings
35+
cargo +$(cat ./nightly-version) clippy --manifest-path verify/Cargo.toml --all-targets -- --deny warnings
2436

2537
lint-verify:
2638
$REPO_DIR/contrib/lint-verify.sh
@@ -40,7 +52,11 @@ format:
4052

4153
# Generate documentation.
4254
docsrs *flags:
43-
RUSTDOCFLAGS="--cfg docsrs -D warnings -D rustdoc::broken-intra-doc-links" cargo +$(cat ./nightly-version) doc --all-features {{flags}}
55+
RUSTDOCFLAGS="--cfg docsrs -D warnings -D rustdoc::broken-intra-doc-links" cargo +$(cat ./nightly-version) doc -p corepc-client --all-features {{flags}}
56+
RUSTDOCFLAGS="--cfg docsrs -D warnings -D rustdoc::broken-intra-doc-links" cargo +$(cat ./nightly-version) doc -p corepc-types --all-features {{flags}}
57+
RUSTDOCFLAGS="--cfg docsrs -D warnings -D rustdoc::broken-intra-doc-links" cargo +$(cat ./nightly-version) doc -p jsonrpc --all-features {{flags}}
58+
RUSTDOCFLAGS="--cfg docsrs -D warnings -D rustdoc::broken-intra-doc-links" cargo +$(cat ./nightly-version) doc -p corepc-node --features=29_0 {{flags}}
59+
(cd verify && RUSTDOCFLAGS="--cfg docsrs -D warnings -D rustdoc::broken-intra-doc-links" cargo +$(cat ../nightly-version) doc {{flags}})
4460

4561
# Update the recent and minimal lock files.
4662
update-lock-files:

0 commit comments

Comments
 (0)