Skip to content

Commit e70866f

Browse files
committed
rework some test infrastructure again
1 parent 15be6d1 commit e70866f

File tree

2 files changed

+44
-53
lines changed

2 files changed

+44
-53
lines changed

.github/workflows/CI.yml

Lines changed: 44 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,35 +23,43 @@ jobs:
2323
setup-matrix:
2424
runs-on: ubuntu-latest
2525
outputs:
26-
matrix: ${{ steps.mk.outputs.matrix }}
26+
groups: ${{ steps.mk.outputs.groups }}
27+
version: ${{ steps.mk.outputs.version }}
28+
os: ${{ steps.mk.outputs.os }}
2729
steps:
28-
- uses: actions/checkout@v4
30+
- uses: actions/checkout@v6
2931
- id: mk
3032
shell: bash
3133
run: |
3234
# Auto-discover test groups from all subdirectory names.
33-
# CUDA tests are included but skipped at runtime if no GPU is available (see runtests.jl).
3435
groups=$(find test -mindepth 1 -maxdepth 1 -type d \
3536
| xargs -I{} basename {} | sort \
3637
| jq -R -s -c '[split("\n")[] | select(length > 0)]')
3738
39+
echo "groups=${groups}" >> "$GITHUB_OUTPUT"
40+
3841
# Draft PR: only run ubuntu-latest + version=1
3942
if [[ "${{ github.event_name }}" == "pull_request" && "${{ github.event.pull_request.draft }}" == "true" ]]; then
40-
echo "matrix={\"version\":[\"1\"],\"os\":[\"ubuntu-latest\"],\"group\":${groups}}" >> "$GITHUB_OUTPUT"
43+
echo 'version=["1"]' >> "$GITHUB_OUTPUT"
44+
echo 'os=["ubuntu-latest"]' >> "$GITHUB_OUTPUT"
4145
else
42-
echo "matrix={\"version\":[\"lts\",\"1\"],\"os\":[\"ubuntu-latest\",\"macOS-latest\",\"windows-latest\"],\"group\":${groups}}" >> "$GITHUB_OUTPUT"
46+
echo 'version=["lts","1"]' >> "$GITHUB_OUTPUT"
47+
echo 'os=["ubuntu-latest","macOS-latest","windows-latest"]' >> "$GITHUB_OUTPUT"
4348
fi
4449
4550
test:
4651
name: "Tests"
4752
needs: setup-matrix
4853
strategy:
4954
fail-fast: false
50-
matrix: ${{ fromJSON(needs.setup-matrix.outputs.matrix) }}
55+
matrix:
56+
version: ${{ fromJSON(needs.setup-matrix.outputs.version) }}
57+
os: ${{ fromJSON(needs.setup-matrix.outputs.os) }}
58+
group: ${{ fromJSON(needs.setup-matrix.outputs.groups) }}
5159
runs-on: ${{ matrix.os }}
5260
timeout-minutes: 120
5361
steps:
54-
- uses: actions/checkout@v4
62+
- uses: actions/checkout@v6
5563
- uses: julia-actions/setup-julia@v2
5664
with:
5765
version: ${{ matrix.version }}
@@ -60,6 +68,8 @@ jobs:
6068
- uses: julia-actions/julia-runtest@v1
6169
with:
6270
test_args: '${{ matrix.group }}${{ github.event.pull_request.draft == true && '' --fast'' || '''' }}'
71+
env:
72+
JULIA_NUM_THREADS: 4
6373
- uses: julia-actions/julia-processcoverage@v1
6474
with:
6575
directories: 'src,ext'
@@ -71,27 +81,22 @@ jobs:
7181

7282
test-nightly:
7383
name: "Tests (nightly)"
74-
needs: test
84+
needs: [setup-matrix, test]
7585
if: github.event.pull_request.draft != true
7686
strategy:
7787
fail-fast: false
7888
matrix:
7989
version:
8090
- 'nightly'
81-
group:
82-
- symmetries
83-
- tensors
84-
- other
85-
- mooncake
86-
- chainrules
91+
group: ${{ fromJSON(needs.setup-matrix.outputs.groups) }}
8792
os:
8893
- ubuntu-latest
8994
- macOS-latest
9095
- windows-latest
9196
runs-on: ${{ matrix.os }}
9297
timeout-minutes: 120
9398
steps:
94-
- uses: actions/checkout@v4
99+
- uses: actions/checkout@v6
95100
- uses: julia-actions/setup-julia@v2
96101
with:
97102
version: ${{ matrix.version }}
@@ -109,3 +114,27 @@ jobs:
109114
files: lcov.info
110115
token: ${{ secrets.CODECOV_TOKEN }}
111116
fail_ci_if_error: false
117+
118+
compatcheck:
119+
name: "Compat check - ${{ matrix.julia-version }}"
120+
needs: [setup-matrix, test]
121+
if: github.event.pull_request.draft != true
122+
runs-on: ubuntu-latest
123+
strategy:
124+
fail-fast: false
125+
matrix:
126+
downgrade_mode: ['deps']
127+
group: ${{ fromJSON(needs.setup-matrix.outputs.groups) }}
128+
julia-version: ['1.10', '1']
129+
steps:
130+
- uses: actions/checkout@v6
131+
- uses: julia-actions/setup-julia@v2
132+
with:
133+
version: ${{ matrix.julia-version }}
134+
- uses: julia-actions/julia-downgrade-compat@v2
135+
with:
136+
mode: ${{ matrix.downgrade_mode }}
137+
skip: Random, LinearAlgebra, Test, Combinatorics
138+
julia_version: ${{ matrix.julia-version }}
139+
- uses: julia-actions/julia-buildpkg@v1
140+
- uses: julia-actions/julia-runtest@v1

.github/workflows/CompatCheck.yml

Lines changed: 0 additions & 38 deletions
This file was deleted.

0 commit comments

Comments
 (0)