diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 82291f9..5c54374 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,8 +7,8 @@ on: - main workflow_dispatch: -# As of 7 July 2023, ubuntu-latest, windows-latest and macos-latest come -# with Stack 2.11.1. +# 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: build: @@ -19,36 +19,45 @@ jobs: matrix: os: - ubuntu-latest - stack-yaml: + snapshot: - stack-ghc-8.10.7.yaml - stack-ghc-9.0.2.yaml - stack-ghc-9.2.8.yaml - - stack-ghc-9.4.5.yaml - - stack-ghc-9.6.2.yaml + - stack-ghc-9.4.7.yaml + - stack-ghc-9.6.6.yaml + - stack-ghc-9.8.2.yaml + - stack-ghc-9.10.1.yaml include: - - os: macos-latest - stack-yaml: stack-ghc-9.4.5.yaml + - os: macos-13 # x86_64 + snapshot: stack-ghc-9.10.1.yaml + - os: macos-latest # AArch64 + snapshot: stack-ghc-9.10.1.yaml - os: windows-latest - stack-yaml: stack-ghc-9.4.5.yaml + snapshot: stack-ghc-9.10.1.yaml 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 }}-${{ matrix.stack-yaml }} - 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 }}-${{ matrix.stack-yaml }} - - name: Build + - name: Install dependencies and test shell: bash run: | set -ex - stack test --stack-yaml ${{ matrix.stack-yaml }} --haddock --no-haddock-deps + 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 test --snapshot ${{ matrix.snapshot }} --haddock --no-haddock-deps diff --git a/.gitignore b/.gitignore index b38e202..030250a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ # Haskell Tool Stack-related .stack-work/ +*.yaml.lock diff --git a/stack-ghc-8.10.7.yaml b/stack-ghc-8.10.7.yaml index ad79b1d..5930742 100644 --- a/stack-ghc-8.10.7.yaml +++ b/stack-ghc-8.10.7.yaml @@ -1 +1 @@ -resolver: lts-18.28 # GHC 8.10.7 +snapshot: lts-18.28 # GHC 8.10.7 diff --git a/stack-ghc-8.10.7.yaml.lock b/stack-ghc-8.10.7.yaml.lock deleted file mode 100644 index da10c3e..0000000 --- a/stack-ghc-8.10.7.yaml.lock +++ /dev/null @@ -1,12 +0,0 @@ -# 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 - -packages: [] -snapshots: -- completed: - sha256: 428ec8d5ce932190d3cbe266b9eb3c175cd81e984babf876b64019e2cbe4ea68 - size: 590100 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/28.yaml - original: lts-18.28 diff --git a/stack-ghc-9.0.2.yaml b/stack-ghc-9.0.2.yaml index 90a68f3..9723624 100644 --- a/stack-ghc-9.0.2.yaml +++ b/stack-ghc-9.0.2.yaml @@ -1 +1 @@ -resolver: lts-19.33 # GHC 9.0.2 +snapshot: lts-19.33 # GHC 9.0.2 diff --git a/stack-ghc-9.0.2.yaml.lock b/stack-ghc-9.0.2.yaml.lock deleted file mode 100644 index d79c369..0000000 --- a/stack-ghc-9.0.2.yaml.lock +++ /dev/null @@ -1,12 +0,0 @@ -# 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 - -packages: [] -snapshots: -- completed: - sha256: 6d1532d40621957a25bad5195bfca7938e8a06d923c91bc52aa0f3c41181f2d4 - size: 619204 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/19/33.yaml - original: 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..c638d89 --- /dev/null +++ b/stack-ghc-9.10.1.yaml @@ -0,0 +1,35 @@ +# Experimental snapshot to see if static-bytes can be built with GHC 9.10.1. +snapshot: ghc-9.10.1 + +packages: +- memory-0.18.0@sha256:e12bde756b01c1a28c62e46f0f8433c4890898051a786794a7d88907ca14abca,4468 +- primitive-0.9.0.0@sha256:2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c,3171 +- rio-0.1.22.0@sha256:95fc3725a638bb7d6e11be7a2cf8d601097ebc8cb992661b211a6e36ed1da726,3669 +- vector-0.13.1.0@sha256:bc032ccfb51d775eb6f4082c5fc02f5416b0ea0d6644a60d87677a6937f2d70d,9015 +- basement-0.0.16@sha256:e9458cbe67f396fb81900ec65852a582a2b7febd09b17a85adee576c8d7cc321,5404 +- hashable-1.5.0.0@sha256:fc68b07d957ade5a0a0beadd560a8d093ceac30b2f35c85eed3bcf7889a25975,5833 +- microlens-0.4.13.1@sha256:fc256e2b5d78e8e4f39b3dd359c57b8c19df50853a86eaf8f154a17441a5a51d,4703 +- microlens-mtl-0.2.0.3@sha256:92f6e76b1e0177a990496df2ab55972476a1f117d0a7b944f810bce6b4848377,2026 +- 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-stream-0.1.0.1@sha256:16a69e2ed71d7b35e16860fac520f94fa4da120eb973d9f8fbf0aa3a703d4a9f,1583 +- async-2.2.5@sha256:cf9e6afba8e01830ca0d32a12b98d481cf389688762c80d1870a1db2061ebf35,3257 +- safe-exceptions-0.1.7.4@sha256:8bb7261bd54bd58acfcb154be6a161fb6d0d31a1852aadc8e927d2ad2d7651d1,1412 +- transformers-compat-0.7.2@sha256:044fb9955f63ee138fcebedfdcbe54afe741f2d5892a2d0bdf3a8052bd342643,5601 +- QuickCheck-2.15.0.1@sha256:ff732606dd8b3f76e3cb87a26516583d183729bf540085228c82adf037aca8bf,8751 +- hspec-2.11.9@sha256:6e7fb7a40404f11b028f1b19f07779887b2c8af04cbae7eaea73e83c440954c7,1763 +- hspec-discover-2.11.9@sha256:74c689bf33d7373bac5d4ffe273fe0b034d277c30aa2a23d3790d5b365dbdf1c,2169 +- hspec-core-2.11.9@sha256:a38fdefae046551335b56300e19b1ab2f902aa6401d1eb374e5ea81df85f6997,6826 +- hspec-expectations-0.8.4@sha256:4237f094a7931202ff57ac6475542b0b314b50a7024550e2b6eb87cfb0d4ff93,1702 +- random-1.2.1.2@sha256:32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867,6460 +- splitmix-0.1.0.5@sha256:caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b,6596 +- HUnit-1.6.2.0@sha256:1a79174e8af616117ad39464cac9de205ca923da6582825e97c10786fda933a4,1588 +- ansi-terminal-1.1.1@sha256:5b3e9228323416a1962d5948b18f9eff8569ad94a368e15f0e6104128783f572,2894 +- call-stack-0.4.0@sha256:ac44d2c00931dc20b01750da8c92ec443eb63a7231e8550188cb2ac2385f7feb,1200 +- haskell-lexer-1.1.1@sha256:4ce310678b7e56b51acb558c0233d2f71a3f3553f8a88e9b48c0bc68301f799b,1296 +- quickcheck-io-0.2.0@sha256:7bf0b68fb90873825eb2e5e958c1b76126dcf984debb998e81673e6d837e0b2d,1133 +- tf-random-0.5@sha256:14012837d0f0e18fdbbe3d56e67da8622ee5e20b180abce952dd50bd9f36b326,3983 +- ansi-terminal-types-1.1@sha256:135f6a381afa19d53d0a3fe40b6dd47e6666c538b09e4300fbb1438759df3248,1462 +- colour-2.3.6@sha256:ebdcbf15023958838a527e381ab3c3b1e99ed12d1b25efeb7feaa4ad8c37664a,2378 diff --git a/stack-ghc-9.2.8.yaml b/stack-ghc-9.2.8.yaml index 10585fc..a268682 100644 --- a/stack-ghc-9.2.8.yaml +++ b/stack-ghc-9.2.8.yaml @@ -1 +1,5 @@ -resolver: lts-20.26 # GHC 9.2.8 +snapshot: lts-20.26 # GHC 9.2.8 + +flags: + ansi-terminal: + win32-2-13-1: false diff --git a/stack-ghc-9.4.5.yaml b/stack-ghc-9.4.5.yaml deleted file mode 100644 index 5a12fb6..0000000 --- a/stack-ghc-9.4.5.yaml +++ /dev/null @@ -1 +0,0 @@ -resolver: lts-21.1 # GHC 9.4.5 diff --git a/stack-ghc-9.4.5.yaml.lock b/stack-ghc-9.4.5.yaml.lock deleted file mode 100644 index 8101531..0000000 --- a/stack-ghc-9.4.5.yaml.lock +++ /dev/null @@ -1,12 +0,0 @@ -# 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 - -packages: [] -snapshots: -- completed: - sha256: c4381351ba5837a6356fcc0ebeb7a61fdcaf3a085c903a6f730f56b131d5cb58 - size: 639143 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/21/1.yaml - original: lts-21.1 diff --git a/stack-ghc-9.4.7.yaml b/stack-ghc-9.4.7.yaml new file mode 100644 index 0000000..e6c1dfa --- /dev/null +++ b/stack-ghc-9.4.7.yaml @@ -0,0 +1 @@ +snapshot: lts-21.21 # GHC 9.4.7 diff --git a/stack-ghc-9.6.2.yaml b/stack-ghc-9.6.2.yaml deleted file mode 100644 index 166652c..0000000 --- a/stack-ghc-9.6.2.yaml +++ /dev/null @@ -1 +0,0 @@ -resolver: nightly-2023-07-07 # GHC 9.6.2 diff --git a/stack-ghc-9.6.2.yaml.lock b/stack-ghc-9.6.2.yaml.lock deleted file mode 100644 index a204f31..0000000 --- a/stack-ghc-9.6.2.yaml.lock +++ /dev/null @@ -1,12 +0,0 @@ -# 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 - -packages: [] -snapshots: -- completed: - sha256: e134cdce2ef4c28a0791a8c33aa6e35d4a3eeebc30b842a3062b318b84ae2b68 - size: 544564 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2023/7/7.yaml - original: nightly-2023-07-07 diff --git a/stack-ghc-9.6.6.yaml b/stack-ghc-9.6.6.yaml new file mode 100644 index 0000000..4929a14 --- /dev/null +++ b/stack-ghc-9.6.6.yaml @@ -0,0 +1 @@ +snapshot: lts-22.38 # GHC 9.6.6 diff --git a/stack-ghc-9.8.2.yaml b/stack-ghc-9.8.2.yaml new file mode 100644 index 0000000..ee68d95 --- /dev/null +++ b/stack-ghc-9.8.2.yaml @@ -0,0 +1 @@ +snapshot: nightly-2024-10-11 # GHC 9.8.2 diff --git a/stack.yaml b/stack.yaml index 149a341..28cc40e 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1 +1 @@ -resolver: stack-ghc-9.4.5.yaml +snapshot: stack-ghc-9.6.6.yaml diff --git a/stack.yaml.lock b/stack.yaml.lock index 8101531..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: c4381351ba5837a6356fcc0ebeb7a61fdcaf3a085c903a6f730f56b131d5cb58 - size: 639143 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/21/1.yaml - original: lts-21.1 + sha256: 0964f3e2c04e21abf42e271490e6974bc923aac2f2fd595fcb53ad0c237dbed1 + size: 720034 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/38.yaml + original: lts-22.38