Skip to content

Commit 4c2dbde

Browse files
committed
ci: improve naming scheme
1 parent d702b85 commit 4c2dbde

File tree

1 file changed

+30
-59
lines changed

1 file changed

+30
-59
lines changed

.github/workflows/CI.yml

Lines changed: 30 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ concurrency:
1818

1919
jobs:
2020
unit:
21-
name: Unit (${{ matrix.group }})-Julia-${{ 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
2525
strategy:
2626
fail-fast: false
2727
matrix:
28-
os: [ubuntu-latest]
28+
os: [ubuntu-latest, macOS-latest, windows-latest]
2929
julia-version: ["1.10", "1"]
3030
group:
3131
- basic
@@ -39,27 +39,12 @@ jobs:
3939
- parallel
4040
- precompile
4141
- misc
42-
include:
43-
# macOS tests - only on Julia 1 (latest)
44-
- os: macOS-latest
45-
julia-version: "1"
46-
group: basic
47-
- os: macOS-latest
48-
julia-version: "1"
49-
group: expressions
42+
exclude:
43+
# Only run Julia 1.10 on ubuntu
5044
- os: macOS-latest
51-
julia-version: "1"
52-
group: evaluation
53-
# Windows tests - only on Julia 1 (latest)
45+
julia-version: "1.10"
5446
- os: windows-latest
55-
julia-version: "1"
56-
group: basic
57-
- os: windows-latest
58-
julia-version: "1"
59-
group: expressions
60-
- os: windows-latest
61-
julia-version: "1"
62-
group: evaluation
47+
julia-version: "1.10"
6348

6449
steps:
6550
- uses: actions/checkout@v5
@@ -74,29 +59,22 @@ jobs:
7459
- name: "Build package"
7560
uses: julia-actions/julia-buildpkg@v1
7661
- name: "Run unit tests (${{ matrix.group }})"
77-
env:
78-
TEST_GROUP: unit/${{ matrix.group }}
7962
run: |
63+
TEST_GROUP="unit/${{ matrix.group }}"
64+
export TEST_GROUP="${TEST_GROUP//-//}"
8065
julia --color=yes -e 'import Pkg; Pkg.add("Coverage")'
8166
julia --color=yes --project=. --threads=auto --check-bounds=yes --depwarn=yes --code-coverage=user -e 'import Coverage; import Pkg; Pkg.test(coverage=true)'
8267
julia --color=yes coverage.jl
8368
shell: bash
84-
- name: "Sanitize artifact group"
85-
id: sanitize_unit_group
86-
shell: bash
87-
run: |
88-
group='${{ matrix.group }}'
89-
safe_group="${group//\//-}"
90-
echo "group=$safe_group" >> "$GITHUB_OUTPUT"
9169
- name: "Upload coverage artifacts"
9270
uses: actions/upload-artifact@v4
9371
with:
94-
name: coverage-unit-${{ steps.sanitize_unit_group.outputs.group }}-${{ matrix.julia-version }}-${{ matrix.os }}
72+
name: coverage-unit-${{ matrix.group }}-${{ matrix.julia-version }}-${{ matrix.os }}
9573
path: lcov.info
9674
retention-days: 1
9775

9876
integration:
99-
name: Integration (${{ matrix.group }})-Julia-${{ matrix.julia-version }}
77+
name: integration-${{ matrix.group }}-${{ matrix.julia-version }}-ubuntu-latest
10078
runs-on: ubuntu-latest
10179
timeout-minutes: 60
10280
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
@@ -105,58 +83,51 @@ jobs:
10583
matrix:
10684
julia-version: ["1.10", "1"]
10785
group:
108-
- ad/forwarddiff
109-
- ad/zygote
110-
- ad/enzyme
111-
- ad/mooncake
86+
- ad-forwarddiff
87+
- ad-zygote
88+
- ad-enzyme
89+
- ad-mooncake
11290
- aqua
11391
- jet
114-
- ext/mlj/core
115-
- ext/mlj/mti
116-
- ext/mlj/templates
117-
- ext/symbolicutils
118-
- ext/json3_recorder
119-
- ext/dynamicquantities_units
120-
- ext/loopvectorization
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
12199
exclude:
122100
- julia-version: "1"
123-
group: ad/mooncake
101+
group: ad-mooncake
124102
steps:
125103
- uses: actions/checkout@v5
126104
- name: "Set up Julia"
127105
uses: julia-actions/setup-julia@v2
128106
with:
129107
version: ${{ matrix.julia-version }}
130-
- name: "Sanitize group"
131-
id: sanitize_integration_group
108+
- name: "Convert group name for paths"
109+
id: convert_group
132110
shell: bash
133111
run: |
134112
group='${{ matrix.group }}'
135-
safe_group="${group//\//-}"
136-
echo "group=$safe_group" >> "$GITHUB_OUTPUT"
113+
slashed_group="${group//-//}"
114+
echo "slashed_group=$slashed_group" >> "$GITHUB_OUTPUT"
137115
- name: "Cache dependencies"
138116
uses: julia-actions/cache@v2
139117
with:
140-
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)) }}
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)) }}
141119
- name: "Run integration test"
142-
env:
143-
TEST_GROUP: integration/${{ matrix.group }}
144120
run: |
121+
TEST_GROUP="integration/${{ matrix.group }}"
122+
export TEST_GROUP="${TEST_GROUP//-//}"
145123
julia --color=yes -e 'import Pkg; Pkg.add("Coverage")'
146124
julia --color=yes --project=. --threads=auto --check-bounds=yes --code-coverage=user -e 'import Coverage; import Pkg; Pkg.test(coverage=true)'
147125
julia --color=yes coverage.jl
148126
shell: bash
149-
- name: "Sanitize artifact group"
150-
id: sanitize_integration_artifact_group
151-
shell: bash
152-
run: |
153-
group='${{ matrix.group }}'
154-
safe_group="${group//\//-}"
155-
echo "group=$safe_group" >> "$GITHUB_OUTPUT"
156127
- name: "Upload coverage artifacts"
157128
uses: actions/upload-artifact@v4
158129
with:
159-
name: coverage-integration-${{ steps.sanitize_integration_artifact_group.outputs.group }}-${{ matrix.julia-version }}
130+
name: coverage-integration-${{ matrix.group }}-${{ matrix.julia-version }}
160131
path: lcov.info
161132
retention-days: 1
162133

0 commit comments

Comments
 (0)