@@ -10,27 +10,31 @@ jobs:
1010 strategy :
1111 fail-fast : false
1212 matrix :
13- project :
14- # TODO: remove the cargo_project_name and only use the name after renaming mithril-core name in its Cargo.toml
15- - name : mithril-core
13+ include :
14+ - project : mithril-core
1615 cargo_project_name : mithril
17- artefacts_pattern : libmithril
18- - name : mithril-common
19- cargo_project_name : mithril-common
20- artefacts_pattern : libmithril_common
21- - name : mithril-aggregator
22- cargo_project_name : mithril-aggregator
23- artefacts_pattern : mithril-aggregator
24- - name : mithril-client
25- cargo_project_name : mithril-client
26- artefacts_pattern : mithril-client
27- - name : mithril-signer
28- cargo_project_name : mithril-signer
29- artefacts_pattern : mithril-signer
16+ artifacts_pattern : libmithril
17+ - project : mithril-common
18+ artifacts_pattern : libmithril_common
19+ - project : mithril-aggregator
20+ - project : mithril-client
21+ - project : mithril-signer
22+ env :
23+ CARGO_PROJECT_NAME : ${{ matrix.project }}
24+ ARTIFACTS_PATTERN : ${{ matrix.project }}
25+
3026 steps :
3127 - name : Checkout sources
3228 uses : actions/checkout@v2
3329
30+ - name : Overriding default $CARGO_PROJECT_NAME with matrix value
31+ if : ${{ matrix.cargo_project_name }}
32+ run : echo "CARGO_PROJECT_NAME=${{ matrix.cargo_project_name }}" >> $GITHUB_ENV
33+
34+ - name : Overriding default $ARTIFACTS_PATTERN with matrix value
35+ if : ${{ matrix.artifacts_pattern }}
36+ run : echo "ARTIFACTS_PATTERN=${{ matrix.artifacts_pattern }}" >> $GITHUB_ENV
37+
3438 - name : Install stable toolchain
3539 uses : actions-rs/toolchain@v1
3640 with :
4751 ~/.cargo/registry/
4852 ~/.cargo/git/
4953 target/
50- key : cargo-${{ runner.os }}-${{ matrix.project.name }}-${{ hashFiles('Cargo.lock') }}
54+ key : cargo-${{ runner.os }}-${{ matrix.project }}-${{ hashFiles('Cargo.lock') }}
5155 restore-keys : |
52- ${{ runner.os }}-${{ matrix.project.name }}-key
56+ ${{ runner.os }}-${{ matrix.project }}-key
5357
5458 - name : Install cargo tools
5559 if : ${{ steps.cargo-cache.outputs.cache-hit == false }}
@@ -60,58 +64,58 @@ jobs:
6064 uses : actions-rs/cargo@v1
6165 with :
6266 command : build
63- args : --release --all-targets -p ${{ matrix.project.cargo_project_name }}
67+ args : --release --all-targets -p ${{ env.CARGO_PROJECT_NAME }}
6468
6569 - name : Cargo check
6670 uses : actions-rs/cargo@v1
6771 with :
6872 command : check
69- args : --release --all-targets -p ${{ matrix.project.cargo_project_name }}
73+ args : --release --all-targets -p ${{ env.CARGO_PROJECT_NAME }}
7074
7175 - name : Clippy Check
7276 uses : actions-rs/clippy-check@v1
7377 with :
74- name : clippy-${{ matrix.project.name }}
78+ name : clippy-${{ matrix.project }}
7579 token : ${{ secrets.GITHUB_TOKEN }}
76- args : --release --all-features -p ${{ matrix.project.cargo_project_name }}
80+ args : --release --all-features -p ${{ env.CARGO_PROJECT_NAME }}
7781
7882 - name : Cargo fmt
7983 uses : actions-rs/cargo@v1
8084 with :
8185 command : fmt
82- args : --all -p ${{ matrix.project.cargo_project_name }}
86+ args : --all -p ${{ env.CARGO_PROJECT_NAME }}
8387
8488 - name : Run tests
8589 shell : bash
8690 run : |
87- set -o pipefail && cargo test --release -p ${{ matrix.project.cargo_project_name }} -- -Z unstable-options --format json --report-time | tee >(cargo2junit > test-results-${{ matrix.project.name }}.xml)
91+ set -o pipefail && cargo test --release -p $CARGO_PROJECT_NAME -- -Z unstable-options --format json --report-time | tee >(cargo2junit > test-results-${{ matrix.project }}.xml)
8892
8993 - name : Upload Tests Results
9094 if : always()
9195 uses : actions/upload-artifact@v3
9296 with :
93- name : test-results-${{ matrix.project.name }}
97+ name : test-results-${{ matrix.project }}
9498 path : |
9599 ./**/test-results-*.xml
96100
97- - name : Generate ${{ matrix.project.name }} doc
101+ - name : Generate ${{ matrix.project }} doc
98102 uses : actions-rs/cargo@v1
99103 with :
100104 command : doc
101- args : --no-deps --release -p ${{ matrix.project.cargo_project_name }}
105+ args : --no-deps --release -p ${{ env.CARGO_PROJECT_NAME }}
102106
103- - name : Publish ${{ matrix.project.name }}
107+ - name : Publish ${{ matrix.project }}
104108 uses : actions/upload-artifact@v3
105109 with :
106- name : ${{ matrix.project.name }}
110+ name : ${{ matrix.project }}
107111 path : |
108- target/release/${{ matrix.project.artefacts_pattern }}*
112+ target/release/${{ env.ARTIFACTS_PATTERN }}*
109113 if-no-files-found : error
110114
111- - name : Publish ${{ matrix.project.name }}-doc
115+ - name : Publish ${{ matrix.project }}-doc
112116 uses : actions/upload-artifact@v3
113117 with :
114- name : ${{ matrix.project.name }}-doc
118+ name : ${{ matrix.project }}-doc
115119 if-no-files-found : error
116120 path : |
117121 target/doc/
0 commit comments