Adjust GitHub Actions workflow to support macos-14 (Arm64) runners #151
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: [push, pull_request] | |
name: build | |
jobs: | |
fp-ieee: | |
name: fp-ieee | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
ghc: ['8.6.5', '8.8.4', '8.10.7', '9.0.2', '9.2.8', '9.4', '9.6', '9.8', '9.10'] | |
os: [ubuntu-latest, macos-13, macos-14, windows-latest] | |
flags: ['', '--flags "fma3 f16c"', '--flags float128'] | |
exclude: | |
# float128-0.1 doesn't support recent GHC (should we try --allow-newer?) | |
- ghc: '9.6' | |
flags: '--flags float128' | |
- ghc: '9.8' | |
flags: '--flags float128' | |
- ghc: '9.10' | |
flags: '--flags float128' | |
- os: macos-latest | |
flags: '--flags float128' | |
- os: windows-latest | |
flags: '--flags float128' | |
# Fragile | |
- os: macos-13 | |
flags: '--flags "fma3 f16c"' | |
# macos-14 (Arm64) doesn't support older GHC | |
- os: macos-14 | |
ghc: '8.6.5' | |
- os: macos-14 | |
ghc: '8.8.4' | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: haskell-actions/setup@v2 | |
name: Setup Haskell | |
with: | |
ghc-version: ${{ matrix.ghc }} | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cabal/packages | |
~/.cabal/store | |
key: ${{ runner.os }}-${{ matrix.ghc }} | |
- name: Build | |
run: cabal build fp-ieee --ghc-options=-fno-ignore-asserts --enable-tests --enable-benchmarks ${{ matrix.flags }} | |
- name: Test | |
run: cabal test fp-ieee --ghc-options=-fno-ignore-asserts ${{ matrix.flags }} | |
if: ${{ runner.os != 'macOS' && runner.os != 'Windows' }} | |
# doctest on macOS/Windows is broken | |
- name: Test (without doctest) | |
run: cabal test fp-ieee:fp-ieee-test --ghc-options=-fno-ignore-asserts ${{ matrix.flags }} | |
if: ${{ runner.os == 'macOS' || runner.os == 'Windows' }} | |
rounded-hw: | |
name: rounded-hw | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
ghc: ['8.6.5', '8.8.4', '8.10.7', '9.0.2', '9.2.8', '9.4', '9.6', '9.8', '9.10'] | |
os: [ubuntu-latest, macos-13, macos-14, windows-latest] | |
flags: ['', '--flags x87-long-double'] | |
exclude: | |
- ghc: '9.4' | |
flags: '--flags x87-long-double' | |
- ghc: '9.6' | |
flags: '--flags x87-long-double' | |
- ghc: '9.8' | |
flags: '--flags x87-long-double' | |
- ghc: '9.10' | |
flags: '--flags x87-long-double' | |
# macos-14 (Arm64) doesn't support older GHC | |
- os: macos-14 | |
ghc: '8.6.5' | |
- os: macos-14 | |
ghc: '8.8.4' | |
# macos-14 (Arm64) doesn't support x87-long-double | |
- os: macos-14 | |
flags: '--flags x87-long-double' | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: haskell-actions/setup@v2 | |
name: Setup Haskell | |
with: | |
ghc-version: ${{ matrix.ghc }} | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cabal/packages | |
~/.cabal/store | |
key: ${{ runner.os }}-${{ matrix.ghc }} | |
- name: Build | |
run: cabal build rounded-hw --ghc-options=-fno-ignore-asserts --enable-tests --enable-benchmarks ${{ matrix.flags }} | |
- name: Test | |
run: cabal test rounded-hw --ghc-options=-fno-ignore-asserts ${{ matrix.flags }} |