@@ -28,7 +28,28 @@ concurrency:
2828 cancel-in-progress : ${{ startsWith(github.ref, 'refs/pull/') }}
2929
3030jobs :
31+ generate-packages-list :
32+ name : Generate list of packages for integration tests
33+ runs-on : ubuntu-latest
34+ outputs :
35+ matrix : ${{ steps.set-matrix.outputs.matrix }}
36+ steps :
37+ - uses : actions/checkout@v5
38+ - name : Set packages
39+ id : set-packages
40+ run : |
41+ set -e
42+ shopt -s globstar
43+ # Find all test files and generate their list in JSON format
44+ PACKAGES='packages=['
45+ for pkg in test/integration/*; do
46+ PACKAGES="${PACKAGES}\"$(basename ${pkg})\","
47+ done
48+ PACKAGES="${PACKAGES}]"
49+ echo "${PACKAGES}" | tee "${GITHUB_OUTPUT}"
50+
3151 integration :
52+ needs : generate-packages-list
3253 timeout-minutes : 45
3354 name : Integration Tests - ${{ matrix.package }} - Julia ${{ matrix.version }}
3455 runs-on : ${{ matrix.os }}
@@ -39,41 +60,35 @@ jobs:
3960 strategy :
4061 fail-fast : false
4162 matrix :
63+ package : ${{ fromJson(needs.generate-packages-list.outputs.set-packages) }}
4264 version :
4365 - ' 1.10'
4466 - ' 1.11'
4567 os :
4668 - linux-x86-n2-32
47- package :
48- - Bijectors
49- - DifferentiationInterface
50- - Distributions
51- - DynamicExpressions
52- - Lux
53- - SciML
54- - KernelAbstractions
55- - Molly
56- - MPI
5769 exclude :
5870 - version : ' 1.10'
5971 os : linux-x86-n2-32
6072 package : Molly
6173 steps :
62- - uses : actions/checkout@v5
63- - uses : julia-actions/setup-julia@v2
64- with :
65- version : ${{ matrix.version }}
66- - uses : julia-actions/cache@v2
67- - name : " Install Dependencies"
68- run : |
69- julia --color=yes --project=test/integration/${{ matrix.package }} --threads=auto --check-bounds=yes -O1 -e 'using Pkg; Pkg.develop([PackageSpec(; path) for path in (".", "lib/EnzymeCore")])'
70- shell : bash
71- if : ${{ matrix.version == '1.10' }}
72- - name : " Instantiate"
73- run : |
74- julia --color=yes --project=test/integration/${{ matrix.package }} --threads=auto --check-bounds=yes -O1 -e 'using Pkg; Pkg.instantiate()'
75- shell : bash
76- - name : " Run tests"
77- run : |
78- julia --color=yes --project=test/integration/${{ matrix.package }} --threads=auto --check-bounds=yes -O1 test/integration/${{ matrix.package }}/runtests.jl
79- shell : bash
74+ - run : |
75+ echo "Hello from ${{ matrix.package }} in Julia ${{ matrix.version }}"
76+
77+ # - uses: actions/checkout@v5
78+ # - uses: julia-actions/setup-julia@v2
79+ # with:
80+ # version: ${{ matrix.version }}
81+ # - uses: julia-actions/cache@v2
82+ # - name: "Install Dependencies"
83+ # run: |
84+ # julia --color=yes --project=test/integration/${{ matrix.package }} --threads=auto --check-bounds=yes -O1 -e 'using Pkg; Pkg.develop([PackageSpec(; path) for path in (".", "lib/EnzymeCore")])'
85+ # shell: bash
86+ # if: ${{ matrix.version == '1.10' }}
87+ # - name: "Instantiate"
88+ # run: |
89+ # julia --color=yes --project=test/integration/${{ matrix.package }} --threads=auto --check-bounds=yes -O1 -e 'using Pkg; Pkg.instantiate()'
90+ # shell: bash
91+ # - name: "Run tests"
92+ # run: |
93+ # julia --color=yes --project=test/integration/${{ matrix.package }} --threads=auto --check-bounds=yes -O1 test/integration/${{ matrix.package }}/runtests.jl
94+ # shell: bash
0 commit comments