@@ -19,29 +19,19 @@ concurrency:
1919
2020jobs :
2121
22- matlab :
22+ matlab-at-least-r2024a :
2323 timeout-minutes : 15
2424 runs-on : ${{ matrix.os }}
2525
26+ name : ${{ matrix.release }}-${{ matrix.os }}
27+
2628 strategy :
2729 matrix :
28- os : [ubuntu-22.04, windows-2022]
29- release : [R2022a, R2022b, R2023a, R2023b, R2024a, R2024b, R2025a]
30+ os : [ubuntu-22.04, windows-2022, macos-latest ]
31+ release : [R2024a, R2024b, R2025a]
3032# on Linux, even R2025a needs GCC 10.x and hence Github Actions runner ubuntu-22.04.
31- # R2021a...R2022a officially need Ubuntu 20.04,
32- # which is no longer available on Github Actions
33- include :
34- - os : macos-latest
35- release : R2025a
36- - os : macos-latest
37- release : R2024b
38- - os : macos-latest
39- release : R2024a
40- - os : macos-latest
41- release : R2023b
42- # macOS R2023b to be compatible with Xcode version on Github Actions runner
43-
44-
33+ # R2021a...R2022a officially need Ubuntu 20.04, which is no longer available on Github Actions
34+ # macOS >= R2023b to be compatible with Xcode version on Github Actions runner
4535
4636 steps :
4737 - uses : actions/checkout@v4
@@ -79,17 +69,57 @@ jobs:
7969 tasks : test_exe
8070
8171
82- matlab-older-than-R2022a :
72+ matlab :
73+ needs : matlab-at-least-r2024a
8374 timeout-minutes : 15
8475 runs-on : ${{ matrix.os }}
8576
77+ name : ${{ matrix.release }}-${{ matrix.os }}
78+
8679 strategy :
8780 matrix :
8881 os : [ubuntu-22.04]
89- release : [R2021a, R2021b]
82+ release : [R2022a, R2022b, R2023a, R2023b]
83+
84+ steps :
85+ - uses : actions/checkout@v4
86+
87+ - uses : ./.github/workflows/composite-install-matlab
88+
89+ - name : Fortran FC
90+ if : runner.os == 'macOS'
91+ run : echo "FC=gfortran-14" >> $GITHUB_ENV
92+
93+ - name : Matlab tell External Language Interface versions
94+ uses : matlab-actions/run-command@v2
95+ with :
96+ command : stdlib.platform_tell()
97+
98+ - name : Non-MEX tests
99+ uses : ./.github/workflows/composite-nomex
100+
101+ - name : Exe Test (legacy)
102+ if : ${{ matrix.release >= 'R2023a' && matrix.release < 'R2024b' }}
103+ uses : matlab-actions/run-build@v2
104+ with :
105+ startup-options : -logfile ${{ matrix.release }}-${{ runner.os }}-test.log
106+ tasks : test_exe
107+
108+
109+
110+ matlab-less-than-R2022a :
111+ needs : matlab-at-least-r2024a
90112
91113 name : ${{ matrix.release }}-${{ matrix.os }}
92114
115+ timeout-minutes : 15
116+ runs-on : ${{ matrix.os }}
117+
118+ strategy :
119+ matrix :
120+ os : [ubuntu-22.04]
121+ release : [R2021a, R2021b]
122+
93123 steps :
94124 - uses : actions/checkout@v4
95125
0 commit comments