diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index c7d25825..00000000 --- a/.drone.yml +++ /dev/null @@ -1,30 +0,0 @@ -kind: pipeline -name: arm64 -platform: { os: linux, arch: arm64 } -steps: -- name: Test - image: buildpack-deps:focal - commands: - - export LC_ALL=C.UTF-8 - - apt-get update -y - - apt-get install -y ghc cabal-install - - ghc --version - - cabal --version - - cabal new-update - - cabal new-test random:spec random:legacy-test random:spec-inspection ---- -kind: pipeline -name: i386 -platform: { os: linux, arch: amd64 } -steps: -- name: Test - image: i386/ubuntu - commands: - - export LC_ALL=C.UTF-8 - - apt-get update -y - - apt-get install -y ghc cabal-install - - ghc --version - - cabal --version - - cabal update - - cabal install --dependencies-only --enable-tests - - cabal test diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index dbb66026..9d6312a9 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -199,3 +199,48 @@ jobs: else stack $STACK_ARGS test --bench --no-run-benchmarks --haddock --no-haddock-deps fi + + 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: | + source ~/.ghcup/env + cabal update + cabal test + + # We use github.com/haskell self-hosted runners for ARM testing. + 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@v3 + + - if: matrix.arch == 'arm32v7' + uses: docker://hasufell/arm32v7-ubuntu-haskell:focal + name: Run build (arm32v7 linux) + with: + args: sh -c "cabal update && cabal test" + + - if: matrix.arch == 'arm64v8' + uses: docker://hasufell/arm64v8-ubuntu-haskell:focal + name: Run build (arm64v8 linux) + with: + args: sh -c "cabal update && cabal test"