From 33586d8166f62bc6c22bc7545ba0f4a0ea5b5102 Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Sat, 4 Jan 2025 16:38:02 +0800 Subject: [PATCH 1/3] Improve CI --- .github/workflows/test.yaml | 51 +++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index a2a09364..b128fa48 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -30,9 +30,7 @@ jobs: ghc: '9.6' cabal: '3.8.1.0' steps: - - uses: actions/checkout@v3 - - - uses: haskell/ghcup-setup@v1 + - uses: actions/checkout@v4 - name: Install dependencies (Ubuntu) if: runner.os == 'Linux' @@ -40,12 +38,10 @@ jobs: sudo apt-get -y update sudo apt-get -y install libtinfo6 libncurses6 - - name: Install ghc/cabal - run: | - set -eux - ghcup install ghc --set ${{ matrix.ghc }} - ghcup install cabal ${{ matrix.cabal }} - shell: bash + - uses: haskell/ghcup-setup@v1 + with: + ghc: ${{ matrix.ghc }} + cabal: ${{ matrix.cabal }} - name: Build run: | @@ -122,6 +118,7 @@ jobs: runs-on: ${{ matrix.os }} env: MACOSX_DEPLOYMENT_TARGET: 10.13 + HOMEBREW_CHANGE_ARCH_TO_ARM: 1 strategy: fail-fast: false matrix: @@ -136,25 +133,26 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + - name: Install prerequisites + run: | + bash .github/scripts/brew.sh git coreutils llvm@13 autoconf automake + echo PATH="$HOME/.brew/bin:$HOME/.brew/sbin:$HOME/.brew/opt/llvm@13/bin:$PATH" >> "$GITHUB_ENV" + echo CC="$HOME/.brew/opt/llvm@13/bin/clang" >> "$GITHUB_ENV" + echo CXX="$HOME/.brew/opt/llvm@13/bin/clang++" >> "$GITHUB_ENV" + echo LD=ld >> "$GITHUB_ENV" + echo AR="$HOME/.brew/opt/llvm@13/bin/llvm-ar" >> "$GITHUB_ENV" + echo RANLIB="$HOME/.brew/opt/llvm@13/bin/llvm-ranlib" >> "$GITHUB_ENV" + - uses: haskell/ghcup-setup@v1 + with: + ghc: ${{ matrix.ghc }} + cabal: ${{ matrix.cabal }} - name: Run build run: | - bash .github/scripts/brew.sh git coreutils llvm@13 autoconf automake - export PATH="$HOME/.brew/bin:$HOME/.brew/sbin:$HOME/.brew/opt/llvm@13/bin:$PATH" - export CC="$HOME/.brew/opt/llvm@13/bin/clang" - export CXX="$HOME/.brew/opt/llvm@13/bin/clang++" - 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 - ghcup install ghc --set ${{ matrix.ghc }} - ghcup install cabal --set latest cabal update cabal test cabal bench - env: - HOMEBREW_CHANGE_ARCH_TO_ARM: 1 freebsd: runs-on: ${{ matrix.os }} @@ -170,14 +168,17 @@ 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 llvm14 + - uses: haskell/ghcup-setup@v1 + with: + ghc: ${{ matrix.ghc }} + cabal: ${{ matrix.cabal }} - name: Run build run: | - sudo 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 - ghcup install ghc --set ${{ matrix.ghc }} - ghcup install cabal --set recommended cabal update cabal test cabal bench From 527b0c8f9ebabb2ae47a92b1748d98015fe53497 Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Sat, 4 Jan 2025 17:13:35 +0800 Subject: [PATCH 2/3] Install latest cabal --- .github/workflows/test.yaml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index b128fa48..841e94a3 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -15,20 +15,15 @@ jobs: matrix: os: [ubuntu-latest] ghc: ['8.6', '8.8', '8.10', '9.0', '9.2', '9.4', '9.6', '9.8'] - cabal: ['3.8.1.0'] include: - os: macos-13 ghc: '9.4' - cabal: '3.8.1.0' - os: macos-13 ghc: '9.6' - cabal: '3.8.1.0' - os: windows-latest ghc: '9.4' - cabal: '3.8.1.0' - os: windows-latest ghc: '9.6' - cabal: '3.8.1.0' steps: - uses: actions/checkout@v4 @@ -41,7 +36,7 @@ jobs: - uses: haskell/ghcup-setup@v1 with: ghc: ${{ matrix.ghc }} - cabal: ${{ matrix.cabal }} + cabal: latest - name: Build run: | @@ -146,7 +141,7 @@ jobs: - uses: haskell/ghcup-setup@v1 with: ghc: ${{ matrix.ghc }} - cabal: ${{ matrix.cabal }} + cabal: latest - name: Run build run: | @@ -175,7 +170,7 @@ jobs: - uses: haskell/ghcup-setup@v1 with: ghc: ${{ matrix.ghc }} - cabal: ${{ matrix.cabal }} + cabal: latest - name: Run build run: | From acca2d7cfad38c79b88e40ce8a88e9c88d113a5a Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Sat, 4 Jan 2025 18:13:33 +0800 Subject: [PATCH 3/3] Don't bench on ARM64 darwin, it takes forever --- .github/workflows/test.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 841e94a3..14012599 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -147,7 +147,6 @@ jobs: run: | cabal update cabal test - cabal bench freebsd: runs-on: ${{ matrix.os }}