@@ -18,7 +18,7 @@ concurrency:
1818
1919jobs :
2020 unit :
21- name : unit- ${{ matrix.group }}-${{ matrix.julia-version }}-${{ matrix.os }}
21+ name : unit/ ${{ matrix.group }}-${{ matrix.julia-version }}-${{ matrix.os }}
2222 runs-on : ${{ matrix.os }}
2323 timeout-minutes : 60
2424 if : github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
@@ -59,22 +59,29 @@ jobs:
5959 - name : " Build package"
6060 uses : julia-actions/julia-buildpkg@v1
6161 - name : " Run unit tests (${{ matrix.group }})"
62+ env :
63+ TEST_GROUP : unit/${{ matrix.group }}
6264 run : |
63- TEST_GROUP="unit/${{ matrix.group }}"
64- export TEST_GROUP="${TEST_GROUP//-//}"
6565 julia --color=yes -e 'import Pkg; Pkg.add("Coverage")'
6666 julia --color=yes --project=. --threads=auto --check-bounds=yes --depwarn=yes --code-coverage=user -e 'import Coverage; import Pkg; Pkg.test(coverage=true)'
6767 julia --color=yes coverage.jl
6868 shell : bash
69+ - name : " Sanitize artifact group"
70+ id : sanitize_unit_group
71+ shell : bash
72+ run : |
73+ group='${{ matrix.group }}'
74+ safe_group="${group//\//-}"
75+ echo "group=$safe_group" >> "$GITHUB_OUTPUT"
6976 - name : " Upload coverage artifacts"
7077 uses : actions/upload-artifact@v4
7178 with :
72- name : coverage-unit-${{ matrix .group }}-${{ matrix.julia-version }}-${{ matrix.os }}
79+ name : coverage-unit-${{ steps.sanitize_unit_group.outputs .group }}-${{ matrix.julia-version }}-${{ matrix.os }}
7380 path : lcov.info
7481 retention-days : 1
7582
7683 integration :
77- name : integration- ${{ matrix.group }}-${{ matrix.julia-version }}-ubuntu-latest
84+ name : integration/ ${{ matrix.group }}-${{ matrix.julia-version }}-ubuntu-latest
7885 runs-on : ubuntu-latest
7986 timeout-minutes : 60
8087 if : github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
@@ -83,51 +90,51 @@ jobs:
8390 matrix :
8491 julia-version : ["1.10", "1"]
8592 group :
86- - ad- forwarddiff
87- - ad- zygote
88- - ad- enzyme
89- - ad- mooncake
93+ - ad/ forwarddiff
94+ - ad/ zygote
95+ - ad/ enzyme
96+ - ad/ mooncake
9097 - aqua
9198 - jet
92- - ext- mlj- core
93- - ext- mlj- mti
94- - ext- mlj- templates
95- - ext- symbolicutils
96- - ext- json3_recorder
97- - ext- dynamicquantities_units
98- - ext- loopvectorization
99+ - ext/ mlj/ core
100+ - ext/ mlj/ mti
101+ - ext/ mlj/ templates
102+ - ext/ symbolicutils
103+ - ext/ json3_recorder
104+ - ext/ dynamicquantities_units
105+ - ext/ loopvectorization
99106 exclude :
100107 - julia-version : " 1"
101- group : ad- mooncake
108+ group : ad/ mooncake
102109 steps :
103110 - uses : actions/checkout@v5
104111 - name : " Set up Julia"
105112 uses : julia-actions/setup-julia@v2
106113 with :
107114 version : ${{ matrix.julia-version }}
108- - name : " Convert group name for paths "
109- id : convert_group
115+ - name : " Sanitize group"
116+ id : sanitize_integration_group
110117 shell : bash
111118 run : |
112119 group='${{ matrix.group }}'
113- slashed_group ="${group//-// }"
114- echo "slashed_group=$slashed_group " >> "$GITHUB_OUTPUT"
120+ safe_group ="${group//\//- }"
121+ echo "group=$safe_group " >> "$GITHUB_OUTPUT"
115122 - name : " Cache dependencies"
116123 uses : julia-actions/cache@v2
117124 with :
118- cache-name : julia-cache;workflow=${{ github.workflow }};job=${{ github.job }};group=integration-${{ matrix. group }};julia=${{ matrix.julia-version }};project=${{ hashFiles(format('test/integration/{0}/Project.toml', steps.convert_group.outputs.slashed_group )) }}
125+ cache-name : julia-cache;workflow=${{ github.workflow }};job=${{ github.job }};group=integration-${{ steps.sanitize_integration_group.outputs. group }};julia=${{ matrix.julia-version }};project=${{ hashFiles(format('test/integration/{0}/Project.toml', matrix.group )) }}
119126 - name : " Run integration test"
127+ env :
128+ TEST_GROUP : integration/${{ matrix.group }}
120129 run : |
121- TEST_GROUP="integration/${{ matrix.group }}"
122- export TEST_GROUP="${TEST_GROUP//-//}"
123130 julia --color=yes -e 'import Pkg; Pkg.add("Coverage")'
124131 julia --color=yes --project=. --threads=auto --check-bounds=yes --code-coverage=user -e 'import Coverage; import Pkg; Pkg.test(coverage=true)'
125132 julia --color=yes coverage.jl
126133 shell : bash
127134 - name : " Upload coverage artifacts"
128135 uses : actions/upload-artifact@v4
129136 with :
130- name : coverage-integration-${{ matrix .group }}-${{ matrix.julia-version }}
137+ name : coverage-integration-${{ steps.sanitize_integration_group.outputs .group }}-${{ matrix.julia-version }}
131138 path : lcov.info
132139 retention-days : 1
133140
0 commit comments