diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index c2a33e257..fc393a5de 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -8,40 +8,59 @@ # # For more information, see https://github.com/haskell-CI/haskell-ci # -# version: 0.16.4 +# version: 0.19.20260104 # -# REGENDATA ("0.16.4",["github","cabal.project"]) +# REGENDATA ("0.19.20260104",["github","cabal.project"]) # name: Haskell-CI on: push: branches: - master - - ci* + - release* pull_request: branches: - master - - ci* + - release* + merge_group: + branches: + - master + - release* jobs: linux: name: Haskell-CI - Linux - ${{ matrix.compiler }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 60 container: - image: buildpack-deps:bionic + image: buildpack-deps:jammy continue-on-error: ${{ matrix.allow-failure }} strategy: matrix: include: - - compiler: ghc-9.6.2 + - compiler: ghc-9.12.2 + compilerKind: ghc + compilerVersion: 9.12.2 + setup-method: ghcup + allow-failure: false + - compiler: ghc-9.10.3 + compilerKind: ghc + compilerVersion: 9.10.3 + setup-method: ghcup + allow-failure: false + - compiler: ghc-9.8.4 + compilerKind: ghc + compilerVersion: 9.8.4 + setup-method: ghcup + allow-failure: false + - compiler: ghc-9.6.7 compilerKind: ghc - compilerVersion: 9.6.2 + compilerVersion: 9.6.7 setup-method: ghcup allow-failure: false - - compiler: ghc-9.4.5 + - compiler: ghc-9.4.8 compilerKind: ghc - compilerVersion: 9.4.5 + compilerVersion: 9.4.8 setup-method: ghcup allow-failure: false - compiler: ghc-9.2.8 @@ -62,54 +81,53 @@ jobs: - compiler: ghc-8.8.4 compilerKind: ghc compilerVersion: 8.8.4 - setup-method: hvr-ppa + setup-method: ghcup allow-failure: false - compiler: ghc-8.6.5 compilerKind: ghc compilerVersion: 8.6.5 - setup-method: hvr-ppa + setup-method: ghcup allow-failure: false - compiler: ghc-8.4.4 compilerKind: ghc compilerVersion: 8.4.4 - setup-method: hvr-ppa + setup-method: ghcup allow-failure: false - compiler: ghc-8.2.2 compilerKind: ghc compilerVersion: 8.2.2 - setup-method: hvr-ppa + setup-method: ghcup allow-failure: false - compiler: ghc-8.0.2 compilerKind: ghc compilerVersion: 8.0.2 - setup-method: hvr-ppa - allow-failure: false - - compiler: ghc-7.10.3 - compilerKind: ghc - compilerVersion: 7.10.3 - setup-method: hvr-ppa + setup-method: ghcup allow-failure: false fail-fast: false steps: - - name: apt + - name: apt-get install run: | apt-get update - apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 - if [ "${{ matrix.setup-method }}" = ghcup ]; then - mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup" - chmod a+x "$HOME/.ghcup/bin/ghcup" - "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false) - "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false) - else - apt-add-repository -y 'ppa:hvr/ghc' - apt-get update - apt-get install -y "$HCNAME" - mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup" - chmod a+x "$HOME/.ghcup/bin/ghcup" - "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false) - fi + apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 libnuma-dev + - name: Install GHCup + run: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + - name: Install cabal-install + run: | + "$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: | + "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false) + HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER") + HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#') + HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#') + echo "HC=$HC" >> "$GITHUB_ENV" + echo "HCPKG=$HCPKG" >> "$GITHUB_ENV" + echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV" env: HCKIND: ${{ matrix.compilerKind }} HCNAME: ${{ matrix.compiler }} @@ -120,28 +138,12 @@ jobs: echo "LANG=C.UTF-8" >> "$GITHUB_ENV" echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV" echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV" - HCDIR=/opt/$HCKIND/$HCVER - if [ "${{ matrix.setup-method }}" = ghcup ]; then - HC=$HOME/.ghcup/bin/$HCKIND-$HCVER - echo "HC=$HC" >> "$GITHUB_ENV" - echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV" - echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV" - echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV" - else - HC=$HCDIR/bin/$HCKIND - echo "HC=$HC" >> "$GITHUB_ENV" - echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV" - echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV" - echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV" - fi - HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))') echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV" - echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV" + if [ $((HCNUMVER >= 81000)) -ne 0 ] ; then echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV" ; else echo "ARG_TESTS=--disable-tests" >> "$GITHUB_ENV" ; fi echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV" echo "HEADHACKAGE=false" >> "$GITHUB_ENV" echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV" - echo "GHCJSARITH=0" >> "$GITHUB_ENV" env: HCKIND: ${{ matrix.compilerKind }} HCNAME: ${{ matrix.compiler }} @@ -191,14 +193,13 @@ jobs: chmod a+x $HOME/.cabal/bin/cabal-plan cabal-plan --version - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v5 with: path: source - name: initial cabal.project for sdist run: | touch cabal.project echo "packages: $GITHUB_WORKSPACE/source/source" >> cabal.project - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "packages: $GITHUB_WORKSPACE/source/testing" >> cabal.project ; fi cat cabal.project - name: sdist run: | @@ -212,20 +213,15 @@ jobs: run: | PKGDIR_BNFC="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/BNFC-[0-9.]*')" echo "PKGDIR_BNFC=${PKGDIR_BNFC}" >> "$GITHUB_ENV" - PKGDIR_bnfc_system_tests="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/bnfc-system-tests-[0-9.]*')" - echo "PKGDIR_bnfc_system_tests=${PKGDIR_bnfc_system_tests}" >> "$GITHUB_ENV" rm -f cabal.project cabal.project.local touch cabal.project touch cabal.project.local echo "packages: ${PKGDIR_BNFC}" >> cabal.project - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "packages: ${PKGDIR_bnfc_system_tests}" >> cabal.project ; fi if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package BNFC" >> 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 "package bnfc-system-tests" >> 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 /^(BNFC|Cabal)$/; }' >> cabal.project.local cat cabal.project cat cabal.project.local - name: dump install plan @@ -233,7 +229,7 @@ jobs: $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all cabal-plan - name: restore cache - uses: actions/cache/restore@v3 + uses: actions/cache/restore@v4 with: key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }} path: ~/.cabal/store @@ -248,15 +244,23 @@ jobs: - name: build run: | $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --write-ghc-environment-files=always + - name: install doctest + # Andreas, 2025-07-23: https://github.com/sol/doctest/issues/460 + if: env.HEADHACKAGE != 'true' && matrix.compiler != 'ghc-8.8.4' && matrix.compiler != 'ghc-8.6.5' + run: | + $CABAL v2-install --ignore-project $ARG_COMPILER doctest --ghc-options=-rtsopts --overwrite-policy=always + - name: doctests + # Andreas, 2025-07-23: https://github.com/sol/doctest/issues/460 + if: env.HEADHACKAGE != 'true' && matrix.compiler != 'ghc-8.8.4' && matrix.compiler != 'ghc-8.6.5' + run: | + $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 + if [ $((HCNUMVER >= 81000)) -ne 0 ] ; then $CABAL v2-test $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --test-show-details=direct ; fi - name: cabal check run: | cd ${PKGDIR_BNFC} || false ${CABAL} -vnormal check - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then cd ${PKGDIR_bnfc_system_tests} || false ; fi - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then ${CABAL} -vnormal check ; fi - name: haddock run: | $CABAL v2-haddock --disable-documentation $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all @@ -265,8 +269,8 @@ jobs: rm -f cabal.project.local $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all - name: save cache - uses: actions/cache/save@v3 if: always() + uses: actions/cache/save@v4 with: key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }} path: ~/.cabal/store diff --git a/.github/workflows/stack.yml b/.github/workflows/stack.yml index a9568aea7..78e1cc7b3 100644 --- a/.github/workflows/stack.yml +++ b/.github/workflows/stack.yml @@ -4,10 +4,10 @@ name: Stack build on: push: - branches: [ master, 'ci-*' ] + branches: [ master ] tags: [ 'v*' ] pull_request: - types: [ opened, synchronize] + types: [ opened, synchronize ] workflow_dispatch: # For making a release, we need write permissions. @@ -23,13 +23,14 @@ jobs: fail-fast: false matrix: # Note: check release logic below when changing the matrix! - ghc: [9.6.2, 9.4.5, 9.2.8, 9.0.2, 8.10.7, 8.8.4, 8.6.5, 8.4.4, 8.2.2] + # Stack 3.3.1 only supports GHC 8.4 and up. + ghc: ['9.12', '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 - ghc: 9.6.2 + ghc: '9.12' - os: windows-latest - ghc: 9.6.2 + ghc: '9.12' # Needed for Windows to make piping (... >> ...) and evaluation ( $(...) ) work. @@ -38,15 +39,15 @@ jobs: shell: bash steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 - name: Setup Haskell - uses: haskell/actions/setup@v2 + uses: haskell-actions/setup@v2 id: haskell-setup # <-- self-chosen identifier with: - ghc-version: ${{ matrix.ghc }} - enable-stack: true - # stack-version: latest + ghc-version: ${{ matrix.ghc }} + enable-stack: true + cabal-update: false - name: Environment settings based on the Haskell setup shell: bash @@ -63,7 +64,7 @@ jobs: GHC_VER=$(ghc --numeric-version) CABAL_VER=$(cabal --numeric-version) STACK_VER=$(stack --numeric-version) - STACK_FLAGS="--stack-yaml stack-${GHC_VER}.yaml --system-ghc --no-terminal --color always" + STACK_FLAGS="--stack-yaml stack-${{ matrix.ghc }}.yaml --system-ghc --no-terminal --color always" TARGET=$(if [ "${{ runner.os }}" == "Windows" ]; then echo ":bnfc"; fi) echo "GHC_VER = ${GHC_VER}" echo "CABAL_VER = ${CABAL_VER}" @@ -79,7 +80,7 @@ jobs: # From now on, use env.{GHC|CABAL}_VER rather than matrix.{ghc|cabal}-ver! - name: Cache dependencies - uses: actions/cache@v3 + uses: actions/cache@v4 env: key: ${{ runner.os }}-stack-${{ env.STACK_VER }}-ghc-${{ env.GHC_VER }} ## Just stack.yaml is actually not correct, better would be stack.yaml.lock, @@ -88,7 +89,7 @@ jobs: # key: ${{ runner.os }}-${{ env.STACK_VER }}-${{ hashFiles('source/BNFC.cabal', format('stack-{0}.yaml', env.GHC_VER)) }} with: path: ${{ steps.haskell-setup.outputs.stack-root }} - key: ${{ env.key }}-resolver-${{ hashFiles(format('stack-{0}.yaml', env.GHC_VER)) }} + key: ${{ env.key }}-resolver-${{ hashFiles(format('stack-{0}.yaml', matrix.ghc)) }} restore-keys: ${{ env.key }}- - name: Build dependencies. @@ -120,7 +121,7 @@ jobs: # Conditional to ensure this deployment is only run once per action. if: >- startsWith(github.ref, 'refs/tags/v') - && matrix.ghc == '9.6.2' + && matrix.ghc == '9.12' run: | DIST_TGZ=$(cabal sdist source | tail -1) echo "DIST_TGZ=${DIST_TGZ}" >> "${GITHUB_ENV}" @@ -128,8 +129,8 @@ jobs: - name: Source tarball release. if: >- startsWith(github.ref, 'refs/tags/v') - && matrix.ghc == '9.6.2' - uses: softprops/action-gh-release@v1 + && matrix.ghc == '9.12' + uses: softprops/action-gh-release@v2 with: draft: true prerelease: true @@ -140,7 +141,7 @@ jobs: if: >- startsWith(github.ref, 'refs/tags/v') && runner.os == 'Linux' - && matrix.ghc == '9.6.2' + && matrix.ghc == '9.12' run: | BNFC_BIN=bnfc-${BNFC_VERSION}-linux.binary cp -p "${BNFC_EXE}" "${BNFC_BIN}" @@ -151,8 +152,8 @@ jobs: if: >- startsWith(github.ref, 'refs/tags/v') && runner.os == 'Linux' - && matrix.ghc == '9.6.2' - uses: softprops/action-gh-release@v1 + && matrix.ghc == '9.12' + uses: softprops/action-gh-release@v2 with: draft: true prerelease: true @@ -186,7 +187,7 @@ jobs: if: >- startsWith(github.ref, 'refs/tags/v') && runner.os == 'macOS' - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: draft: true prerelease: true @@ -210,7 +211,7 @@ jobs: if: >- startsWith(github.ref, 'refs/tags/v') && runner.os == 'Windows' - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: draft: true prerelease: true diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 000000000..f3b4ba6e1 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,31 @@ +# .readthedocs.yaml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# This file originally taken from: https://github.com/readthedocs/readthedocs.org/issues/10290#issuecomment-1535838000 + +# Required +version: 2 + +# Set the version of Python and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.11" + # You can also specify other tool versions: + # nodejs: "19" + # rust: "1.64" + # golang: "1.19" + +# Build documentation in the docs/ directory with Sphinx +sphinx: + configuration: docs/conf.py + +# If using Sphinx, optionally build your docs in additional formats such as PDF +formats: + - pdf + +# # Optionally declare the Python requirements required to build your docs +# python: +# install: +# - requirements: docs/requirements.txt diff --git a/cabal.haskell-ci b/cabal.haskell-ci index 7b88abe74..83f5f95d2 100644 --- a/cabal.haskell-ci +++ b/cabal.haskell-ci @@ -1,7 +1,10 @@ -- -- The name of GitHub Action -- github-action-name: -branches: master ci* +branches: master release* + +error-incomplete-patterns: False +error-unused-packages: False -- 2021-01-22 if cabal-version is greater than shipped Cabal, allow newer Cabal version -- https://github.com/haskell-CI/haskell-ci/issues/468#issuecomment-761865807 @@ -9,7 +12,7 @@ branches: master ci* -- -- By default `installed` constraints are used for packages -- in global db. We can modify which constraints are used. -installed: +all +installed: +all -Cabal -- Configure haskell-ci's behavior when presented multiple packages (e.g., a -- cabal.project file that specifies multiple .cabal files), each of which @@ -34,6 +37,7 @@ jobs-selection: any -- Switch off tests for 9.6.0 (HTF not available yet) -- tests: < 9.5 +tests: >= 8.10 -- allow-failures: >= 9.2 diff --git a/cabal.project b/cabal.project index 11353633d..77ad795d5 100644 --- a/cabal.project +++ b/cabal.project @@ -1,3 +1,3 @@ packages: source/BNFC.cabal - testing/bnfc-system-tests.cabal +-- testing/bnfc-system-tests.cabal diff --git a/source/BNFC.cabal b/source/BNFC.cabal index cca33f2d5..67486c11a 100644 --- a/source/BNFC.cabal +++ b/source/BNFC.cabal @@ -1,5 +1,5 @@ Name: BNFC -Version: 2.9.5 +Version: 2.9.5.1 cabal-version: 2.0 -- >=2.0 for build-tool-depends: hspec-discover -- Andreas, 2022-12-16, issue #429: @@ -30,10 +30,12 @@ Description: an XML representation, a LaTeX file containing a readable specification of the language. --- Support range when build with cabal tested-with: - GHC == 9.6.2 - GHC == 9.4.5 + GHC == 9.12.2 + GHC == 9.10.3 + GHC == 9.8.4 + GHC == 9.6.7 + GHC == 9.4.8 GHC == 9.2.8 GHC == 9.0.2 GHC == 8.10.7 @@ -42,7 +44,7 @@ tested-with: GHC == 8.4.4 GHC == 8.2.2 GHC == 8.0.2 - GHC == 7.10.3 + -- GHC == 7.10.3 extra-doc-files: README.md @@ -54,15 +56,18 @@ extra-source-files: src/BNFC.cf src/Makefile -- Support range when build with stack - stack-9.6.2.yaml - stack-9.4.5.yaml - stack-9.2.8.yaml - stack-9.0.2.yaml - stack-8.10.7.yaml - stack-8.8.4.yaml - stack-8.6.5.yaml - stack-8.4.4.yaml - stack-8.2.2.yaml + stack-9.12.yaml + stack-9.10.yaml + stack-9.8.yaml + stack-9.6.yaml + stack-9.4.yaml + stack-9.2.yaml + stack-9.0.yaml + stack-8.10.yaml + stack-8.8.yaml + stack-8.6.yaml + stack-8.4.yaml + stack-8.2.yaml source-repository head type: git @@ -79,6 +84,8 @@ executable bnfc other-modules: -- Generated by cabal Paths_BNFC + autogen-modules: + Paths_BNFC default-extensions: -- Keep in alphabetical order. LambdaCase @@ -106,7 +113,7 @@ library , time , transformers -- for Control.Monad.IO.Class, which is in base >= 4.9 but not below - if impl(ghc < 8.0) + if impl(ghc < 8) build-depends: semigroups build-tool-depends: @@ -155,6 +162,8 @@ library other-modules: -- Generated by cabal Paths_BNFC + autogen-modules: + Paths_BNFC exposed-modules: -- Generated from LICENSE BNFC.License @@ -287,7 +296,7 @@ test-suite unit-tests deepseq, string-qq, time - if impl(ghc < 8.0) + if impl(ghc < 8) build-depends: semigroups build-tool-depends: diff --git a/source/CHANGELOG.md b/source/CHANGELOG.md index ecc719dfc..12bc18771 100644 --- a/source/CHANGELOG.md +++ b/source/CHANGELOG.md @@ -1,3 +1,10 @@ +# 2.9.5.1 + +Andreas Abel Jan 2026 + +* Cabal 3.12 compatibility: remove generated `Lex.hs` and `Par.hs` from source tarball +* Build tested with GHC 8.0 - 9.12.2 + # 2.9.5 Andreas Abel , July 2023 diff --git a/source/stack-8.10.2.yaml b/source/stack-8.10.2.yaml deleted file mode 100644 index 59a210daf..000000000 --- a/source/stack-8.10.2.yaml +++ /dev/null @@ -1,3 +0,0 @@ -resolver: nightly-2020-12-14 -compiler: ghc-8.10.2 -compiler-check: match-exact diff --git a/source/stack-8.10.3.yaml b/source/stack-8.10.3.yaml deleted file mode 100644 index 8a12f53cb..000000000 --- a/source/stack-8.10.3.yaml +++ /dev/null @@ -1,3 +0,0 @@ -resolver: lts-17.2 -compiler: ghc-8.10.3 -compiler-check: match-exact diff --git a/source/stack-8.10.4.yaml b/source/stack-8.10.4.yaml deleted file mode 100644 index df32574a6..000000000 --- a/source/stack-8.10.4.yaml +++ /dev/null @@ -1,3 +0,0 @@ -resolver: lts-17.13 -compiler: ghc-8.10.4 -compiler-check: match-exact diff --git a/source/stack-8.10.yaml b/source/stack-8.10.yaml new file mode 100644 index 000000000..e2c4d8f46 --- /dev/null +++ b/source/stack-8.10.yaml @@ -0,0 +1,3 @@ +resolver: lts-18.28 +compiler: ghc-8.10.7 +compiler-check: newer-minor diff --git a/source/stack-8.2.2.yaml b/source/stack-8.2.yaml similarity index 100% rename from source/stack-8.2.2.yaml rename to source/stack-8.2.yaml diff --git a/source/stack-8.4.4.yaml b/source/stack-8.4.yaml similarity index 100% rename from source/stack-8.4.4.yaml rename to source/stack-8.4.yaml diff --git a/source/stack-8.6.4.yaml b/source/stack-8.6.4.yaml deleted file mode 100644 index b9d693723..000000000 --- a/source/stack-8.6.4.yaml +++ /dev/null @@ -1,2 +0,0 @@ -resolver: lts-13.19 - diff --git a/source/stack-8.6.5.yaml b/source/stack-8.6.yaml similarity index 100% rename from source/stack-8.6.5.yaml rename to source/stack-8.6.yaml diff --git a/source/stack-8.8.2.yaml b/source/stack-8.8.2.yaml deleted file mode 100644 index a780162de..000000000 --- a/source/stack-8.8.2.yaml +++ /dev/null @@ -1,2 +0,0 @@ -resolver: lts-15.3 - diff --git a/source/stack-8.8.3.yaml b/source/stack-8.8.3.yaml deleted file mode 100644 index 6484e3ab0..000000000 --- a/source/stack-8.8.3.yaml +++ /dev/null @@ -1,2 +0,0 @@ -resolver: lts-15.8 - diff --git a/source/stack-8.8.4.yaml b/source/stack-8.8.yaml similarity index 58% rename from source/stack-8.8.4.yaml rename to source/stack-8.8.yaml index 0fa323dc0..636ab4aa1 100644 --- a/source/stack-8.8.4.yaml +++ b/source/stack-8.8.yaml @@ -1,3 +1,3 @@ resolver: lts-16.31 compiler: ghc-8.8.4 -compiler-check: match-exact +compiler-check: newer-minor diff --git a/source/stack-9.0.1.yaml b/source/stack-9.0.1.yaml deleted file mode 100644 index cc7ecfa5d..000000000 --- a/source/stack-9.0.1.yaml +++ /dev/null @@ -1,3 +0,0 @@ -resolver: nightly-2022-01-04 -compiler: ghc-9.0.1 -# compiler-check: match-exact diff --git a/source/stack-9.0.yaml b/source/stack-9.0.yaml new file mode 100644 index 000000000..212f94280 --- /dev/null +++ b/source/stack-9.0.yaml @@ -0,0 +1,3 @@ +resolver: lts-19.33 +compiler: ghc-9.0.2 +compiler-check: newer-minor diff --git a/source/stack-9.10.yaml b/source/stack-9.10.yaml new file mode 100644 index 000000000..ef80e97bf --- /dev/null +++ b/source/stack-9.10.yaml @@ -0,0 +1 @@ +resolver: lts-24.15 diff --git a/source/stack-9.12.yaml b/source/stack-9.12.yaml new file mode 100644 index 000000000..baf47babf --- /dev/null +++ b/source/stack-9.12.yaml @@ -0,0 +1,3 @@ +resolver: nightly-2025-10-14 +compiler: ghc-9.12.2 +compiler-check: newer-minor diff --git a/source/stack-9.2.yaml b/source/stack-9.2.yaml new file mode 100644 index 000000000..504a1bf1f --- /dev/null +++ b/source/stack-9.2.yaml @@ -0,0 +1,3 @@ +resolver: lts-20.26 +compiler: ghc-9.2.8 +compiler-check: newer-minor diff --git a/source/stack-9.4.yaml b/source/stack-9.4.yaml new file mode 100644 index 000000000..9034c9280 --- /dev/null +++ b/source/stack-9.4.yaml @@ -0,0 +1,3 @@ +resolver: lts-21.25 +compiler: ghc-9.4.8 +compiler-check: newer-minor diff --git a/source/stack-9.6.yaml b/source/stack-9.6.yaml new file mode 100644 index 000000000..95b9af175 --- /dev/null +++ b/source/stack-9.6.yaml @@ -0,0 +1,3 @@ +resolver: lts-22.44 +compiler: ghc-9.6.7 +compiler-check: newer-minor diff --git a/source/stack-9.8.yaml b/source/stack-9.8.yaml new file mode 100644 index 000000000..71f74d573 --- /dev/null +++ b/source/stack-9.8.yaml @@ -0,0 +1,6 @@ +resolver: lts-23.28 +compiler: ghc-9.8.4 +compiler-check: newer-minor + +packages: +- . diff --git a/stack-8.10.2.yaml b/stack-8.10.2.yaml deleted file mode 100644 index ce0f0e531..000000000 --- a/stack-8.10.2.yaml +++ /dev/null @@ -1,152 +0,0 @@ -resolver: ghc-8.10.2 -compiler: ghc-8.10.2 -compiler-check: match-exact - -extra-deps: -# For BNFC, package 'source' -- alex-3.2.5 -- happy-1.19.12 -- semigroups-0.19.1 -- string-qq-0.0.4 - -# For --test and package 'testing' -- Diff-0.4.0 -- HTF-0.14.0.3 -- HUnit-1.6.0.0 -- QuickCheck-2.13.2 -- aeson-1.5.3.0 -- ansi-terminal-0.11 -- assoc-1.0.2 -- async-2.2.2 -- attoparsec-0.13.2.4 -- base-compat-0.11.1 -- base-compat-batteries-0.11.1 -- base-orphans-0.8.2 -- base64-bytestring-1.2.0.0 -- bifunctors-5.5.7 -- blaze-builder-0.4.1.0 -- cabal-doctest-1.0.8 -- call-stack-0.2.0 -- clock-0.8 -- code-page-0.2 -- colour-2.3.5 -- comonad-5.0.6 -- constraints-0.12 -- cpphs-1.20.9.1 -- data-fix-0.3.0 -- distributive-0.6.2 -- dlist-0.8.0.8 -- doctest-0.17 -- enclosed-exceptions-1.0.3 -- ghc-paths-0.1.0.12 -- hashable-1.3.0.0 -- haskell-src-1.0.3.1 -- hspec-2.7.4 -- hspec-core-2.7.4 -- hspec-discover-2.7.4 -- hspec-expectations-0.8.2 -- integer-logarithms-1.0.3 -- lifted-async-0.10.1.2 -- lifted-base-0.2.3.12 -- monad-control-1.0.2.3 -- old-locale-1.0.0.7 -- old-time-1.1.0.3 -- polyparse-1.13 -- primitive-0.7.1.0 -- quickcheck-io-0.2.0 -- random-1.1 -# - random-1.2.0 # dependency cycle, and HTF does not like it -- regex-base-0.94.0.0 -- regex-compat-0.95.2.0 -- regex-posix-0.96.0.0 -- scientific-0.3.6.2 -- setenv-0.1.1.3 -- shelly-1.9.0 -- splitmix-0.0.5 -- strict-0.4 -- syb-0.7.1 -- tagged-0.8.6 -- temporary-1.3 -- tf-random-0.5 -- th-abstraction-0.3.2.0 -- these-1.1.1.1 -- time-compat-1.9.3 -- transformers-base-0.4.5.2 -- transformers-compat-0.6.5 -- type-equality-1 -- unix-compat-0.5.2 -- unordered-containers-0.2.12.0 -- uuid-types-1.0.3 -- vector-0.12.1.2 -- xmlgen-0.6.2.2 - -# NOT NEEDED -# - ListLike-4.7.1 -# - STMonadTrans-0.4.4 -# - ansi-terminal-0.10.3 -# - ansi-wl-pprint-0.6.9 -# - blaze-html-0.9.1.2 -# - blaze-markup-0.8.2.7 -# - boxes-0.1.5 -# - case-insensitive-1.2.1.0 -# - clock-0.8 -# - cmdargs-0.10.20 -# - colour-2.3.5 -# - conduit-1.3.2 -# - data-default-0.7.1.1 -# - data-default-class-0.1.2.0 -# - data-default-instances-containers-0.0.1 -# - data-default-instances-dlist-0.0.1 -# - data-default-instances-old-locale-0.0.1 -# - data-hash-0.2.0.1 -# - edit-distance-0.2.2.1 -# - equivalence-0.3.5 -# - extensible-exceptions-0.1.1.4 -# - extra-1.7.2 -# - fail-4.9.0.0 -# - filemanip-0.3.6.3 -# - filepattern-0.1.2 -# - fmlist-0.9.3 -# - generic-deriving-1.13.1 -# - gitrev-1.3.1 -# - hashtables-1.2.3.4 -# - haskell-lexer-1.1 -# - hostname-1.0 -# - ieee754-0.8.0 -# - libyaml-0.1.2 -# - mono-traversable-1.0.15.1 -# - murmur-hash-0.1.0.9 -# - network-uri-2.6.3.0 -# - optparse-applicative-0.16.0.0 -# - pretty-show-1.10 -# - process-extras-0.7.4 -# - regex-tdfa-1.3.1.0 -# - resourcet-1.2.3 -# - safe-0.3.19 -# - split-0.2.3.4 -# - tasty-1.2.3 -# - tasty-hunit-0.10.0.2 -# - tasty-quickcheck-0.10.1.1 -# - tasty-silver-3.1.15 -# - temporary-1.3 -# - test-framework-0.8.2.0 -# - test-framework-hunit-0.3.0.2 -# - text-icu-0.7.0.1 -# - unbounded-delays-0.1.1.0 -# - unliftio-core-0.2.0.1 -# - uri-encode-1.5.0.6 -# - utf8-string-1.0.1.1 -# - vector-algorithms-0.8.0.3 -# - wcwidth-0.0.2 -# - xml-1.3.14 -# - yaml-0.11.3.0 -# - zlib-0.6.2.2 - -flags: - transformers-compat: - five-three: true - -# Local packages, usually specified by relative directory name -packages: -- 'source' -- 'testing' diff --git a/stack-8.10.3.yaml b/stack-8.10.3.yaml deleted file mode 100644 index 3c3c4cd16..000000000 --- a/stack-8.10.3.yaml +++ /dev/null @@ -1,11 +0,0 @@ -resolver: lts-17.2 -compiler: ghc-8.10.3 -compiler-check: match-exact - -packages: -- source -- testing - -extra-deps: -- haskell-src-1.0.3.1 -- HTF-0.15.0.0 diff --git a/stack-8.10.4.yaml b/stack-8.10.yaml similarity index 52% rename from stack-8.10.4.yaml rename to stack-8.10.yaml index 78fd6806b..951d45728 100644 --- a/stack-8.10.4.yaml +++ b/stack-8.10.yaml @@ -1,10 +1,10 @@ -resolver: lts-17.13 -compiler: ghc-8.10.4 -compiler-check: match-exact +resolver: lts-18.28 +compiler: ghc-8.10.7 +compiler-check: newer-minor packages: - source -- testing +# testing # `testing` depends on more recent `HTF` extra-deps: diff --git a/stack-8.2.2.yaml b/stack-8.2.yaml similarity index 93% rename from stack-8.2.2.yaml rename to stack-8.2.yaml index fb998d304..6c0b69370 100644 --- a/stack-8.2.2.yaml +++ b/stack-8.2.yaml @@ -1,7 +1,7 @@ resolver: lts-11.22 packages: - source -- testing +# testing # `testing` depends on more recent `HTF` and `shelly` extra-deps: diff --git a/stack-8.4.4.yaml b/stack-8.4.yaml similarity index 93% rename from stack-8.4.4.yaml rename to stack-8.4.yaml index f0ce4ab2e..59bcb57d7 100644 --- a/stack-8.4.4.yaml +++ b/stack-8.4.yaml @@ -1,7 +1,7 @@ resolver: lts-12.26 packages: - source -- testing +# testing # `testing` depends on more recent `HTF` and `shelly` extra-deps: diff --git a/stack-8.6.5.yaml b/stack-8.6.yaml similarity index 98% rename from stack-8.6.5.yaml rename to stack-8.6.yaml index cb33be857..353b947c6 100644 --- a/stack-8.6.5.yaml +++ b/stack-8.6.yaml @@ -1,7 +1,7 @@ resolver: lts-14.27 packages: - source -- testing +# testing # `testing` depends on more recent `HTF` and `shelly` extra-deps: diff --git a/stack-8.8.4.yaml b/stack-8.8.yaml similarity index 77% rename from stack-8.8.4.yaml rename to stack-8.8.yaml index 80609f73f..9cf8473e8 100644 --- a/stack-8.8.4.yaml +++ b/stack-8.8.yaml @@ -1,10 +1,10 @@ resolver: lts-16.31 compiler: ghc-8.8.4 -compiler-check: match-exact +compiler-check: newer-minor packages: - source -- testing +# testing # `testing` depends on more recent `HTF` extra-deps: diff --git a/stack-9.0.yaml b/stack-9.0.yaml new file mode 100644 index 000000000..46dae9630 --- /dev/null +++ b/stack-9.0.yaml @@ -0,0 +1,7 @@ +resolver: lts-19.33 +compiler: ghc-9.0.2 +compiler-check: newer-minor + +packages: +- source +# testing diff --git a/stack-9.10.yaml b/stack-9.10.yaml new file mode 100644 index 000000000..1ddb1ea82 --- /dev/null +++ b/stack-9.10.yaml @@ -0,0 +1,7 @@ +resolver: lts-24.15 +compiler: ghc-9.10.3 +compiler-check: newer-minor + +packages: +- source +# testing diff --git a/stack-9.12.yaml b/stack-9.12.yaml new file mode 100644 index 000000000..8da1e8788 --- /dev/null +++ b/stack-9.12.yaml @@ -0,0 +1,7 @@ +resolver: nightly-2025-10-14 +compiler: ghc-9.12.2 +compiler-check: newer-minor + +packages: +- source +# testing diff --git a/stack-9.2.yaml b/stack-9.2.yaml new file mode 100644 index 000000000..77aedc24b --- /dev/null +++ b/stack-9.2.yaml @@ -0,0 +1,7 @@ +resolver: lts-20.26 +compiler: ghc-9.2.8 +compiler-check: newer-minor + +packages: +- source +# testing diff --git a/stack-9.4.yaml b/stack-9.4.yaml new file mode 100644 index 000000000..016289973 --- /dev/null +++ b/stack-9.4.yaml @@ -0,0 +1,7 @@ +resolver: lts-21.25 +compiler: ghc-9.4.8 +compiler-check: newer-minor + +packages: +- source +# testing diff --git a/stack-9.6.yaml b/stack-9.6.yaml new file mode 100644 index 000000000..c1a1f6c55 --- /dev/null +++ b/stack-9.6.yaml @@ -0,0 +1,7 @@ +resolver: lts-22.44 +compiler: ghc-9.6.7 +compiler-check: newer-minor + +packages: +- source +# testing diff --git a/stack-9.8.yaml b/stack-9.8.yaml new file mode 100644 index 000000000..9f705e0d5 --- /dev/null +++ b/stack-9.8.yaml @@ -0,0 +1,11 @@ +resolver: lts-23.28 +compiler: ghc-9.8.4 +compiler-check: newer-minor + +packages: +- source +# testing + +# extra-deps: +# - aeson-2.2.1.0 +# - th-abstraction-0.6.0.0