mirror of
https://github.com/open-simh/simh.git
synced 2026-01-16 08:25:44 +00:00
- 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. - Added notes with respect to the matrix.strategy runner images. The makefile builds use "-latest" because they don't produce artifacts, while (*) the CMake builds enumerate the images for which artifacts (+) are produced and the runner image's name is part of the artifact. (*) "Whilst" for the rest of the Anglosphere. (+) "Artefact" for the rest of the Anglosphere.
69 lines
2.5 KiB
YAML
69 lines
2.5 KiB
YAML
name: Build
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- '*'
|
|
tags:
|
|
- '!v*'
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
jobs:
|
|
cmake-builds:
|
|
uses: ./.github/workflows/cmake-builds.yml
|
|
|
|
makefile:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
#-
|
|
# The makefile builds DO NOT produce artifacts (*). Using the "-latest"
|
|
# runner images is sufficient.
|
|
#
|
|
# (*) "artefact" for the rest of the Anglosphere
|
|
#-
|
|
|
|
matrix:
|
|
os: [macos-latest, ubuntu-latest]
|
|
|
|
simulators:
|
|
# These are supposed to match ALL in makefile.
|
|
# Each job builds ~15 simulators.
|
|
- pdp1 pdp4 pdp6 pdp7 pdp8 pdp9 pdp10 pdp10-ka pdp10-ki pdp10-kl pdp10-ks pdp11 pdp15 vax
|
|
- microvax2 vax730 vax750 vax780 vax8200 vax8600 microvax2000 infoserver100 infoserver150vxt microvax3100 microvax3100e vaxstation3100m30 vaxstation3100m38
|
|
- microvax3100m80 vaxstation4000vlc infoserver1000 nova eclipse hp2100 hp3000 i1401 i1620 s3 altair altairz80 gri i7094
|
|
- id16 id32 sds lgp h316 cdc1700 swtp6800mp-a swtp6800mp-a2 tx-0 ssem b5500 sage pdq3 alpha
|
|
- 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@v4
|
|
## Workaround for remnant symlinks in /usr/local pointing back to
|
|
## macOS frameworks.
|
|
##
|
|
## Future: Will have to keep an eye on SDL_ttf's Python dependency
|
|
## so that the correct/appropriate Python version is removed.
|
|
- name: Remnant symlink cleanup (macOS)
|
|
if: ${{runner.os == 'macOS'}}
|
|
run: |
|
|
brew unlink python@3 || true
|
|
brew uninstall --ignore-dependencies python@3 || true
|
|
brew unlink python@3.12 || true
|
|
brew uninstall --ignore-dependencies python@3.12 || true
|
|
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
|
|
## Install our regular dependencies.
|
|
- name: Install dependencies (macOS)
|
|
if: ${{runner.os == 'macOS'}}
|
|
run: sh -ex .travis/deps.sh osx
|
|
- name: Install dependencies (Linux)
|
|
if: ${{runner.os == 'Linux'}}
|
|
run: sh -ex .travis/deps.sh linux
|
|
- name: makefile build
|
|
env:
|
|
SIM: ${{matrix.simulators}}
|
|
run: make LTO=1 OPTIMIZE=-O3 $SIM
|