88#
99# For more information, see https://github.com/haskell-CI/haskell-ci
1010#
11- # version: 0.19.20250821
11+ # version: 0.19.20260209
1212#
13- # REGENDATA ("0.19.20250821 ",["github","hackage-cli.cabal"])
13+ # REGENDATA ("0.19.20260209 ",["github","hackage-cli.cabal"])
1414#
1515name : Haskell-CI
1616on :
2020 pull_request :
2121 branches :
2222 - master
23+ merge_group :
24+ branches :
25+ - master
26+ workflow_dispatch :
27+ {}
2328jobs :
2429 linux :
2530 name : Haskell-CI - Linux - ${{ matrix.compiler }}
@@ -32,19 +37,19 @@ jobs:
3237 strategy :
3338 matrix :
3439 include :
35- - compiler : ghc-9.14.0.20250819
40+ - compiler : ghc-9.14.1
3641 compilerKind : ghc
37- compilerVersion : 9.14.0.20250819
38- setup-method : ghcup-prerelease
42+ compilerVersion : 9.14.1
43+ setup-method : ghcup
3944 allow-failure : false
40- - compiler : ghc-9.12.2
45+ - compiler : ghc-9.12.4
4146 compilerKind : ghc
42- compilerVersion : 9.12.2
47+ compilerVersion : 9.12.4
4348 setup-method : ghcup
4449 allow-failure : false
45- - compiler : ghc-9.10.2
50+ - compiler : ghc-9.10.3
4651 compilerKind : ghc
47- compilerVersion : 9.10.2
52+ compilerVersion : 9.10.3
4853 setup-method : ghcup
4954 allow-failure : false
5055 - compiler : ghc-9.8.4
@@ -72,37 +77,12 @@ jobs:
7277 compilerVersion : 9.0.2
7378 setup-method : ghcup
7479 allow-failure : false
75- - compiler : ghc-8.10.7
76- compilerKind : ghc
77- compilerVersion : 8.10.7
78- setup-method : ghcup
79- allow-failure : false
80- - compiler : ghc-8.8.4
81- compilerKind : ghc
82- compilerVersion : 8.8.4
83- setup-method : ghcup
84- allow-failure : false
85- - compiler : ghc-8.6.5
86- compilerKind : ghc
87- compilerVersion : 8.6.5
88- setup-method : ghcup
89- allow-failure : false
90- - compiler : ghc-8.4.4
91- compilerKind : ghc
92- compilerVersion : 8.4.4
93- setup-method : ghcup
94- allow-failure : false
95- - compiler : ghc-8.2.2
96- compilerKind : ghc
97- compilerVersion : 8.2.2
98- setup-method : ghcup
99- allow-failure : false
10080 fail-fast : false
10181 steps :
10282 - name : apt-get install
10383 run : |
10484 apt-get update
105- apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 libnuma-dev
85+ apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
10686 apt-get install -y libbrotli-dev
10787 - name : Install GHCup
10888 run : |
@@ -127,21 +107,6 @@ jobs:
127107 HCKIND : ${{ matrix.compilerKind }}
128108 HCNAME : ${{ matrix.compiler }}
129109 HCVER : ${{ matrix.compilerVersion }}
130- - name : Install GHC (GHCup prerelease)
131- if : matrix.setup-method == 'ghcup-prerelease'
132- run : |
133- "$HOME/.ghcup/bin/ghcup" config add-release-channel prereleases
134- "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
135- HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
136- HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
137- HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
138- echo "HC=$HC" >> "$GITHUB_ENV"
139- echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
140- echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
141- env :
142- HCKIND : ${{ matrix.compilerKind }}
143- HCNAME : ${{ matrix.compiler }}
144- HCVER : ${{ matrix.compilerVersion }}
145110 - name : Set PATH and environment variables
146111 run : |
147112 echo "$HOME/.cabal/bin" >> $GITHUB_PATH
@@ -152,7 +117,7 @@ jobs:
152117 echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
153118 echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
154119 echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
155- if [ $((HCNUMVER >= 91400)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE= false" >> "$GITHUB_ENV" ; fi
120+ echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
156121 echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
157122 env :
158123 HCKIND : ${{ matrix.compilerKind }}
@@ -180,18 +145,6 @@ jobs:
180145 repository hackage.haskell.org
181146 url: http://hackage.haskell.org/
182147 EOF
183- if $HEADHACKAGE; then
184- cat >> $CABAL_CONFIG <<EOF
185- repository head.hackage.ghc.haskell.org
186- url: https://ghc.gitlab.haskell.org/head.hackage/
187- secure: True
188- root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
189- 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
190- f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
191- key-threshold: 3
192- active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override
193- EOF
194- fi
195148 cat >> $CABAL_CONFIG <<EOF
196149 program-default-options
197150 ghc-options: $GHCJOBS +RTS -M3G -RTS
@@ -215,7 +168,7 @@ jobs:
215168 chmod a+x $HOME/.cabal/bin/cabal-plan
216169 cabal-plan --version
217170 - name : checkout
218- uses : actions/checkout@v4
171+ uses : actions/checkout@v6
219172 with :
220173 path : source
221174 - name : initial cabal.project for sdist
@@ -243,22 +196,19 @@ jobs:
243196 echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project
244197 if [ $((HCNUMVER >= 90400)) -ne 0 ] ; then echo "package hackage-cli" >> cabal.project ; fi
245198 if [ $((HCNUMVER >= 90400)) -ne 0 ] ; then echo " ghc-options: -Werror=unused-packages" >> cabal.project ; fi
246- if [ $((HCNUMVER >= 90000)) -ne 0 ] ; then echo "package hackage-cli" >> cabal.project ; fi
247- if [ $((HCNUMVER >= 90000)) -ne 0 ] ; then echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project ; fi
199+ echo "package hackage-cli" >> cabal.project
200+ echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project
248201 cat >> cabal.project <<EOF
249202 EOF
250- if $HEADHACKAGE; then
251- echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
252- fi
253- $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(Cabal|binary|hackage-cli)$/; }' >> cabal.project.local
203+ $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(hackage-cli)$/; }' >> cabal.project.local
254204 cat cabal.project
255205 cat cabal.project.local
256206 - name : dump install plan
257207 run : |
258208 $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
259209 cabal-plan
260210 - name : restore cache
261- uses : actions/cache/restore@v4
211+ uses : actions/cache/restore@v5
262212 with :
263213 key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
264214 path : ~/.cabal/store
@@ -289,7 +239,7 @@ jobs:
289239 $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
290240 - name : save cache
291241 if : always()
292- uses : actions/cache/save@v4
242+ uses : actions/cache/save@v5
293243 with :
294244 key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
295245 path : ~/.cabal/store
0 commit comments