From 8164cff29b0c81912f1a96020362cae5d2e47a67 Mon Sep 17 00:00:00 2001 From: Sergey Vinokurov Date: Sun, 15 Dec 2024 19:40:54 +0000 Subject: [PATCH] Replace i386 with emulated arm. The i386 is too unstable and could go away soon anyway --- .github/workflows/haskell-ci.yaml | 74 +++++++------------------------ 1 file changed, 17 insertions(+), 57 deletions(-) diff --git a/.github/workflows/haskell-ci.yaml b/.github/workflows/haskell-ci.yaml index 767db76..976953b 100644 --- a/.github/workflows/haskell-ci.yaml +++ b/.github/workflows/haskell-ci.yaml @@ -86,65 +86,25 @@ jobs: cd ../vector-quicksort-*/ cabal check - i386: + emulated: runs-on: ubuntu-latest - container: - image: i386/ubuntu:bionic - strategy: fail-fast: false matrix: - os: [ubuntu-latest] - ghc: - - "9.2" - - "9.4" - - "9.6" - + arch: ['armv7', 'aarch64'] 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_MINIMAL=1 sh - - source ~/.ghcup/env - ghcup install ghc --set ${{ matrix.ghc }} - ghcup install cabal latest - - # This version must stay old enough to remain compatible with the container image. - - uses: actions/checkout@v1 - - - name: Cabal update - run: | - source ~/.ghcup/env - cabal --version - - - name: Unpack - run: | - source ~/.ghcup/env - cabal update - - cabal sdist --ignore-project --output-directory .. - cd .. - cabal get vector-quicksort-*.tar.gz - - - name: Build - run: | - source ~/.ghcup/env - - project_file="$(pwd)/cabal.project.test" - cd ../vector-quicksort-*/ - cabal build --project-file "$project_file" --enable-tests --enable-benchmarks all - - - name: Test - run: | - export LANG="C.UTF-8" - source ~/.ghcup/env - - project_file="$(pwd)/cabal.project.test" - cd ../vector-quicksort-*/ - - cabal run --project-file "$project_file" test -- --quickcheck-tests=10000 --quickcheck-max-size=256 - - cabal bench --project-file "$project_file" --benchmark-options='--stdev 100 --timeout 600' all + - uses: actions/checkout@v4 + - uses: uraimo/run-on-arch-action@v2 + timeout-minutes: 60 + with: + arch: ${{ matrix.arch }} + distro: ubuntu_rolling + githubToken: ${{ github.token }} + install: | + apt-get update -y + apt-get install -y curl ghc cabal-install libghc-tasty-quickcheck-dev libghc-tasty-hunit-dev + run: | + project_file="$(pwd)/cabal.project.test" + cabal build --project-file "$project_file" --enable-tests --enable-benchmarks all + cabal run --project-file "$project_file" test -- --quickcheck-tests=10000 --quickcheck-max-size=256 + cabal run --project-file "$project_file" bench -- --stdev 100 --timeout 600