11# SUCCESS
2- # *INFO* Generating GitHub config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.6.7 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.10.2 9.12.1 9.12.2 ghcjs-8.4
2+ # *INFO* Generating GitHub config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.6.7 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.10.2 9.12.1 9.12.2 9.14.1 ghcjs-8.4
33# This GitHub workflow config has been generated by a script via
44#
55# haskell-ci '--doctest' '--doctest-version=^>=0.20' 'github' 'doctest-version.project'
2828 strategy:
2929 matrix:
3030 include:
31+ - compiler: ghc-9.14.0.20250819
32+ compilerKind: ghc
33+ compilerVersion: 9.14.0.20250819
34+ setup-method: ghcup-prerelease
35+ allow-failure: false
3136 - compiler: ghc-9.12.2
3237 compilerKind: ghc
3338 compilerVersion: 9.12.2
@@ -345,7 +350,22 @@ jobs:
345350 - name: Install GHC (GHCup vanilla)
346351 if: matrix.setup-method == 'ghcup-vanilla'
347352 run: |
348- "$HOME/.ghcup/bin/ghcup" -s https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-vanilla-0.0.8.yaml install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
353+ "$HOME/.ghcup/bin/ghcup" -s https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-vanilla-0.0.9.yaml install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
354+ HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
355+ HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
356+ HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
357+ echo "HC=$HC" >> "$GITHUB_ENV"
358+ echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
359+ echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
360+ env:
361+ HCKIND: ${{ matrix.compilerKind }}
362+ HCNAME: ${{ matrix.compiler }}
363+ HCVER: ${{ matrix.compilerVersion }}
364+ - name: Install GHC (GHCup prerelease)
365+ if: matrix.setup-method == 'ghcup-prerelease'
366+ run: |
367+ "$HOME/.ghcup/bin/ghcup" config add-release-channel prereleases
368+ "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
349369 HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
350370 HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
351371 HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
@@ -366,7 +386,7 @@ jobs:
366386 echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
367387 echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
368388 echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
369- echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
389+ if [ $((! GHCJSARITH && HCNUMVER >= 91400)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE= false" >> "$GITHUB_ENV" ; fi
370390 echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
371391 env:
372392 HCKIND: ${{ matrix.compilerKind }}
@@ -394,6 +414,18 @@ jobs:
394414 repository hackage.haskell.org
395415 url: http://hackage.haskell.org/
396416 EOF
417+ if $HEADHACKAGE; then
418+ cat >> $CABAL_CONFIG <<EOF
419+ repository head.hackage.ghc.haskell.org
420+ url: https://ghc.gitlab.haskell.org/head.hackage/
421+ secure: True
422+ root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
423+ 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
424+ f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
425+ key-threshold: 3
426+ active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override
427+ EOF
428+ fi
397429 cat >> $CABAL_CONFIG <<EOF
398430 program-default-options
399431 ghc-options: $GHCJOBS +RTS -M3G -RTS
@@ -410,7 +442,7 @@ jobs:
410442 - name: cache (tools)
411443 uses: actions/cache/restore@v4
412444 with:
413- key: ${{ runner.os }}-${{ matrix.compiler }}-tools-7adc43de
445+ key: ${{ runner.os }}-${{ matrix.compiler }}-tools-7f722948
414446 path: ~/.haskell-ci-tools
415447 - name: install cabal-plan
416448 run: |
@@ -429,7 +461,7 @@ jobs:
429461 if: always()
430462 uses: actions/cache/save@v4
431463 with:
432- key: ${{ runner.os }}-${{ matrix.compiler }}-tools-7adc43de
464+ key: ${{ runner.os }}-${{ matrix.compiler }}-tools-7f722948
433465 path: ~/.haskell-ci-tools
434466 - name: checkout
435467 uses: actions/checkout@v4
@@ -464,6 +496,9 @@ jobs:
464496 if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project ; fi
465497 cat >> cabal.project <<EOF
466498 EOF
499+ if $HEADHACKAGE; then
500+ echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
501+ fi
467502 $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(splitmix)$/; }' >> cabal.project.local
468503 cat cabal.project
469504 cat cabal.project.local
0 commit comments