28
28
fail-fast : false
29
29
matrix :
30
30
crate : ${{ fromJSON(needs.gather_published_crates.outputs.members) }}
31
+ env :
32
+ CRATE : ${{ matrix.crate }}
31
33
steps :
32
34
- name : Install Protoc
33
35
run : sudo apt-get install -y protobuf-compiler
@@ -44,39 +46,39 @@ jobs:
44
46
save-if : false
45
47
46
48
- name : Run all tests
47
- run : cargo test --package ${{ matrix.crate }} --all-features
49
+ run : cargo test --package "$CRATE" --all-features
48
50
49
51
- name : Check if we compile without any features activated
50
- run : cargo build --package ${{ matrix.crate }} --no-default-features
52
+ run : cargo build --package "$CRATE" --no-default-features
51
53
52
54
- run : cargo clean
53
55
54
56
- name : Check if crate has been released
55
57
id : check-released
56
58
run : |
57
- RESPONSE_CODE=$(curl https://crates.io/api/v1/crates/${{ matrix.crate }} --silent --write-out "%{http_code}" --output /dev/null)
59
+ RESPONSE_CODE=$(curl https://crates.io/api/v1/crates/"$CRATE" --silent --write-out "%{http_code}" --output /dev/null)
58
60
echo "code=${RESPONSE_CODE}"
59
61
echo "code=${RESPONSE_CODE}" >> $GITHUB_OUTPUT
60
62
61
63
- uses : ./.github/actions/cargo-semver-checks
62
64
if : steps.check-released.outputs.code == 200 # Workaround until https://github.com/obi1kenobi/cargo-semver-check/issues/146 is shipped.
63
65
with :
64
- crate : ${{ matrix.crate }}
66
+ crate : env.CRATE
65
67
66
68
- name : Enforce no dependency on meta crate
67
69
run : |
68
70
cargo metadata --format-version=1 --no-deps | \
69
- jq -e -r '.packages[] | select(.name == "${{ matrix.crate }} ") | .dependencies | all(.name != "libp2p")'
71
+ jq -e -r '.packages[] | select(.name == "'"$CRATE"' ") | .dependencies | all(.name != "libp2p")'
70
72
71
73
- uses : taiki-e/cache-cargo-install-action@7dd0cff2732612ac642812bcec4ada5a279239ed # v1
72
74
with :
73
75
tool : tomlq
74
76
75
77
- name : Enforce version in `workspace.dependencies` matches latest version
76
- if : matrix.crate != 'libp2p'
78
+ if : env.CRATE != 'libp2p'
77
79
run : |
78
- PACKAGE_VERSION=$(cargo metadata --format-version=1 --no-deps | jq -e -r '.packages[] | select(.name == "${{ matrix.crate }} ") | .version')
79
- SPECIFIED_VERSION=$(tomlq ' workspace.dependencies.${{ matrix.crate }}. version' --file ./Cargo.toml)
80
+ PACKAGE_VERSION=$(cargo metadata --format-version=1 --no-deps | jq -e -r '.packages[] | select(.name == "'"$CRATE"' ") | .version')
81
+ SPECIFIED_VERSION=$(tomlq " workspace.dependencies.$CRATE. version" --file ./Cargo.toml)
80
82
81
83
echo "Package version: $PACKAGE_VERSION";
82
84
echo "Specified version: $SPECIFIED_VERSION";
0 commit comments