From 6d9ea59236845206a7648f6995d22142938e133a Mon Sep 17 00:00:00 2001 From: Pat Brisbin Date: Fri, 10 Jan 2025 13:59:09 -0500 Subject: [PATCH] Many updates * git-ignore stack.yaml.lock files These lock files help with reproducibility and can alert developers if the exact code behind a given resolver or extra-dep has changed since the last build. However, certain tooling does or does not keep them updated and this fact has led to confusion that is not worth this benefit, particularly in projects with a lot of separate resolver files. Therefore, we're going to start phasing out keeping them committed. * Rename stack-lts files to only specify major That's all that matters, and we don't want filenames (and test matrix names) to change if minor versions fluctuate. As part of this we move, to a hyphen-less suffix since that's what some tooling (stack-all) expects, and it doesn't negatively affect anything else. * Use new haskell-actions organization * Configure actions-based Restyled * Add .stack-all configuration * Add stack configurations for lts 21 through 23 * Make stack.yaml a symlink to stack-lts23.yaml * Update release workflow - `haskell-tag-action` doesn't need an explicit token - `stack-upload-action` is deprecated, just use `stack upload` * Add typically-disabled 9.8 warnings * Add lts20-like extra-deps to lts21 * Update extra-deps in lts21 * Remove unnecessary pragma Newer hspec-discover seems to include an export list. * Move from library,tests to src,test Anecdotally, `app,src,test` is more common that `executables,library,tests`. It's also what `stack new` creates (`cabal init` creates no directories). No one on the team expressed a strong objection[^1], so we'll start a soft migration (i.e. use it in new stuff, change at our leisure). [^1]: https://freckleinc.slack.com/archives/C459XJBGR/p1702402421106759 --- .github/workflows/ci.yml | 4 +- .github/workflows/release.yml | 7 +- .github/workflows/restyled.yml | 18 +++++ .gitignore | 3 +- .stack-all | 2 + haskell-library-template.cabal | 12 ++- package.yaml | 8 +- stack-lts-12.26.yaml.lock | 96 ------------------------ stack-lts-14.27.yaml.lock | 75 ------------------ stack-lts-16.31.yaml.lock | 68 ----------------- stack-lts-18.28.yaml.lock | 61 --------------- stack-lts-19.33.yaml.lock | 61 --------------- stack-lts-20.26.yaml.lock | 54 ------------- stack-lts-12.26.yaml => stack-lts12.yaml | 0 stack-lts-14.27.yaml => stack-lts14.yaml | 0 stack-lts-16.31.yaml => stack-lts16.yaml | 0 stack-lts-18.28.yaml => stack-lts18.yaml | 0 stack-lts-19.33.yaml => stack-lts19.yaml | 0 stack-lts-20.26.yaml => stack-lts20.yaml | 0 stack-lts21.yaml | 9 +++ stack-lts22.yaml | 1 + stack-lts23.yaml | 1 + stack-nightly.yaml.lock | 12 --- stack.yaml | 2 +- stack.yaml.lock | 12 --- {tests => test}/Spec.hs | 0 {tests => test}/SpecHook.hs | 0 {tests => test}/WhateverSpec.hs | 0 28 files changed, 54 insertions(+), 452 deletions(-) create mode 100644 .github/workflows/restyled.yml create mode 100644 .stack-all delete mode 100644 stack-lts-12.26.yaml.lock delete mode 100644 stack-lts-14.27.yaml.lock delete mode 100644 stack-lts-16.31.yaml.lock delete mode 100644 stack-lts-18.28.yaml.lock delete mode 100644 stack-lts-19.33.yaml.lock delete mode 100644 stack-lts-20.26.yaml.lock rename stack-lts-12.26.yaml => stack-lts12.yaml (100%) rename stack-lts-14.27.yaml => stack-lts14.yaml (100%) rename stack-lts-16.31.yaml => stack-lts16.yaml (100%) rename stack-lts-18.28.yaml => stack-lts18.yaml (100%) rename stack-lts-19.33.yaml => stack-lts19.yaml (100%) rename stack-lts-20.26.yaml => stack-lts20.yaml (100%) create mode 100644 stack-lts21.yaml create mode 100644 stack-lts22.yaml create mode 100644 stack-lts23.yaml delete mode 100644 stack-nightly.yaml.lock mode change 100644 => 120000 stack.yaml delete mode 100644 stack.yaml.lock rename {tests => test}/Spec.hs (100%) rename {tests => test}/SpecHook.hs (100%) rename {tests => test}/WhateverSpec.hs (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5b89b0a..477a784 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,7 +39,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: haskell/actions/hlint-setup@v2 - - uses: haskell/actions/hlint-run@v2 + - uses: haskell-actions/hlint-setup@v2 + - uses: haskell-actions/hlint-run@v2 with: fail-on: warning diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c346083..bc59d08 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,10 +13,9 @@ jobs: - id: tag uses: freckle/haskell-tag-action@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - if: steps.tag.outputs.tag - uses: freckle/stack-upload-action@v2 + run: stack upload --pvp-bounds lower . env: - HACKAGE_API_KEY: ${{ secrets.HACKAGE_UPLOAD_API_KEY }} + HACKAGE_KEY: ${{ secrets.HACKAGE_UPLOAD_API_KEY }} + STACK_YAML: stack-lts12.yaml diff --git a/.github/workflows/restyled.yml b/.github/workflows/restyled.yml new file mode 100644 index 0000000..b54bdc6 --- /dev/null +++ b/.github/workflows/restyled.yml @@ -0,0 +1,18 @@ +name: Restyled + +on: + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + restyled: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: restyled-io/actions/setup@v4 + - uses: restyled-io/actions/run@v4 + with: + suggestions: true diff --git a/.gitignore b/.gitignore index 06dae82..481c257 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ -.stack-work *.hie .hiedb +.stack-work +stack*.yaml.lock diff --git a/.stack-all b/.stack-all new file mode 100644 index 0000000..7b4bdbf --- /dev/null +++ b/.stack-all @@ -0,0 +1,2 @@ +[versions] +oldest = lts-12 diff --git a/haskell-library-template.cabal b/haskell-library-template.cabal index d5104b8..a41fb37 100644 --- a/haskell-library-template.cabal +++ b/haskell-library-template.cabal @@ -1,6 +1,6 @@ cabal-version: 1.18 --- This file has been generated from package.yaml by hpack version 0.36.0. +-- This file has been generated from package.yaml by hpack version 0.37.0. -- -- see: https://github.com/sol/hpack @@ -33,7 +33,7 @@ library other-modules: Paths_haskell_library_template hs-source-dirs: - library + src default-extensions: BangPatterns DataKinds @@ -63,6 +63,8 @@ library build-depends: base <5 default-language: Haskell2010 + if impl(ghc >= 9.8) + ghc-options: -Wno-missing-role-annotations -Wno-missing-poly-kind-signatures if impl(ghc >= 9.2) ghc-options: -Wno-missing-kind-signatures if impl(ghc >= 8.10) @@ -105,6 +107,8 @@ test-suite readme base <5 , markdown-unlit default-language: Haskell2010 + if impl(ghc >= 9.8) + ghc-options: -Wno-missing-role-annotations -Wno-missing-poly-kind-signatures if impl(ghc >= 9.2) ghc-options: -Wno-missing-kind-signatures if impl(ghc >= 8.10) @@ -120,7 +124,7 @@ test-suite spec WhateverSpec Paths_haskell_library_template hs-source-dirs: - tests + test default-extensions: BangPatterns DataKinds @@ -152,6 +156,8 @@ test-suite spec , hspec , hspec-junit-formatter default-language: Haskell2010 + if impl(ghc >= 9.8) + ghc-options: -Wno-missing-role-annotations -Wno-missing-poly-kind-signatures if impl(ghc >= 9.2) ghc-options: -Wno-missing-kind-signatures if impl(ghc >= 8.10) diff --git a/package.yaml b/package.yaml index 934b834..0625c14 100644 --- a/package.yaml +++ b/package.yaml @@ -30,6 +30,10 @@ ghc-options: - -Wno-unsafe when: + - condition: "impl(ghc >= 9.8)" + ghc-options: + - -Wno-missing-role-annotations + - -Wno-missing-poly-kind-signatures - condition: "impl(ghc >= 9.2)" ghc-options: - -Wno-missing-kind-signatures @@ -71,12 +75,12 @@ default-extensions: - TypeFamilies library: - source-dirs: library + source-dirs: src tests: spec: main: Spec.hs - source-dirs: tests + source-dirs: test ghc-options: -threaded -rtsopts "-with-rtsopts=-N" dependencies: #- haskell-library-template diff --git a/stack-lts-12.26.yaml.lock b/stack-lts-12.26.yaml.lock deleted file mode 100644 index 0502586..0000000 --- a/stack-lts-12.26.yaml.lock +++ /dev/null @@ -1,96 +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: -- completed: - hackage: call-stack-0.2.0@sha256:5ce796b78d5f964468ec6fe0717b4e7d0430817f37370c47b3e6b38e345b6643,1202 - pantry-tree: - sha256: 30cc02f50a7f660db6b5c4218b4021cd78cae90b135d893d55f32a1c8b1e1c08 - size: 500 - original: - hackage: call-stack-0.2.0 -- completed: - hackage: hspec-2.10.0@sha256:2d1dc53e361998f002497b7222fdb700cc540b2aaf880e2619a0b5d54abb74e5,1712 - pantry-tree: - sha256: 5d8a184b89267523718e22cc4ded4c980d08af7aa4b53ec027822d0cf5065756 - size: 583 - original: - hackage: hspec-2.10.0 -- completed: - hackage: hspec-api-2.10.0@sha256:68690737181eae90d25e214803d966658e661215ddf5e24f1495b54a71a09364,1509 - pantry-tree: - sha256: 5f40ff2d1b0e137530fd5ea0790e0f8a08ea1552cf570627861e666bd291fad0 - size: 665 - original: - hackage: hspec-api-2.10.0 -- completed: - hackage: hspec-core-2.10.0@sha256:0402831c0af58d182da49f836aef6da9e195d242856ea8ce3f4ce3df245c85b0,6677 - pantry-tree: - sha256: 217e63acceb2c29d07d06b4fad648ed79575bc6d1158619a275677d5902b05ef - size: 5819 - original: - hackage: hspec-core-2.10.0 -- completed: - hackage: hspec-discover-2.10.0@sha256:517d0892217539969c199f9cc30065db7bcd68ff5512095e4f94ff8ef35d1313,2166 - pantry-tree: - sha256: 5e31c43b5c1477987d7321456b3dc69ce0b8f35312c5ea516702f91be42b20ca - size: 828 - original: - hackage: hspec-discover-2.10.0 -- completed: - hackage: hspec-golden-0.2.1.0@sha256:b695ae72685bbb5acd04cdd79d07c43de5ab8867e28662dd1a0002296f2a4940,2635 - pantry-tree: - sha256: d72fec5f2c0568ae958282c7a8b8f5bfba146e3e4ceee0510c0e22be5c8eb740 - size: 495 - original: - hackage: hspec-golden-0.2.1.0 -- completed: - hackage: hspec-junit-formatter-1.1.2.1@sha256:d45e8a6389339dc9e0213387e875a7e52545b1895632b20280942f383715542b,5842 - pantry-tree: - sha256: 4bbe193b2ece70aba1f435e72fa56ea7b30f0517b7405d6798adb4a27fe69c76 - size: 1491 - original: - hackage: hspec-junit-formatter-1.1.2.1 -- completed: - hackage: QuickCheck-2.14.2@sha256:4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa,7736 - pantry-tree: - sha256: 2fe423d0ed7cd64f0f165d708779f48814e66c4f181c568468134af55d86a5f8 - size: 2315 - original: - hackage: QuickCheck-2.14.2@sha256:4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa,7736 -- completed: - hackage: random-1.2.1@sha256:8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2,6598 - pantry-tree: - sha256: 8bdc994ce41f43624ab42302a881fe5a0f81d965f5d238841e24943664681a06 - size: 1528 - original: - hackage: random-1.2.1@sha256:8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2,6598 -- completed: - hackage: regex-base-0.94.0.2@sha256:3a76c313f9f75e8e0b3c103c1bff5bbaf754da30cbddedc1d5b7061d001030e0,2661 - pantry-tree: - sha256: be7123592a3f9d0e5ba7f61d689dfa9b8a9ebd731d5aee0280d2761bdc842edc - size: 531 - original: - hackage: regex-base-0.94.0.2@sha256:3a76c313f9f75e8e0b3c103c1bff5bbaf754da30cbddedc1d5b7061d001030e0 -- completed: - hackage: regex-tdfa-1.3.2.2@sha256:cdf462f6280804baa264e42e3e328ba02ec71d9335de706f3dee778890a25c0e,7042 - pantry-tree: - sha256: fe183406bec992541629cfa079ea3c7bd7946960b09b21fb921a9209d9df1132 - size: 2674 - original: - hackage: regex-tdfa-1.3.2.2@sha256:cdf462f6280804baa264e42e3e328ba02ec71d9335de706f3dee778890a25c0e,7042 -- completed: - hackage: splitmix-0.1.0.4@sha256:714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1,6483 - pantry-tree: - sha256: 79f4645c11b7a3861db0b596297f72804f509444d639a8fd7c0162b1ed80c578 - size: 1519 - original: - hackage: splitmix-0.1.0.4@sha256:714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1,6483 -snapshots: -- completed: - sha256: 95f014df58d0679b1c4a2b7bf2b652b61da8d30de5f571abb0d59015ef678646 - size: 509471 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/12/26.yaml - original: lts-12.26 diff --git a/stack-lts-14.27.yaml.lock b/stack-lts-14.27.yaml.lock deleted file mode 100644 index 7a56415..0000000 --- a/stack-lts-14.27.yaml.lock +++ /dev/null @@ -1,75 +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: -- completed: - hackage: call-stack-0.2.0@sha256:5ce796b78d5f964468ec6fe0717b4e7d0430817f37370c47b3e6b38e345b6643,1202 - pantry-tree: - sha256: 30cc02f50a7f660db6b5c4218b4021cd78cae90b135d893d55f32a1c8b1e1c08 - size: 500 - original: - hackage: call-stack-0.2.0 -- completed: - hackage: hspec-2.10.0@sha256:2d1dc53e361998f002497b7222fdb700cc540b2aaf880e2619a0b5d54abb74e5,1712 - pantry-tree: - sha256: 5d8a184b89267523718e22cc4ded4c980d08af7aa4b53ec027822d0cf5065756 - size: 583 - original: - hackage: hspec-2.10.0 -- completed: - hackage: hspec-api-2.10.0@sha256:68690737181eae90d25e214803d966658e661215ddf5e24f1495b54a71a09364,1509 - pantry-tree: - sha256: 5f40ff2d1b0e137530fd5ea0790e0f8a08ea1552cf570627861e666bd291fad0 - size: 665 - original: - hackage: hspec-api-2.10.0 -- completed: - hackage: hspec-core-2.10.0@sha256:0402831c0af58d182da49f836aef6da9e195d242856ea8ce3f4ce3df245c85b0,6677 - pantry-tree: - sha256: 217e63acceb2c29d07d06b4fad648ed79575bc6d1158619a275677d5902b05ef - size: 5819 - original: - hackage: hspec-core-2.10.0 -- completed: - hackage: hspec-discover-2.10.0@sha256:517d0892217539969c199f9cc30065db7bcd68ff5512095e4f94ff8ef35d1313,2166 - pantry-tree: - sha256: 5e31c43b5c1477987d7321456b3dc69ce0b8f35312c5ea516702f91be42b20ca - size: 828 - original: - hackage: hspec-discover-2.10.0 -- completed: - hackage: hspec-golden-0.2.1.0@sha256:b695ae72685bbb5acd04cdd79d07c43de5ab8867e28662dd1a0002296f2a4940,2635 - pantry-tree: - sha256: d72fec5f2c0568ae958282c7a8b8f5bfba146e3e4ceee0510c0e22be5c8eb740 - size: 495 - original: - hackage: hspec-golden-0.2.1.0 -- completed: - hackage: hspec-junit-formatter-1.1.2.1@sha256:d45e8a6389339dc9e0213387e875a7e52545b1895632b20280942f383715542b,5842 - pantry-tree: - sha256: 4bbe193b2ece70aba1f435e72fa56ea7b30f0517b7405d6798adb4a27fe69c76 - size: 1491 - original: - hackage: hspec-junit-formatter-1.1.2.1 -- completed: - hackage: regex-base-0.94.0.2@sha256:3a76c313f9f75e8e0b3c103c1bff5bbaf754da30cbddedc1d5b7061d001030e0,2661 - pantry-tree: - sha256: be7123592a3f9d0e5ba7f61d689dfa9b8a9ebd731d5aee0280d2761bdc842edc - size: 531 - original: - hackage: regex-base-0.94.0.2@sha256:3a76c313f9f75e8e0b3c103c1bff5bbaf754da30cbddedc1d5b7061d001030e0 -- completed: - hackage: regex-tdfa-1.3.2.2@sha256:cdf462f6280804baa264e42e3e328ba02ec71d9335de706f3dee778890a25c0e,7042 - pantry-tree: - sha256: fe183406bec992541629cfa079ea3c7bd7946960b09b21fb921a9209d9df1132 - size: 2674 - original: - hackage: regex-tdfa-1.3.2.2@sha256:cdf462f6280804baa264e42e3e328ba02ec71d9335de706f3dee778890a25c0e,7042 -snapshots: -- completed: - sha256: 7ea31a280c56bf36ff591a7397cc384d0dff622e7f9e4225b47d8980f019a0f0 - size: 524996 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/14/27.yaml - original: lts-14.27 diff --git a/stack-lts-16.31.yaml.lock b/stack-lts-16.31.yaml.lock deleted file mode 100644 index b9f78de..0000000 --- a/stack-lts-16.31.yaml.lock +++ /dev/null @@ -1,68 +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: -- completed: - hackage: hspec-2.10.0@sha256:2d1dc53e361998f002497b7222fdb700cc540b2aaf880e2619a0b5d54abb74e5,1712 - pantry-tree: - sha256: 5d8a184b89267523718e22cc4ded4c980d08af7aa4b53ec027822d0cf5065756 - size: 583 - original: - hackage: hspec-2.10.0 -- completed: - hackage: hspec-api-2.10.0@sha256:68690737181eae90d25e214803d966658e661215ddf5e24f1495b54a71a09364,1509 - pantry-tree: - sha256: 5f40ff2d1b0e137530fd5ea0790e0f8a08ea1552cf570627861e666bd291fad0 - size: 665 - original: - hackage: hspec-api-2.10.0 -- completed: - hackage: hspec-core-2.10.0@sha256:0402831c0af58d182da49f836aef6da9e195d242856ea8ce3f4ce3df245c85b0,6677 - pantry-tree: - sha256: 217e63acceb2c29d07d06b4fad648ed79575bc6d1158619a275677d5902b05ef - size: 5819 - original: - hackage: hspec-core-2.10.0 -- completed: - hackage: hspec-discover-2.10.0@sha256:517d0892217539969c199f9cc30065db7bcd68ff5512095e4f94ff8ef35d1313,2166 - pantry-tree: - sha256: 5e31c43b5c1477987d7321456b3dc69ce0b8f35312c5ea516702f91be42b20ca - size: 828 - original: - hackage: hspec-discover-2.10.0 -- completed: - hackage: hspec-golden-0.2.1.0@sha256:b695ae72685bbb5acd04cdd79d07c43de5ab8867e28662dd1a0002296f2a4940,2635 - pantry-tree: - sha256: d72fec5f2c0568ae958282c7a8b8f5bfba146e3e4ceee0510c0e22be5c8eb740 - size: 495 - original: - hackage: hspec-golden-0.2.1.0 -- completed: - hackage: hspec-junit-formatter-1.1.2.1@sha256:d45e8a6389339dc9e0213387e875a7e52545b1895632b20280942f383715542b,5842 - pantry-tree: - sha256: 4bbe193b2ece70aba1f435e72fa56ea7b30f0517b7405d6798adb4a27fe69c76 - size: 1491 - original: - hackage: hspec-junit-formatter-1.1.2.1 -- completed: - hackage: regex-base-0.94.0.2@sha256:0322b2fcd1358f3355e0c8608efa60d27b14d1c9d476451dbcb9181363bd8b27,2601 - pantry-tree: - sha256: c20b2715d5c222d86be55cf991958cfddb9273743a90d522d268f9c9028eda6c - size: 531 - original: - hackage: regex-base-0.94.0.2 -- completed: - hackage: regex-tdfa-1.3.2.2@sha256:e5ea15b2898c62c63fae798784bc402b3862733d97a4f7ee3ec4f9ae6f447478,6997 - pantry-tree: - sha256: 7b02b5c15eaaaa96150e6ed2407cce2653c63d8a73a8bcc4827408300452dfbb - size: 2674 - original: - hackage: regex-tdfa-1.3.2.2 -snapshots: -- completed: - sha256: 637fb77049b25560622a224845b7acfe81a09fdb6a96a3c75997a10b651667f6 - size: 534126 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/16/31.yaml - original: lts-16.31 diff --git a/stack-lts-18.28.yaml.lock b/stack-lts-18.28.yaml.lock deleted file mode 100644 index 77efa81..0000000 --- a/stack-lts-18.28.yaml.lock +++ /dev/null @@ -1,61 +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: -- completed: - hackage: hspec-2.10.0@sha256:2d1dc53e361998f002497b7222fdb700cc540b2aaf880e2619a0b5d54abb74e5,1712 - pantry-tree: - sha256: 5d8a184b89267523718e22cc4ded4c980d08af7aa4b53ec027822d0cf5065756 - size: 583 - original: - hackage: hspec-2.10.0 -- completed: - hackage: hspec-api-2.10.0@sha256:68690737181eae90d25e214803d966658e661215ddf5e24f1495b54a71a09364,1509 - pantry-tree: - sha256: 5f40ff2d1b0e137530fd5ea0790e0f8a08ea1552cf570627861e666bd291fad0 - size: 665 - original: - hackage: hspec-api-2.10.0 -- completed: - hackage: hspec-core-2.10.0@sha256:0402831c0af58d182da49f836aef6da9e195d242856ea8ce3f4ce3df245c85b0,6677 - pantry-tree: - sha256: 217e63acceb2c29d07d06b4fad648ed79575bc6d1158619a275677d5902b05ef - size: 5819 - original: - hackage: hspec-core-2.10.0 -- completed: - hackage: hspec-discover-2.10.0@sha256:517d0892217539969c199f9cc30065db7bcd68ff5512095e4f94ff8ef35d1313,2166 - pantry-tree: - sha256: 5e31c43b5c1477987d7321456b3dc69ce0b8f35312c5ea516702f91be42b20ca - size: 828 - original: - hackage: hspec-discover-2.10.0 -- completed: - hackage: hspec-golden-0.2.1.0@sha256:b695ae72685bbb5acd04cdd79d07c43de5ab8867e28662dd1a0002296f2a4940,2635 - pantry-tree: - sha256: d72fec5f2c0568ae958282c7a8b8f5bfba146e3e4ceee0510c0e22be5c8eb740 - size: 495 - original: - hackage: hspec-golden-0.2.1.0 -- completed: - hackage: hspec-junit-formatter-1.1.2.1@sha256:d45e8a6389339dc9e0213387e875a7e52545b1895632b20280942f383715542b,5842 - pantry-tree: - sha256: 4bbe193b2ece70aba1f435e72fa56ea7b30f0517b7405d6798adb4a27fe69c76 - size: 1491 - original: - hackage: hspec-junit-formatter-1.1.2.1 -- completed: - hackage: regex-tdfa-1.3.2.2@sha256:e5ea15b2898c62c63fae798784bc402b3862733d97a4f7ee3ec4f9ae6f447478,6997 - pantry-tree: - sha256: 7b02b5c15eaaaa96150e6ed2407cce2653c63d8a73a8bcc4827408300452dfbb - size: 2674 - original: - hackage: regex-tdfa-1.3.2.2 -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-lts-19.33.yaml.lock b/stack-lts-19.33.yaml.lock deleted file mode 100644 index 3809c90..0000000 --- a/stack-lts-19.33.yaml.lock +++ /dev/null @@ -1,61 +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: -- completed: - hackage: hspec-2.10.0@sha256:2d1dc53e361998f002497b7222fdb700cc540b2aaf880e2619a0b5d54abb74e5,1712 - pantry-tree: - sha256: 5d8a184b89267523718e22cc4ded4c980d08af7aa4b53ec027822d0cf5065756 - size: 583 - original: - hackage: hspec-2.10.0 -- completed: - hackage: hspec-api-2.10.0@sha256:68690737181eae90d25e214803d966658e661215ddf5e24f1495b54a71a09364,1509 - pantry-tree: - sha256: 5f40ff2d1b0e137530fd5ea0790e0f8a08ea1552cf570627861e666bd291fad0 - size: 665 - original: - hackage: hspec-api-2.10.0 -- completed: - hackage: hspec-core-2.10.0@sha256:0402831c0af58d182da49f836aef6da9e195d242856ea8ce3f4ce3df245c85b0,6677 - pantry-tree: - sha256: 217e63acceb2c29d07d06b4fad648ed79575bc6d1158619a275677d5902b05ef - size: 5819 - original: - hackage: hspec-core-2.10.0 -- completed: - hackage: hspec-discover-2.10.0@sha256:517d0892217539969c199f9cc30065db7bcd68ff5512095e4f94ff8ef35d1313,2166 - pantry-tree: - sha256: 5e31c43b5c1477987d7321456b3dc69ce0b8f35312c5ea516702f91be42b20ca - size: 828 - original: - hackage: hspec-discover-2.10.0 -- completed: - hackage: hspec-golden-0.2.1.0@sha256:b695ae72685bbb5acd04cdd79d07c43de5ab8867e28662dd1a0002296f2a4940,2635 - pantry-tree: - sha256: d72fec5f2c0568ae958282c7a8b8f5bfba146e3e4ceee0510c0e22be5c8eb740 - size: 495 - original: - hackage: hspec-golden-0.2.1.0 -- completed: - hackage: hspec-junit-formatter-1.1.2.1@sha256:d45e8a6389339dc9e0213387e875a7e52545b1895632b20280942f383715542b,5842 - pantry-tree: - sha256: 4bbe193b2ece70aba1f435e72fa56ea7b30f0517b7405d6798adb4a27fe69c76 - size: 1491 - original: - hackage: hspec-junit-formatter-1.1.2.1 -- completed: - hackage: regex-tdfa-1.3.2.2@sha256:e5ea15b2898c62c63fae798784bc402b3862733d97a4f7ee3ec4f9ae6f447478,6997 - pantry-tree: - sha256: 7b02b5c15eaaaa96150e6ed2407cce2653c63d8a73a8bcc4827408300452dfbb - size: 2674 - original: - hackage: regex-tdfa-1.3.2.2 -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-lts-20.26.yaml.lock b/stack-lts-20.26.yaml.lock deleted file mode 100644 index 5b4c1b9..0000000 --- a/stack-lts-20.26.yaml.lock +++ /dev/null @@ -1,54 +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: -- completed: - hackage: hspec-2.10.0@sha256:2d1dc53e361998f002497b7222fdb700cc540b2aaf880e2619a0b5d54abb74e5,1712 - pantry-tree: - sha256: 5d8a184b89267523718e22cc4ded4c980d08af7aa4b53ec027822d0cf5065756 - size: 583 - original: - hackage: hspec-2.10.0 -- completed: - hackage: hspec-api-2.10.0@sha256:68690737181eae90d25e214803d966658e661215ddf5e24f1495b54a71a09364,1509 - pantry-tree: - sha256: 5f40ff2d1b0e137530fd5ea0790e0f8a08ea1552cf570627861e666bd291fad0 - size: 665 - original: - hackage: hspec-api-2.10.0 -- completed: - hackage: hspec-core-2.10.0@sha256:0402831c0af58d182da49f836aef6da9e195d242856ea8ce3f4ce3df245c85b0,6677 - pantry-tree: - sha256: 217e63acceb2c29d07d06b4fad648ed79575bc6d1158619a275677d5902b05ef - size: 5819 - original: - hackage: hspec-core-2.10.0 -- completed: - hackage: hspec-discover-2.10.0@sha256:517d0892217539969c199f9cc30065db7bcd68ff5512095e4f94ff8ef35d1313,2166 - pantry-tree: - sha256: 5e31c43b5c1477987d7321456b3dc69ce0b8f35312c5ea516702f91be42b20ca - size: 828 - original: - hackage: hspec-discover-2.10.0 -- completed: - hackage: hspec-junit-formatter-1.1.2.1@sha256:d45e8a6389339dc9e0213387e875a7e52545b1895632b20280942f383715542b,5842 - pantry-tree: - sha256: 4bbe193b2ece70aba1f435e72fa56ea7b30f0517b7405d6798adb4a27fe69c76 - size: 1491 - original: - hackage: hspec-junit-formatter-1.1.2.1 -- completed: - hackage: regex-tdfa-1.3.2.2@sha256:e5ea15b2898c62c63fae798784bc402b3862733d97a4f7ee3ec4f9ae6f447478,6997 - pantry-tree: - sha256: 7b02b5c15eaaaa96150e6ed2407cce2653c63d8a73a8bcc4827408300452dfbb - size: 2674 - original: - hackage: regex-tdfa-1.3.2.2 -snapshots: -- completed: - sha256: 5a59b2a405b3aba3c00188453be172b85893cab8ebc352b1ef58b0eae5d248a2 - size: 650475 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/26.yaml - original: lts-20.26 diff --git a/stack-lts-12.26.yaml b/stack-lts12.yaml similarity index 100% rename from stack-lts-12.26.yaml rename to stack-lts12.yaml diff --git a/stack-lts-14.27.yaml b/stack-lts14.yaml similarity index 100% rename from stack-lts-14.27.yaml rename to stack-lts14.yaml diff --git a/stack-lts-16.31.yaml b/stack-lts16.yaml similarity index 100% rename from stack-lts-16.31.yaml rename to stack-lts16.yaml diff --git a/stack-lts-18.28.yaml b/stack-lts18.yaml similarity index 100% rename from stack-lts-18.28.yaml rename to stack-lts18.yaml diff --git a/stack-lts-19.33.yaml b/stack-lts19.yaml similarity index 100% rename from stack-lts-19.33.yaml rename to stack-lts19.yaml diff --git a/stack-lts-20.26.yaml b/stack-lts20.yaml similarity index 100% rename from stack-lts-20.26.yaml rename to stack-lts20.yaml diff --git a/stack-lts21.yaml b/stack-lts21.yaml new file mode 100644 index 0000000..ab8c094 --- /dev/null +++ b/stack-lts21.yaml @@ -0,0 +1,9 @@ +resolver: lts-21.25 + +extra-deps: + - hspec-2.11.10 + - hspec-api-2.11.10 + - hspec-core-2.11.10 + - hspec-discover-2.11.10 + - hspec-expectations-0.8.4 + - hspec-junit-formatter-1.1.2.1 diff --git a/stack-lts22.yaml b/stack-lts22.yaml new file mode 100644 index 0000000..c757eef --- /dev/null +++ b/stack-lts22.yaml @@ -0,0 +1 @@ +resolver: lts-22.43 diff --git a/stack-lts23.yaml b/stack-lts23.yaml new file mode 100644 index 0000000..cf8ed23 --- /dev/null +++ b/stack-lts23.yaml @@ -0,0 +1 @@ +resolver: lts-23.3 diff --git a/stack-nightly.yaml.lock b/stack-nightly.yaml.lock deleted file mode 100644 index 572fa90..0000000 --- a/stack-nightly.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: 38615d864dc3f7e21ccbe3c3934c6c28753285e093a25a0c7e8a9aab49e1daf9 - size: 650205 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2024/7/2.yaml - original: nightly-2024-07-02 diff --git a/stack.yaml b/stack.yaml deleted file mode 100644 index 5ed2ee4..0000000 --- a/stack.yaml +++ /dev/null @@ -1 +0,0 @@ -resolver: lts-22.27 diff --git a/stack.yaml b/stack.yaml new file mode 120000 index 0000000..c2d19ad --- /dev/null +++ b/stack.yaml @@ -0,0 +1 @@ +./stack-lts23.yaml \ No newline at end of file diff --git a/stack.yaml.lock b/stack.yaml.lock deleted file mode 100644 index c2b206b..0000000 --- a/stack.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: bc144ddf301a5c99f2cf51c7de50279ba144fd4486cb3c66f87ed761d6bbf6e9 - size: 719131 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/27.yaml - original: lts-22.27 diff --git a/tests/Spec.hs b/test/Spec.hs similarity index 100% rename from tests/Spec.hs rename to test/Spec.hs diff --git a/tests/SpecHook.hs b/test/SpecHook.hs similarity index 100% rename from tests/SpecHook.hs rename to test/SpecHook.hs diff --git a/tests/WhateverSpec.hs b/test/WhateverSpec.hs similarity index 100% rename from tests/WhateverSpec.hs rename to test/WhateverSpec.hs