mirror of
https://github.com/open-simh/simh.git
synced 2026-01-16 00:15:00 +00:00
- Fix comma separator code segmentation fault: "ndigit - 3" can become a very large unsigned number for ndigit < 3. - dir_cmd: Allocate WildName from heap to reduce stack pressure. - Github CI/CD: Remnant symlink issue reappeared, afflicting the makefile-based build. For better or worse, the workaround is now dependent on specific Python versions that must be removed, unlinked and any remnant symlinks that HomeBrew decided it needed to install in /usr/local/bin. The Python upgrade is triggered by the sdl2_ttf package. According to the Github image maintainers, this is an old, known issue in macOS images that originates inside of Homebrew.
64 lines
2.4 KiB
YAML
64 lines
2.4 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:
|
|
matrix:
|
|
## macos-10.15: Runner seems to be officially disabled, results in canceled
|
|
## builds. Leaving this "as-is".
|
|
##
|
|
os: [macos-12, ubuntu-20.04]
|
|
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@v3
|
|
## 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
|