diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index 2c319584..51b85bf2 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -8,14 +8,21 @@ # # For more information, see https://github.com/haskell-CI/haskell-ci # -# version: 0.19.20250506 +# version: 0.19.20260104 # -# REGENDATA ("0.19.20250506",["github","cabal.project","--config","cabal.haskell-ci","--project"]) +# REGENDATA ("0.19.20260104",["github","cabal.project","--config","cabal.haskell-ci","--project"]) # name: Haskell-CI on: - - push - - pull_request + push: + branches: + - master + pull_request: + branches: + - master + merge_group: + branches: + - master jobs: linux: name: Haskell-CI - Linux - ${{ matrix.compiler }} @@ -28,14 +35,19 @@ jobs: strategy: matrix: include: + - compiler: ghc-9.14.1 + compilerKind: ghc + compilerVersion: 9.14.1 + setup-method: ghcup + allow-failure: false - compiler: ghc-9.12.2 compilerKind: ghc compilerVersion: 9.12.2 setup-method: ghcup allow-failure: false - - compiler: ghc-9.10.2 + - compiler: ghc-9.10.3 compilerKind: ghc - compilerVersion: 9.10.2 + compilerVersion: 9.10.3 setup-method: ghcup allow-failure: false - compiler: ghc-9.8.4 @@ -106,8 +118,8 @@ jobs: chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | - "$HOME/.ghcup/bin/ghcup" install cabal 3.14.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false) - echo "CABAL=$HOME/.ghcup/bin/cabal-3.14.2.0 -vnormal+nowrap" >> "$GITHUB_ENV" + "$HOME/.ghcup/bin/ghcup" install cabal 3.16.0.0 || (cat "$HOME"/.ghcup/logs/*.* && false) + echo "CABAL=$HOME/.ghcup/bin/cabal-3.16.0.0 -vnormal+nowrap" >> "$GITHUB_ENV" - name: Install GHC (GHCup) if: matrix.setup-method == 'ghcup' run: | @@ -183,7 +195,7 @@ jobs: chmod a+x $HOME/.cabal/bin/cabal-plan cabal-plan --version - name: checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: path: source - name: initial cabal.project for sdist @@ -212,12 +224,12 @@ jobs: echo "packages: ${PKGDIR_happy_lib}" >> cabal.project echo "packages: ${PKGDIR_happy}" >> cabal.project if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package happy-lib" >> cabal.project ; fi - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi + if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project ; fi if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package happy" >> cabal.project ; fi - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi + if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project ; fi cat >> cabal.project <> cabal.project.local + $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(happy|happy-lib|mtl|transformers)$/; }' >> cabal.project.local cat cabal.project cat cabal.project.local - name: dump install plan diff --git a/cabal.haskell-ci b/cabal.haskell-ci index 2e908b47..40d844cb 100644 --- a/cabal.haskell-ci +++ b/cabal.haskell-ci @@ -1,2 +1,11 @@ +branches: master +error-incomplete-patterns: False +error-unused-packages: False + -- Specify 'constraint: ... installed' packages -installed: +all -containers -mtl -transformers +installed: +all -transformers -mtl +-- * mtl is for GHC 8.4: +-- > rejecting: happy-lib-2.1.7 (conflict: mtl => transformers==0.5.5.0/installed-0.5.5.0, happy-lib => transformers>=0.5.6.2) +-- * transformers is for GHCs 8.0 and 8.2: +-- > rejecting: transformers-0.5.2.0/installed-0.5.2.0 (conflict: mtl => transformers>=0.5.6 && <0.7) + diff --git a/happy.cabal b/happy.cabal index fe2a5a84..ae9cef27 100644 --- a/happy.cabal +++ b/happy.cabal @@ -19,8 +19,9 @@ Description: grammar. Happy works in a similar way to the @yacc@ tool for C. tested-with: + GHC == 9.14.1 GHC == 9.12.2 - GHC == 9.10.2 + GHC == 9.10.3 GHC == 9.8.4 GHC == 9.6.7 GHC == 9.4.8 diff --git a/lib/happy-lib.cabal b/lib/happy-lib.cabal index 5bc94da1..42e34f84 100644 --- a/lib/happy-lib.cabal +++ b/lib/happy-lib.cabal @@ -34,8 +34,9 @@ Description: multiple parse trees (Happy.Backend.GLR.*) tested-with: + GHC == 9.14.1 GHC == 9.12.2 - GHC == 9.10.2 + GHC == 9.10.3 GHC == 9.8.4 GHC == 9.6.7 GHC == 9.4.8