diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d6e6424..6af096a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -12,15 +12,15 @@ jobs: runs-on: ubuntu-latest steps: - name: Clone project - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Apply yamllint uses: ibiqlik/action-yamllint@v3 with: format: github - name: Set up HLint - uses: haskell/actions/hlint-setup@v2 + uses: haskell-actions/hlint-setup@v2 with: - version: "3.6.1" + version: "3.8" - name: Apply HLint run: | set -ex diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index bcb8679..0d986e2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,8 +7,8 @@ on: - master workflow_dispatch: -# As of 11 October 2023, ubuntu-latest and windows-latest come with -# Stack 2.13.1. macos-latest comes with Stack 2.9.3. +# As of 19 October 2024, ubuntu-latest and windows-latest come with +# Stack 3.1.1. macos-13 and macos-latest do not come with Haskell tools. jobs: tests: @@ -20,35 +20,46 @@ jobs: os: - ubuntu-latest - windows-latest - - macos-latest + - macos-13 # x86_64 + - macos-latest # AArch64 resolver: - - stack-ghc-8.8.4.yaml - stack-ghc-8.10.7.yaml - stack-ghc-9.0.2.yaml - stack-ghc-9.2.8.yaml - stack-ghc-9.4.7.yaml - - stack-ghc-9.6.3.yaml - - stack-ghc-9.8.1.yaml + - stack-ghc-9.6.6.yaml + - stack-ghc-9.8.2.yaml + - stack-ghc-9.10.1.yaml + exclude: + - os: macos-latest + resolver: stack-ghc-8.10.7.yaml # GHC 8.10.7 needs LLVM >= 9 & <= 12 + - os: macos-latest + resolver: stack-ghc-9.0.2.yaml # GHC 9.0.2 needs LLVM >= 9 & <= 12 steps: - name: Clone project - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Cache dependencies on Unix-like OS if: startsWith(runner.os, 'Linux') || startsWith(runner.os, 'macOS') - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.stack key: ${{ runner.os }}-${{ hashFiles( matrix.resolver ) }} - name: Cache dependencies on Windows if: startsWith(runner.os, 'Windows') - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | ~\AppData\Roaming\stack ~\AppData\Local\Programs\stack key: ${{ runner.os }}-${{ hashFiles( matrix.resolver ) }} - - name: Test + - name: Install dependencies and test shell: bash run: | set -ex + if [[ "${{ matrix.os }}" == "macos-13" || "${{ matrix.os }}" == "macos-latest" ]] + then + # macos-13 and macos-latest do not include Haskell tools as at 2024-10-19. + curl -sSL https://get.haskellstack.org/ | sh + fi stack --resolver=${{ matrix.resolver }} test --bench --only-dependencies stack --resolver=${{ matrix.resolver }} test --haddock --no-haddock-deps --bench --no-run-benchmarks diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5aa683a..208c9ed 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -27,8 +27,8 @@ from the objective, consider marking it in the configuration file to be ignored. ## Testing The library is tested using GitHub Actions. The GitHub Actions script aims to -test builds with versions of GHC released within the last three years. GHC 8.8.4 -was released on 15 July 2020. +test builds with versions of GHC released within at least the last three years. +GHC 8.10.7 was released on 27 August 2021. A separate Stack project-level configuration file is provided for the most recent release of each major GHC version for which there is a Stackage snapshot. diff --git a/stack-ghc-8.10.7.yaml b/stack-ghc-8.10.7.yaml index f54efca..deb5f68 100644 --- a/stack-ghc-8.10.7.yaml +++ b/stack-ghc-8.10.7.yaml @@ -1,2 +1,2 @@ # GHC 8.10.7 -resolver: lts-18.28 +snapshot: lts-18.28 diff --git a/stack-ghc-8.6.5.yaml b/stack-ghc-8.6.5.yaml index c4a6b87..e6be297 100644 --- a/stack-ghc-8.6.5.yaml +++ b/stack-ghc-8.6.5.yaml @@ -1,2 +1,2 @@ # GHC 8.6.5 -resolver: lts-14.27 +snapshot: lts-14.27 diff --git a/stack-ghc-8.8.4.yaml b/stack-ghc-8.8.4.yaml index 00f5e86..fe31459 100644 --- a/stack-ghc-8.8.4.yaml +++ b/stack-ghc-8.8.4.yaml @@ -1,2 +1,2 @@ # GHC 8.8.4 -resolver: lts-16.31 +snapshot: lts-16.31 diff --git a/stack-ghc-9.0.2.yaml b/stack-ghc-9.0.2.yaml index 9caa14b..60588ed 100644 --- a/stack-ghc-9.0.2.yaml +++ b/stack-ghc-9.0.2.yaml @@ -1,2 +1,2 @@ # GHC 9.0.2 -resolver: lts-19.33 +snapshot: lts-19.33 diff --git a/stack-ghc-9.10.1.yaml b/stack-ghc-9.10.1.yaml new file mode 100644 index 0000000..93d74de --- /dev/null +++ b/stack-ghc-9.10.1.yaml @@ -0,0 +1,36 @@ +# This is an experimental snapshot, to see if hi-file-parser can be built with +# GHC 9.10.1. + +# GHC 9.10.1 +snapshot: ghc-9.10.1 + +packages: +- QuickCheck-2.15.0.1@sha256:ff732606dd8b3f76e3cb87a26516583d183729bf540085228c82adf037aca8bf,8751 +- ansi-terminal-1.1.1@sha256:5b3e9228323416a1962d5948b18f9eff8569ad94a368e15f0e6104128783f572,2894 +- ansi-terminal-types-1.1@sha256:135f6a381afa19d53d0a3fe40b6dd47e6666c538b09e4300fbb1438759df3248,1462 +- async-2.2.5@sha256:cf9e6afba8e01830ca0d32a12b98d481cf389688762c80d1870a1db2061ebf35,3257 +- call-stack-0.4.0@sha256:ac44d2c00931dc20b01750da8c92ec443eb63a7231e8550188cb2ac2385f7feb,1200 +- colour-2.3.6@sha256:ebdcbf15023958838a527e381ab3c3b1e99ed12d1b25efeb7feaa4ad8c37664a,2378 +- hashable-1.5.0.0@sha256:fc68b07d957ade5a0a0beadd560a8d093ceac30b2f35c85eed3bcf7889a25975,5833 +- haskell-lexer-1.1.1@sha256:4ce310678b7e56b51acb558c0233d2f71a3f3553f8a88e9b48c0bc68301f799b,1296 +- hspec-2.11.9@sha256:6e7fb7a40404f11b028f1b19f07779887b2c8af04cbae7eaea73e83c440954c7,1763 +- hspec-core-2.11.9@sha256:a38fdefae046551335b56300e19b1ab2f902aa6401d1eb374e5ea81df85f6997,6826 +- hspec-discover-2.11.9@sha256:74c689bf33d7373bac5d4ffe273fe0b034d277c30aa2a23d3790d5b365dbdf1c,2169 +- hspec-expectations-0.8.4@sha256:4237f094a7931202ff57ac6475542b0b314b50a7024550e2b6eb87cfb0d4ff93,1702 +- HUnit-1.6.2.0@sha256:1a79174e8af616117ad39464cac9de205ca923da6582825e97c10786fda933a4,1588 +- microlens-0.4.13.1@sha256:fc256e2b5d78e8e4f39b3dd359c57b8c19df50853a86eaf8f154a17441a5a51d,4703 +- microlens-mtl-0.2.0.3@sha256:92f6e76b1e0177a990496df2ab55972476a1f117d0a7b944f810bce6b4848377,2026 +- primitive-0.9.0.0@sha256:2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c,3171 +- quickcheck-io-0.2.0@sha256:7bf0b68fb90873825eb2e5e958c1b76126dcf984debb998e81673e6d837e0b2d,1133 +- random-1.2.1.2@sha256:32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867,6460 +- rio-0.1.22.0@sha256:95fc3725a638bb7d6e11be7a2cf8d601097ebc8cb992661b211a6e36ed1da726,3669 +- safe-exceptions-0.1.7.4@sha256:8bb7261bd54bd58acfcb154be6a161fb6d0d31a1852aadc8e927d2ad2d7651d1,1412 +- splitmix-0.1.0.5@sha256:caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b,6596 +- tf-random-0.5@sha256:14012837d0f0e18fdbbe3d56e67da8622ee5e20b180abce952dd50bd9f36b326,3983 +- transformers-compat-0.7.2@sha256:044fb9955f63ee138fcebedfdcbe54afe741f2d5892a2d0bdf3a8052bd342643,5601 +- typed-process-0.2.12.0@sha256:ef8a3bd94aac6f9823098f49bd8c7199125ae5e61d82b583007180dad17a145d,2198 +- unliftio-0.2.25.0@sha256:d015242554890370bcbc3a575019be691d0edc279736ef97d29412fb9d0c4349,3410 +- unliftio-core-0.2.1.0@sha256:f6a2736f858b5390d9384dca43d3ea4d96e9ca17217791791ca4951ba6e8072a,996 +- unordered-containers-0.2.20@sha256:c7fe9cba405ed9905e12d89c7add3b3eb9868dfba7975e70ba0cdd64b7b11abc,3921 +- vector-0.13.1.0@sha256:bc032ccfb51d775eb6f4082c5fc02f5416b0ea0d6644a60d87677a6937f2d70d,9015 +- vector-stream-0.1.0.1@sha256:16a69e2ed71d7b35e16860fac520f94fa4da120eb973d9f8fbf0aa3a703d4a9f,1583 diff --git a/stack-ghc-9.2.8.yaml b/stack-ghc-9.2.8.yaml index eac6173..1ba6dbb 100644 --- a/stack-ghc-9.2.8.yaml +++ b/stack-ghc-9.2.8.yaml @@ -1,5 +1,5 @@ # GHC 9.2.8 -resolver: lts-20.26 +snapshot: lts-20.26 flags: ansi-terminal: diff --git a/stack-ghc-9.4.7.yaml b/stack-ghc-9.4.7.yaml index c5edddb..fbf385e 100644 --- a/stack-ghc-9.4.7.yaml +++ b/stack-ghc-9.4.7.yaml @@ -1,5 +1,5 @@ # GHC 9.4.7 -resolver: lts-21.15 +snapshot: lts-21.15 flags: ansi-terminal: diff --git a/stack-ghc-9.6.3.yaml b/stack-ghc-9.6.3.yaml deleted file mode 100644 index 68b823f..0000000 --- a/stack-ghc-9.6.3.yaml +++ /dev/null @@ -1,2 +0,0 @@ -# GHC 9.6.3 -resolver: nightly-2023-10-09 diff --git a/stack-ghc-9.6.6.yaml b/stack-ghc-9.6.6.yaml new file mode 100644 index 0000000..ea20364 --- /dev/null +++ b/stack-ghc-9.6.6.yaml @@ -0,0 +1,2 @@ +# GHC 9.6.6 +snapshot: lts-22.38 diff --git a/stack-ghc-9.8.1.yaml b/stack-ghc-9.8.1.yaml deleted file mode 100644 index f0f1446..0000000 --- a/stack-ghc-9.8.1.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# This is an experimental snapshot, to see if hi-file-parser can be built with -# GHC 9.8.1. - -# GHC 9.8.1 -resolver: ghc-9.8.1 - -packages: -- ansi-terminal-1.0@sha256:640ffecfd95471388d939fcacb57bdc0cef15f0457746c234a12cdd5a6c6d1e8,2706 -- ansi-terminal-types-0.11.5@sha256:f78440dfd95c4509e88855ac7cc2d9566ddf956a92c1290404cac93ad1a1b00a,1482 -- async-2.2.4@rev:4 -- call-stack-0.4.0@sha256:ac44d2c00931dc20b01750da8c92ec443eb63a7231e8550188cb2ac2385f7feb,1200 -- colour-2.3.6@sha256:ebdcbf15023958838a527e381ab3c3b1e99ed12d1b25efeb7feaa4ad8c37664a,2378 -- hashable-1.4.3.0@sha256:f3bf68acfa0df7a064a378ef2cdcfeb55e6fb96100675f4c593556dcbf3d7194,4718 -- haskell-lexer-1.1.1@sha256:4ce310678b7e56b51acb558c0233d2f71a3f3553f8a88e9b48c0bc68301f799b,1296 -- hspec-2.11.6@sha256:3b06ca8422508e33d1cfefb9b263d459533b7ef1f1eb14941ea147da5eb377ad,1763 -- hspec-core-2.11.6@sha256:4129e8e1d3d3a8a9feaf2f1d77d115b985c51dcae1a8d44917434fb790da1749,6814 -- hspec-discover-2.11.6@sha256:a407a35ad79ddc992de3d52bb6d93fc2e1d8db6b30e78615d1211725ea92809a,2169 -- hspec-expectations-0.8.4@sha256:4237f094a7931202ff57ac6475542b0b314b50a7024550e2b6eb87cfb0d4ff93,1702 -- HUnit-1.6.2.0@sha256:1a79174e8af616117ad39464cac9de205ca923da6582825e97c10786fda933a4,1588 -- microlens-0.4.13.1@sha256:0cd8a0da5fe1b5a5c327bb5296d30940dc9f92c169372939bfcecd3faee953d7,4642 -- microlens-mtl-0.2.0.3@sha256:0ace1ba95677117219681fb9a8b08b3bf049ab5973eed14453b260aaf1feb582,1965 -- primitive-0.8.0.0@sha256:d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670,3241 -- QuickCheck-2.14.3@sha256:f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4,7847 -- quickcheck-io-0.2.0@sha256:7bf0b68fb90873825eb2e5e958c1b76126dcf984debb998e81673e6d837e0b2d,1133 -- random-1.2.1.1@sha256:e7c1f881159d5cc788619c9ee8b8f340ba2ff0db571cdf3d1a1968ebc5108789,6777 -- rio-0.1.22.0@sha256:95fc3725a638bb7d6e11be7a2cf8d601097ebc8cb992661b211a6e36ed1da726,3669 -- safe-exceptions-0.1.7.4@sha256:f4aad0eca90044cb1eba53b84f75d5fa142d25d695117730bf31178d409c4fe0,1398 -- splitmix-0.1.0.5@sha256:bac0ae8d46a04e410666b0c8081cff63f060f29157983b569ca86ddb6e6e0dc6,6557 -- tf-random-0.5@sha256:14012837d0f0e18fdbbe3d56e67da8622ee5e20b180abce952dd50bd9f36b326,3983 -- transformers-compat-0.7.2@sha256:044fb9955f63ee138fcebedfdcbe54afe741f2d5892a2d0bdf3a8052bd342643,5601 -- typed-process-0.2.11.0@sha256:defde2c4dcd07750381d6e15ee7a517938c8d6353abcf27bba9f290e75a67d39,2070 -- unliftio-0.2.25.0@sha256:d015242554890370bcbc3a575019be691d0edc279736ef97d29412fb9d0c4349,3410 -- unliftio-core-0.2.1.0@sha256:cb78a95718f9cb2579a8a1208d4a148ea358f0774321c8cb905bfb0b96a2813c,1004 -- unordered-containers-0.2.19.1@sha256:9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00,3822 -- vector-0.13.0.0@sha256:1d0b2128c7151e06c2417616afedcb1a4d54087afeba623c55dd4b29094d4348,9112 -- vector-stream-0.1.0.0@sha256:8977959d4bec54d9f2c5e9d4baa2cac7ab26e804a72591df8db887e0692ae8ae,1404 diff --git a/stack-ghc-9.8.2.yaml b/stack-ghc-9.8.2.yaml new file mode 100644 index 0000000..5e837d2 --- /dev/null +++ b/stack-ghc-9.8.2.yaml @@ -0,0 +1,2 @@ +# GHC 9.8.2 +snapshot: nightly-2024-10-11 diff --git a/stack.yaml b/stack.yaml index 7422ef5..28cc40e 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1 +1 @@ -snapshot: stack-ghc-9.4.7.yaml +snapshot: stack-ghc-9.6.6.yaml diff --git a/stack.yaml.lock b/stack.yaml.lock index 3b6260a..43360c2 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -1,12 +1,12 @@ # This file was autogenerated by Stack. # You should not edit this file by hand. # For more information, please see the documentation at: -# https://docs.haskellstack.org/en/stable/lock_files +# https://docs.haskellstack.org/en/stable/topics/lock_files packages: [] snapshots: - completed: - sha256: 350737ef1c4c748f4c7ff56b6e74f2f6d15039a2f148662a8ec1aded016b80d0 - size: 640033 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/21/15.yaml - original: lts-21.15 + sha256: 0964f3e2c04e21abf42e271490e6974bc923aac2f2fd595fcb53ad0c237dbed1 + size: 720034 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/38.yaml + original: lts-22.38