17
17
# (*) "artefact" for the rest of the Anglosphere
18
18
# -
19
19
matrix :
20
- os : [ubuntu-20.04, ubuntu- 22.04, ubuntu-latest]
20
+ os : [ubuntu-22.04, ubuntu-latest]
21
21
steps :
22
22
- uses : actions/checkout@v4
23
23
- name : Install dependencies
47
47
48
48
49
49
cmake-macOS :
50
- name : macOS 12+
50
+ name : macOS
51
51
runs-on : ${{ matrix.os }}
52
52
strategy :
53
53
# -
@@ -57,35 +57,28 @@ jobs:
57
57
# that the build produces.
58
58
#
59
59
# (*) "artefact" for the rest of the Anglosphere -
60
+ #
61
+ # As of 18 NOV 2024, Github deprecated macos-12.
60
62
matrix :
61
- os : [macos-12 , macos-13 , macos-latest]
63
+ os : [macos-13 , macos-14 , macos-latest]
62
64
63
65
env :
64
66
CPACK_SUFFIX : ${{matrix.os != 'macos-14' && 'x86_64' || 'm1'}}.${{matrix.os}}
65
67
66
68
steps :
67
69
- uses : actions/checkout@v4
68
70
69
- # # Workaround for remnant symlinks in /usr/local pointing back to
70
- # # macOS frameworks.
71
- # #
72
- # # Future: Will have to keep an eye on SDL_ttf's Python dependency
73
- # # so that the correct/appropriate Python version is removed.
74
- # #
75
- # # Redirect stderr to /dev/null so that GH doesn't emit useless failure
76
- # # messages.
77
- - name : Remnant symlink cleanup
78
- run : |
79
- brew unlink python@3 2> /dev/null || true
80
- brew uninstall --ignore-dependencies python@3 2> /dev/null || true
81
- brew unlink [email protected] 2> /dev/null || true
82
- brew uninstall --ignore-dependencies [email protected] 2> /dev/null || true
83
- for f in $(find /usr/local/bin -type l -print); do \
84
- (readlink $f | grep -q -s "/Library") && echo Removing "$f" && rm -f "$f"; \
85
- done || exit 0
71
+ # # Nuke homebrew and start with a clean instance.
72
+ - name : Reinstall HomeBrew (macOS)
73
+ run : |
74
+ /usr/bin/sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"
75
+ [ -d /opt/homebrew ] && ( sudo rm -rf /opt/homebrew/* || true )
76
+ [ -d /usr/local ] && ( sudo rm -rf /usr/local/* || true )
77
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
86
78
87
79
- name : Install dependencies
88
- run : sh -ex .travis/deps.sh osx
80
+ run : |
81
+ sh -ex .travis/deps.sh osx
89
82
90
83
- name : cmake-builder.sh
91
84
run : |
@@ -192,6 +185,17 @@ jobs:
192
185
cmake-vs2022 :
193
186
name : VS 2022 Win10 native VCPKG
194
187
runs-on : windows-latest
188
+ strategy :
189
+ # -
190
+ # The CMake builds produce artifacts (*) and the runner image's name is
191
+ # used in the artifact's name, simh-4.1.0-x86_64-ubuntu-20.04.deb.
192
+ # Consequently, each runner image is enumerated for each artifact (*)
193
+ # that the build produces.
194
+ #
195
+ # (*) "artefact" for the rest of the Anglosphere
196
+ # -
197
+ matrix :
198
+ build : [vs2022]
195
199
steps :
196
200
- uses : actions/checkout@v4
197
201
- name : vs2022 build
@@ -209,34 +213,36 @@ jobs:
209
213
Push-Location $env:VCPKG_ROOT
210
214
git pull
211
215
Pop-Location
212
- ./cmake/cmake-builder.ps1 -flavor vs2022 -config Release -clean -lto -verbose -notest -cpack_suffix win32-native
216
+ ./cmake/cmake-builder.ps1 -flavor ${{matrix.build}} -config Release -clean -lto -verbose `
217
+ -notest `
218
+ -cpack_suffix ${{matrix.build}}
213
219
- name : SIMH simulator suite test
214
220
shell : pwsh
215
221
run : |
216
- ./cmake/cmake-builder.ps1 -flavor vs2022 -config Release -testOnly
222
+ ./cmake/cmake-builder.ps1 -flavor ${{matrix.build}} -config Release -testOnly
217
223
# # Install isn't strictly necessary, but it's a good way to see what dependencies
218
224
# # (IMPORTED_RUNTIME_ARTIFACTS) get installed.
219
225
- name : Install
220
226
shell : pwsh
221
227
run : |
222
- cmake/cmake-builder.ps1 -config Release -flavor vs2022 -installOnly
228
+ cmake/cmake-builder.ps1 -config Release -flavor ${{matrix.build}} -installOnly
223
229
- name : SIMH packaging
224
230
shell : pwsh
225
231
run : |
226
- cd cmake\build-vs2022
232
+ cd cmake\build-${{matrix.build}}
227
233
cpack -G "NSIS;WIX;ZIP" -C Release
228
234
- name : Upload ZIP
229
235
uses : actions/upload-artifact@v4
230
236
with :
231
- name : simh-4.1.0-win32-vs2022 .zip
232
- path : cmake/build-vs2022 /simh-4.1.0-win32-native .zip
237
+ name : simh-4.1.0-${{matrix.build}} .zip
238
+ path : cmake/build-${{matrix.build}} /simh-4.1.0-${{matrix.build}} .zip
233
239
- name : Upload EXE installer
234
240
uses : actions/upload-artifact@v4
235
241
with :
236
- name : simh-4.1.0-win32-vs2022 .exe
237
- path : cmake/build-vs2022 /simh-4.1.0-win32-native .exe
242
+ name : simh-4.1.0-${{matrix.build}} .exe
243
+ path : cmake/build-${{matrix.build}} /simh-4.1.0-${{matrix.build}} .exe
238
244
- name : Upload MSI installer
239
245
uses : actions/upload-artifact@v4
240
246
with :
241
- name : simh-4.1.0-win32-vs2022 .msi
242
- path : cmake/build-vs2022 /simh-4.1.0-win32-native .msi
247
+ name : simh-4.1.0-${{matrix.build}} .msi
248
+ path : cmake/build-${{matrix.build}} /simh-4.1.0-${{matrix.build}} .msi
0 commit comments