diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index faae6e41..347be53e 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -8,9 +8,9 @@ # # For more information, see https://github.com/andreasabel/haskell-ci # -# version: 0.19.20240630 +# version: 0.19.20241021 # -# REGENDATA ("0.19.20240630",["github","cabal.project"]) +# REGENDATA ("0.19.20241021",["github","cabal.project"]) # name: Haskell-CI on: @@ -32,6 +32,11 @@ jobs: strategy: matrix: include: + - compiler: ghc-9.12.20241014 + compilerKind: ghc + compilerVersion: 9.12.20241014 + setup-method: ghcup + allow-failure: false - compiler: ghc-9.10.1 compilerKind: ghc compilerVersion: 9.10.1 @@ -42,9 +47,9 @@ jobs: compilerVersion: 9.8.2 setup-method: ghcup allow-failure: false - - compiler: ghc-9.6.5 + - compiler: ghc-9.6.6 compilerKind: ghc - compilerVersion: 9.6.5 + compilerVersion: 9.6.6 setup-method: ghcup allow-failure: false - compiler: ghc-9.4.8 @@ -99,8 +104,9 @@ jobs: apt-get update apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 libnuma-dev mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" + "$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml; "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false) "$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false) env: @@ -125,7 +131,7 @@ jobs: echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV" echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV" echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV" - echo "HEADHACKAGE=false" >> "$GITHUB_ENV" + if [ $((HCNUMVER >= 91200)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV" echo "GHCJSARITH=0" >> "$GITHUB_ENV" env: @@ -154,7 +160,21 @@ jobs: repository hackage.haskell.org url: http://hackage.haskell.org/ EOF + if $HEADHACKAGE; then + cat >> $CABAL_CONFIG <> $CABAL_CONFIG <= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi cat >> cabal.project <> cabal.project + fi $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(BNFC|bnfc-system-tests)$/; }' >> cabal.project.local cat cabal.project cat cabal.project.local @@ -233,11 +256,13 @@ jobs: run: | $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --write-ghc-environment-files=always - name: install doctest + if: env.HEADHACKAGE != 'true' run: | - $CABAL v2-install $ARG_COMPILER doctest --overwrite-policy=always + $CABAL v2-install --ignore-project $ARG_COMPILER doctest --ghc-options=-rtsopts --overwrite-policy=always - name: doctests + if: env.HEADHACKAGE != 'true' run: | - $CABAL v2-repl BNFC --with-ghc-pkg=$HCPKG -w doctest --repl-options=-fno-warn-type-defaults + $CABAL v2-repl BNFC --with-ghc-pkg=$HCPKG -w doctest --repl-options=-w - name: tests run: | $CABAL v2-test $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --test-show-details=direct diff --git a/.github/workflows/stack.yml b/.github/workflows/stack.yml index 948bd4b1..095f98bf 100644 --- a/.github/workflows/stack.yml +++ b/.github/workflows/stack.yml @@ -23,7 +23,8 @@ jobs: fail-fast: false matrix: # Note: check release logic below when changing the matrix! - ghc: ['9.8', '9.6', '9.4', '9.2', '9.0', '8.10', '8.8', '8.6', '8.4', '8.2'] + # Stack 3.1.1 only supports GHC 8.4 and up. + ghc: ['9.10', '9.8', '9.6', '9.4', '9.2', '9.0', '8.10', '8.8', '8.6', '8.4'] os: [ubuntu-latest] include: - os: macOS-latest diff --git a/source/BNFC.cabal b/source/BNFC.cabal index 7300a8d2..62632a92 100644 --- a/source/BNFC.cabal +++ b/source/BNFC.cabal @@ -32,9 +32,10 @@ Description: -- Support range when build with cabal tested-with: + GHC == 9.12.0 GHC == 9.10.1 GHC == 9.8.2 - GHC == 9.6.5 + GHC == 9.6.6 GHC == 9.4.8 GHC == 9.2.8 GHC == 9.0.2 @@ -64,7 +65,6 @@ extra-source-files: stack-8.8.yaml stack-8.6.yaml stack-8.4.yaml - stack-8.2.yaml source-repository head type: git diff --git a/stack-9.10.yaml b/stack-9.10.yaml new file mode 100644 index 00000000..fd2519f0 --- /dev/null +++ b/stack-9.10.yaml @@ -0,0 +1,13 @@ +resolver: nightly-2024-10-30 +compiler: ghc-9.10.1 +compiler-check: newer-minor + +packages: +- source +- testing + +extra-deps: +- directory-1.3.8.3 #.5 +- filepath-1.4.300.2 # 1.5.3.0 +- process-1.6.19.0 #.23.0 +- unix-2.8.5.1 diff --git a/stack-9.6.yaml b/stack-9.6.yaml index 311d48be..b8505777 100644 --- a/stack-9.6.yaml +++ b/stack-9.6.yaml @@ -1,5 +1,5 @@ -resolver: lts-22.23 -compiler: ghc-9.6.5 +resolver: lts-22.39 +compiler: ghc-9.6.6 compiler-check: newer-minor packages: diff --git a/stack-9.8.yaml b/stack-9.8.yaml index c3b14f45..c83ceff5 100644 --- a/stack-9.8.yaml +++ b/stack-9.8.yaml @@ -1,4 +1,4 @@ -resolver: nightly-2024-05-30 +resolver: nightly-2024-10-21 compiler: ghc-9.8.2 compiler-check: newer-minor diff --git a/testing/bnfc-system-tests.cabal b/testing/bnfc-system-tests.cabal index 629881e2..6fb56987 100644 --- a/testing/bnfc-system-tests.cabal +++ b/testing/bnfc-system-tests.cabal @@ -50,9 +50,10 @@ build-type: Simple cabal-version: >=1.10 tested-with: + GHC == 9.12.0 GHC == 9.10.1 GHC == 9.8.2 - GHC == 9.6.5 + GHC == 9.6.6 GHC == 9.4.8 GHC == 9.2.8 GHC == 9.0.2