diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index a79ee10..7dea9a4 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -5,8 +5,6 @@ on: branches: [ master ] pull_request: branches: [ master ] - schedule: - - cron: '0 2 * * *' jobs: build: @@ -18,9 +16,9 @@ jobs: os: [ubuntu-latest] ghc: ['8.8', '8.10', '9.0', '9.2', '9.4', '9.6', '9.8', '9.10'] include: - - os: macOS-12 + - os: macOS-13 ghc: '9.4' - - os: macOS-12 + - os: macOS-13 ghc: '9.6' - os: windows-latest ghc: '8.10' @@ -37,13 +35,16 @@ jobs: if: runner.os == 'Linux' run: | sudo apt-get -y update - sudo apt-get -y install libtinfo5 libtinfo6 libncurses5 libncurses6 + sudo apt-get -y install libtinfo6 libncurses6 + + - name: Install GHCup + uses: haskell/ghcup-setup@v1 - name: Install ghc/cabal run: | set -eux ghcup install ghc --set ${{ matrix.ghc }} - ghcup install cabal ${{ matrix.cabal }} + ghcup install cabal --set latest shell: bash - name: Build @@ -59,20 +60,14 @@ jobs: i386: runs-on: ubuntu-latest - container: - image: i386/ubuntu:bionic steps: - - name: Install - run: | - apt-get update -y - apt-get install -y autoconf build-essential zlib1g-dev libgmp-dev curl libncurses5 libtinfo5 libncurses5-dev libtinfo-dev - curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_INSTALL_NO_STACK=1 sh - - uses: actions/checkout@v1 - - name: Test - run: | - . ~/.ghcup/env - cabal update - cabal test + - name: Checkout code + uses: actions/checkout@v4 + + - name: Run build (32 bit linux) + uses: docker://hasufell/i386-alpine-haskell:3.12 + with: + args: sh -c "cabal update && cabal test" # We use github.com/haskell self-hosted runners for ARM testing. # If they become unavailable in future, put ['armv7', 'aarch64'] @@ -122,6 +117,9 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + - name: Install GHCup + uses: haskell/ghcup-setup@v1 + - name: Run build run: | bash .github/scripts/brew.sh git coreutils llvm@13 autoconf automake @@ -131,8 +129,7 @@ jobs: export LD=ld export AR="$HOME/.brew/opt/llvm@13/bin/llvm-ar" export RANLIB="$HOME/.brew/opt/llvm@13/bin/llvm-ranlib" - . .github/scripts/env.sh - curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_INSTALL_NO_STACK=1 BOOTSTRAP_HASKELL_GHC_VERSION=${{ matrix.ghc }} BOOTSTRAP_HASKELL_ADJUST_BASHRC=yes sh + cabal update cabal test env: HOMEBREW_CHANGE_ARCH_TO_ARM: 1 @@ -151,10 +148,14 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + - name: Install prerequisites + run: | + sudo pkg install -y curl gcc gmp gmake ncurses perl5 libffi libiconv git bash misc/compat10x misc/compat11x misc/compat12x gmake autoconf + + - name: Install GHCup + uses: haskell/ghcup-setup@v1 + - name: Run build run: | - pkg install -y curl gcc gmp gmake ncurses perl5 libffi libiconv git bash misc/compat10x misc/compat11x misc/compat12x gmake llvm14 - . .github/scripts/env.sh - curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_INSTALL_NO_STACK=1 BOOTSTRAP_HASKELL_GHC_VERSION=${{ matrix.ghc }} BOOTSTRAP_HASKELL_ADJUST_BASHRC=yes sh + cabal update cabal test -