88#
99# For more information, see https://github.com/haskell-CI/haskell-ci
1010#
11- # version: 0.19.20240708
11+ # version: 0.19.20250330
1212#
13- # REGENDATA ("0.19.20240708 ",["github","ekg.cabal"])
13+ # REGENDATA ("0.19.20250330 ",["github","ekg.cabal"])
1414#
1515name : Haskell-CI
1616on :
1919jobs :
2020 linux :
2121 name : Haskell-CI - Linux - ${{ matrix.compiler }}
22- runs-on : ubuntu-20 .04
22+ runs-on : ubuntu-24 .04
2323 timeout-minutes :
2424 60
2525 container :
2828 strategy :
2929 matrix :
3030 include :
31+ - compiler : ghc-9.12.2
32+ compilerKind : ghc
33+ compilerVersion : 9.12.2
34+ setup-method : ghcup
35+ allow-failure : false
3136 - compiler : ghc-9.10.1
3237 compilerKind : ghc
3338 compilerVersion : 9.10.1
@@ -95,15 +100,29 @@ jobs:
95100 allow-failure : false
96101 fail-fast : false
97102 steps :
98- - name : apt
103+ - name : apt-get install
99104 run : |
100105 apt-get update
101106 apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 libnuma-dev
107+ - name : Install GHCup
108+ run : |
102109 mkdir -p "$HOME/.ghcup/bin"
103- curl -sL https://downloads.haskell.org/ghcup/0.1.30.0 /x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
110+ curl -sL https://downloads.haskell.org/ghcup/0.1.50.1 /x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup"
104111 chmod a+x "$HOME/.ghcup/bin/ghcup"
112+ - name : Install cabal-install
113+ run : |
114+ "$HOME/.ghcup/bin/ghcup" install cabal 3.14.1.1-p1 || (cat "$HOME"/.ghcup/logs/*.* && false)
115+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.14.1.1-p1 -vnormal+nowrap" >> "$GITHUB_ENV"
116+ - name : Install GHC (GHCup)
117+ if : matrix.setup-method == 'ghcup'
118+ run : |
105119 "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
106- "$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
120+ HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
121+ HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
122+ HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
123+ echo "HC=$HC" >> "$GITHUB_ENV"
124+ echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
125+ echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
107126 env :
108127 HCKIND : ${{ matrix.compilerKind }}
109128 HCNAME : ${{ matrix.compiler }}
@@ -114,21 +133,12 @@ jobs:
114133 echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
115134 echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
116135 echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
117- HCDIR=/opt/$HCKIND/$HCVER
118- HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
119- HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
120- HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
121- echo "HC=$HC" >> "$GITHUB_ENV"
122- echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
123- echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
124- echo "CABAL=$HOME/.ghcup/bin/cabal-3.12.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
125136 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
126137 echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
127138 echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
128139 echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
129140 echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
130141 echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
131- echo "GHCJSARITH=0" >> "$GITHUB_ENV"
132142 env :
133143 HCKIND : ${{ matrix.compilerKind }}
134144 HCNAME : ${{ matrix.compiler }}
@@ -241,8 +251,8 @@ jobs:
241251 rm -f cabal.project.local
242252 $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
243253 - name : save cache
244- uses : actions/cache/save@v4
245254 if : always()
255+ uses : actions/cache/save@v4
246256 with :
247257 key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
248258 path : ~/.cabal/store
0 commit comments