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 linc 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 ## Nuke homebrew and start with a clean instance: - name: Reinstall HomeBrew (macOS) if: ${{runner.os == 'macOS'}} run: | /usr/bin/sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)" [ -d /opt/homebrew ] && ( sudo rm -rf /opt/homebrew/* || true ) [ -d /usr/local ] && ( sudo rm -rf /usr/local/* || true ) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" ## 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