Skip to content

Commit 823f952

Browse files
committed
ci: reduce fanout while covering important releases
trying to do our part to conserve GitHub resources
1 parent 600622c commit 823f952

1 file changed

Lines changed: 66 additions & 29 deletions

File tree

.github/workflows/ci.yml

Lines changed: 66 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -18,26 +18,19 @@ concurrency:
1818

1919
jobs:
2020

21-
matlab-at-least-r2024a:
21+
linux-2024a-newer:
2222
timeout-minutes: 15
23-
runs-on: ${{ matrix.os }}
23+
runs-on: ubuntu-22.04
2424

2525
name: &job-name ${{ matrix.release }}-${{ matrix.os }}
2626

2727
strategy:
2828
matrix:
29-
os: [ubuntu-22.04, windows-latest, macos-latest]
30-
release: [R2024a, R2024b, R2025b]
31-
32-
# latest-including-prerelease has CI-only glitches for R2026a prerelease
29+
release: [R2024a, R2025b, R2026a]
3330

3431
# Linux:
3532
# R2022b..R2025b needs GCC 10.x and hence Github Actions runner ubuntu-22.04.
3633
# if using ubuntu-latest the java_exe tests fail.
37-
# R2021a..R2022a officially need Ubuntu 20.04, which is no longer available on Github Actions
38-
# macOS:
39-
# Matlab >= R2023b compatible with Xcode 15
40-
# Matlab >= R2024b compatible with Xcode 16
4134

4235
steps:
4336
- &matlab-install
@@ -48,11 +41,6 @@ jobs:
4841
release: ${{ matrix.release }}
4942
cache: true
5043

51-
- &mac-fc
52-
name: Fortran FC
53-
if: runner.os == 'macOS'
54-
run: echo "FC=gfortran-15" >> $GITHUB_ENV
55-
5644
- &checkout
5745
uses: actions/checkout@v6
5846

@@ -74,53 +62,102 @@ jobs:
7462
name: Main Tests
7563
uses: ./.github/workflows/composite-nomex
7664

77-
78-
matlab:
79-
needs: matlab-at-least-r2024a
80-
65+
macos-2024a-newer:
8166
timeout-minutes: 15
82-
runs-on: ${{ matrix.os }}
67+
runs-on: macos-latest
8368

8469
name: *job-name
8570

8671
strategy:
8772
matrix:
88-
# windows and macos also work, just saving CI resources
89-
os: [ubuntu-22.04]
90-
release: [R2022a, R2023b]
91-
# R2022b, R2023a, works, saving CI resources
73+
release: [R2025b, R2026a]
74+
75+
# macOS:
76+
# Matlab >= R2023b compatible with Xcode 15
77+
# Matlab >= R2024b compatible with Xcode 16
9278

9379
steps:
9480
- *matlab-install
95-
- *mac-fc
81+
82+
- &mac-fc
83+
name: Fortran FC
84+
if: runner.os == 'macOS'
85+
run: echo "FC=gfortran-15" >> $GITHUB_ENV
9686

9787
- *checkout
88+
9889
- *tell-ext
9990

10091
- *test-main
10192

10293

103-
matlab-less-than-R2022a:
104-
needs: matlab-at-least-r2024a
94+
windows-2024a-newer:
95+
timeout-minutes: 15
96+
runs-on: windows-latest
10597

10698
name: *job-name
10799

100+
strategy:
101+
matrix:
102+
release: [R2025b, R2026a]
103+
104+
steps:
105+
- *matlab-install
106+
107+
- *checkout
108+
109+
- *tell-ext
110+
111+
- *test-main
112+
113+
114+
matlab-2022a-2023b:
115+
needs: linux-2024a-newer
116+
108117
timeout-minutes: 15
109118
runs-on: ${{ matrix.os }}
110119

120+
name: *job-name
121+
111122
strategy:
112123
matrix:
124+
# windows and macos also work, just saving CI resources
113125
os: [ubuntu-22.04]
114-
release: [R2021a]
115-
# , R2021b works, saving CI resources
126+
release: [R2023b]
127+
# R2022a, R2022b, R2023a, R2023b works, saving CI resources
116128

117129
steps:
118130
- *matlab-install
131+
- *mac-fc
132+
119133
- *checkout
120134
- *tell-ext
121135

122136
- *test-main
123137

138+
# just saving CI resources
139+
# matlab-older-R2022a:
140+
# R2021a..R2022a officially need Ubuntu 20.04, which is no longer available on Github Actions
141+
# needs: linux-2024a-newer
142+
143+
# name: *job-name
144+
145+
# timeout-minutes: 15
146+
# runs-on: ${{ matrix.os }}
147+
148+
# strategy:
149+
# matrix:
150+
# os: [ubuntu-22.04]
151+
# release: [R2021a]
152+
# # , R2021b works, saving CI resources
153+
154+
# steps:
155+
# - *matlab-install
156+
# - *checkout
157+
# - *tell-ext
158+
159+
# - *test-main
160+
124161
# just saving CI resources
125162
# matlab-nojvm:
126163
# needs: matlab-at-least-r2024a

0 commit comments

Comments
 (0)