Skip to content

Commit 3918646

Browse files
committed
ci: control fanout
1 parent 68f8a90 commit 3918646

File tree

2 files changed

+51
-19
lines changed

2 files changed

+51
-19
lines changed

.github/workflows/ci-nojvm.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ jobs:
2424
timeout-minutes: 15
2525
runs-on: ${{ matrix.os }}
2626

27+
name: ${{ matrix.release }}-${{ matrix.os }}
28+
2729
strategy:
2830
matrix:
2931
os: [ubuntu-22.04, macos-latest, windows-latest]

.github/workflows/ci.yml

Lines changed: 49 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,29 +19,19 @@ concurrency:
1919

2020
jobs:
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

Comments
 (0)