Fix emulated jobs + use ghcup on FreeBSD #382
Workflow file for this run
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
name: arm | |
on: | |
- push | |
- pull_request | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
# We use github.com/haskell self-hosted runners for ARM testing. | |
# If they become unavailable in future, put ['armv7', 'aarch64'] | |
# back to emulated.yml. | |
arm: | |
runs-on: [self-hosted, Linux, ARM64] | |
strategy: | |
fail-fast: true | |
matrix: | |
arch: [arm32v7, arm64v8] | |
steps: | |
- uses: docker://hasufell/arm64v8-ubuntu-haskell:focal | |
name: Cleanup | |
with: | |
args: "find . -mindepth 1 -maxdepth 1 -exec rm -rf -- {} +" | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
# GHC 9.2.2 is the last version available on arm32v7 at the moment. | |
# Check https://github.com/haskell/ghcup-metadata/blob/develop/ghcup-0.0.7.yaml | |
# and look for "A_ARM:" bindists. | |
- if: matrix.arch == 'arm32v7' | |
uses: docker://hasufell/arm32v7-ubuntu-haskell:focal | |
name: Run build (arm32v7 linux) | |
with: | |
args: sh -c "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=9.2.2 sh && cabal update && cabal test -w ~/.ghcup/bin/ghc" | |
- if: matrix.arch == 'arm64v8' | |
uses: docker://hasufell/arm64v8-ubuntu-haskell:focal | |
name: Run build (arm64v8 linux) | |
with: | |
args: sh -c "curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_INSTALL_NO_STACK=1 sh && cabal update && cabal test -w ~/.ghcup/bin/ghc" |