Skip to content

Commit

Permalink
Github CI/CD: checkout@v4, macos matrix updates
Browse files Browse the repository at this point in the history
- Per Github messages, upgrade checkout@v3 to checkout@v4 due to an
  upgrade to Node.js.

- macos-11 is now a defunct image runner. Homebrew packages either have
  to compile from source or no longer install correctly.

- Update the macos compile matrix. Set CPACK_SUFFIX environment variable
  to indicate macOS hardware platform: macos-14 is M1, whereas macos-12
  and macos-13 are x86_64.
  • Loading branch information
bscottm committed Apr 7, 2024
1 parent 7c02af4 commit a0aa035
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 26 deletions.
8 changes: 3 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,8 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
## macos-10.15: Runner seems to be officially disabled, results in canceled
## builds. Leaving this "as-is".
##
os: [macos-12, ubuntu-20.04]
os: [macos-latest, ubuntu-latest]

simulators:
# These are supposed to match ALL in makefile.
# Each job builds ~15 simulators.
Expand All @@ -34,7 +32,7 @@ jobs:
- besm6 imlac tt2500 microvax3900 microvax1 rtvax1000 vaxstation3100m76 vaxstation4000m60
- scelbi 3b2 i701 i704 i7010 i7070 i7080 i7090 sigma uc15 i650 sel32 intel-mds ibm1130
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
## Workaround for remnant symlinks in /usr/local pointing back to
## macOS frameworks.
##
Expand Down
55 changes: 34 additions & 21 deletions .github/workflows/cmake-builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
matrix:
os: [ubuntu-20.04, ubuntu-22.04]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sh -ex .travis/deps.sh linux
Expand All @@ -32,20 +32,25 @@ jobs:
cd cmake/build-ninja
cpack -G DEB -C Release
- name: Upload DEB
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: simh-4.1.0-x86_64-${{matrix.os}}.deb
path: cmake/build-ninja/simh-4.1.0-x86_64-${{matrix.os}}.deb


cmake-macOS:
name: macOS
name: macOS 12+
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-12, macos-11]
os: [macos-12, macos-13, macos-14]

env:
CPACK_SUFFIX: ${{matrix.os != 'macos-14' && 'x86_64' || 'm1'}}.${{matrix.os}}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

## Workaround for remnant symlinks in /usr/local pointing back to
## macOS frameworks.
##
Expand All @@ -60,41 +65,49 @@ jobs:
for f in $(find /usr/local/bin -type l -print); do \
(readlink $f | grep -q -s "/Library") && echo Removing "$f" && rm -f "$f"; \
done || exit 0
- name: Install dependencies
run: sh -ex .travis/deps.sh osx

- name: cmake-builder.sh
run: |
cmake/cmake-builder.sh --config Release --flavor xcode --notest --cpack_suffix x86_64.${{matrix.os}}
cmake/cmake-builder.sh --config Release --flavor xcode --notest --cpack_suffix ${{env.CPACK_SUFFIX}}
- name: SIMH simulator suite test
run: |
cmake/cmake-builder.sh --config Release --flavor xcode --testonly
## Install isn't strictly necessary, but it's a good way to see what dependencies
## (IMPORTED_RUNTIME_ARTIFACTS) get installed.

- name: Install
run: |
cmake/cmake-builder.sh --config Release --flavor xcode --installonly
- name: SIMH packaging
run: |
cd cmake/build-xcode
cpack -G "ZIP;TGZ" -C Release
cpack -G DragNDrop -C Release
- name: Upload ZIP
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: simh-4.1.0-x86_64.${{matrix.os}}.zip
path: cmake/build-xcode/simh-4.1.0-x86_64.${{matrix.os}}.zip
name: simh-4.1.0-${{env.CPACK_SUFFIX}}.zip
path: cmake/build-xcode/simh-4.1.0-${{env.CPACK_SUFFIX}}.zip

- name: Upload DMG
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: simh-4.1.0-x86_64.${{matrix.os}}.dmg
path: cmake/build-xcode/simh-4.1.0-x86_64.${{matrix.os}}.dmg
name: simh-4.1.0-${{env.CPACK_SUFFIX}}.dmg
path: cmake/build-xcode/simh-4.1.0-${{env.CPACK_SUFFIX}}.dmg


cmake-vs2022xp:
name: VS 2022 XP-compatible LEGACY
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install v141_xp (XP toolkit) and build SIMH
shell: pwsh
run: |
Expand Down Expand Up @@ -148,21 +161,21 @@ jobs:
cd cmake\build-vs2022-xp
cpack -G "ZIP;WIX" -C Release
- name: Upload ZIP
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: simh-4.1.0-win32-vs2022xp.zip
path: cmake/build-vs2022-xp/simh-4.1.0-win32-xp.zip
- name: Upload MSI
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: simh-4.1.0-win32-vs2022xp.zip
path: cmake/build-vs2022-xp/simh-4.1.0-win32-xp.msi
name: simh-4.1.0-win32-vs2022xp.msi
path: cmake/build-vs2022-xp/simh-4.1.0-win32-xp.msi

cmake-vs2022:
name: VS 2022 Win10 native VCPKG
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: vs2022 build
shell: pwsh
run: |
Expand Down Expand Up @@ -195,17 +208,17 @@ jobs:
cd cmake\build-vs2022
cpack -G "NSIS;WIX;ZIP" -C Release
- name: Upload ZIP
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: simh-4.1.0-win32-vs2022.zip
path: cmake/build-vs2022/simh-4.1.0-win32-native.zip
- name: Upload EXE installer
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: simh-4.1.0-win32-vs2022.exe
path: cmake/build-vs2022/simh-4.1.0-win32-native.exe
- name: Upload MSI installer
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: simh-4.1.0-win32-vs2022.msi
path: cmake/build-vs2022/simh-4.1.0-win32-native.msi

0 comments on commit a0aa035

Please sign in to comment.