From c68e90f3f690ce8398379872a041db15da461bd2 Mon Sep 17 00:00:00 2001 From: patrick brisbin Date: Thu, 30 Jul 2026 13:56:39 -0400 Subject: [PATCH 1/6] chore: ignore and remove stack.yaml.lock files --- .gitignore | 3 ++- stack-lts-12.26.yaml.lock | 12 ------------ stack-lts-14.27.yaml.lock | 12 ------------ stack-lts-16.31.yaml.lock | 19 ------------------- stack-lts-18.28.yaml.lock | 12 ------------ stack-lts-19.33.yaml.lock | 12 ------------ stack-lts-20.26.yaml.lock | 12 ------------ stack-nightly.yaml.lock | 12 ------------ stack-persistent-2.14.yaml.lock | 19 ------------------- stack.yaml.lock | 12 ------------ 10 files changed, 2 insertions(+), 123 deletions(-) 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 delete mode 100644 stack-nightly.yaml.lock delete mode 100644 stack-persistent-2.14.yaml.lock delete mode 100644 stack.yaml.lock diff --git a/.gitignore b/.gitignore index ade40e2..ab0e717 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ +*.graphula *.stack-work /dist-newstyle -*.graphula +stack*.yaml.lock test.db diff --git a/stack-lts-12.26.yaml.lock b/stack-lts-12.26.yaml.lock deleted file mode 100644 index 6bee1e8..0000000 --- a/stack-lts-12.26.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: - size: 509471 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/12/26.yaml - sha256: 95f014df58d0679b1c4a2b7bf2b652b61da8d30de5f571abb0d59015ef678646 - 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 e24dcac..0000000 --- a/stack-lts-14.27.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: - size: 524996 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/14/27.yaml - sha256: 7ea31a280c56bf36ff591a7397cc384d0dff622e7f9e4225b47d8980f019a0f0 - 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 9e65068..0000000 --- a/stack-lts-16.31.yaml.lock +++ /dev/null @@ -1,19 +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: generics-eot-0.4.0.1@sha256:3d8df1d8ca010238ec5f20ba30282daa0fac99c7de495fae64e26a7ea1dadb08,2312 - pantry-tree: - size: 1384 - sha256: 0895826ac5485a85e6fa37ae2b76195872fa2d92e901478c42d0690fc206a5ab - original: - hackage: generics-eot-0.4.0.1 -snapshots: -- completed: - size: 534126 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/16/31.yaml - sha256: 637fb77049b25560622a224845b7acfe81a09fdb6a96a3c75997a10b651667f6 - 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 7af0442..0000000 --- a/stack-lts-18.28.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: - size: 590100 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/28.yaml - sha256: 428ec8d5ce932190d3cbe266b9eb3c175cd81e984babf876b64019e2cbe4ea68 - 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 d79c369..0000000 --- a/stack-lts-19.33.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-lts-20.26.yaml.lock b/stack-lts-20.26.yaml.lock deleted file mode 100644 index ea5a850..0000000 --- a/stack-lts-20.26.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: 5a59b2a405b3aba3c00188453be172b85893cab8ebc352b1ef58b0eae5d248a2 - size: 650475 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/26.yaml - original: lts-20.26 diff --git a/stack-nightly.yaml.lock b/stack-nightly.yaml.lock deleted file mode 100644 index 5c8a85d..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: e4162106c3c7d9a71f1034ab31582fbeee1cc5b3266a49c0d52f577a6002df8e - size: 559903 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2023/7/25.yaml - original: nightly-2023-07-25 diff --git a/stack-persistent-2.14.yaml.lock b/stack-persistent-2.14.yaml.lock deleted file mode 100644 index 14107e6..0000000 --- a/stack-persistent-2.14.yaml.lock +++ /dev/null @@ -1,19 +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: persistent-2.14.1.0@sha256:a7b47a4969eddec09c7fb3d79550bb689e81986cf46e874d06044d27b79b93b5,7060 - pantry-tree: - size: 6511 - sha256: 7eb0896c61e7fc13d02bd72083b6226a6ba4c5e5fb893ee92457a424a7207ae5 - original: - hackage: persistent-2.14.1.0 -snapshots: -- completed: - size: 630638 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2022/8/15.yaml - sha256: faa92f1bd6eb0ec0535c43ff1d1719de0968a57e60a2e954d55c0e2ec37a25aa - original: nightly-2022-08-15 diff --git a/stack.yaml.lock b/stack.yaml.lock deleted file mode 100644 index 30cbd43..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: 64d66303f927e87ffe6b8ccf736229bf608731e80d7afdf62bdd63c59f857740 - size: 640037 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/21/11.yaml - original: lts-21.11 From 035da12abb8c3fc5edbbd60177827b5ad9f02b12 Mon Sep 17 00:00:00 2001 From: patrick brisbin Date: Thu, 30 Jul 2026 13:59:03 -0400 Subject: [PATCH 2/6] chore: re-arrange stackage resolver files * Name them `lst{major}`, not `lts-{major.minor}` * Make `stack.yaml` a symlink to latest --- .stack-all | 2 ++ 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 | 4 ++++ stack.yaml | 5 +---- 9 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 .stack-all 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 mode change 100644 => 120000 stack.yaml 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/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..15fad6d --- /dev/null +++ b/stack-lts21.yaml @@ -0,0 +1,4 @@ +resolver: lts-21.11 + +ghc-options: + "$locals": -fwrite-ide-info diff --git a/stack.yaml b/stack.yaml deleted file mode 100644 index 15fad6d..0000000 --- a/stack.yaml +++ /dev/null @@ -1,4 +0,0 @@ -resolver: lts-21.11 - -ghc-options: - "$locals": -fwrite-ide-info diff --git a/stack.yaml b/stack.yaml new file mode 120000 index 0000000..e19b3d3 --- /dev/null +++ b/stack.yaml @@ -0,0 +1 @@ +stack-lts21.yaml \ No newline at end of file From 67586f05d07fa51dac06ddb8295cb0bd6d43347d Mon Sep 17 00:00:00 2001 From: patrick brisbin Date: Thu, 30 Jul 2026 14:01:07 -0400 Subject: [PATCH 3/6] chore: create missing resolver files --- stack-lts13.yaml | 5 +++++ stack-lts22.yaml | 1 + stack-lts23.yaml | 1 + stack-lts24.yaml | 1 + stack.yaml | 2 +- 5 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 stack-lts13.yaml create mode 100644 stack-lts22.yaml create mode 100644 stack-lts23.yaml create mode 100644 stack-lts24.yaml diff --git a/stack-lts13.yaml b/stack-lts13.yaml new file mode 100644 index 0000000..2daaa9b --- /dev/null +++ b/stack-lts13.yaml @@ -0,0 +1,5 @@ +resolver: lts-13.30 + +flags: + graphula: + persistent-template: true diff --git a/stack-lts22.yaml b/stack-lts22.yaml new file mode 100644 index 0000000..1fe2deb --- /dev/null +++ b/stack-lts22.yaml @@ -0,0 +1 @@ +resolver: lts-22.44 diff --git a/stack-lts23.yaml b/stack-lts23.yaml new file mode 100644 index 0000000..e54b316 --- /dev/null +++ b/stack-lts23.yaml @@ -0,0 +1 @@ +resolver: lts-23.28 diff --git a/stack-lts24.yaml b/stack-lts24.yaml new file mode 100644 index 0000000..cd6c32c --- /dev/null +++ b/stack-lts24.yaml @@ -0,0 +1 @@ +resolver: lts-24.52 diff --git a/stack.yaml b/stack.yaml index e19b3d3..ad18933 120000 --- a/stack.yaml +++ b/stack.yaml @@ -1 +1 @@ -stack-lts21.yaml \ No newline at end of file +stack-lts24.yaml \ No newline at end of file From 858ddcca4ce80875e6516491cde5de891c42b078 Mon Sep 17 00:00:00 2001 From: patrick brisbin Date: Thu, 30 Jul 2026 14:01:25 -0400 Subject: [PATCH 4/6] chore: update release minimum resolver --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4fd5a91..7295131 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,4 +29,4 @@ jobs: FORCE_COLOR: 1 GITHUB_TOKEN: ${{ steps.token.outputs.token }} HACKAGE_KEY: ${{ secrets.HACKAGE_UPLOAD_API_KEY }} - STACK_YAML: stack-lts-12.26.yaml + STACK_YAML: stack-lts12.yaml From e5cdfe036dd5f4e3714a83e4d7c70e292dd5f0ff Mon Sep 17 00:00:00 2001 From: patrick brisbin Date: Thu, 30 Jul 2026 14:01:57 -0400 Subject: [PATCH 5/6] chore: remove ide pragma in (now) older resolver We don't use weeder on libraries anyway, and if we want this we should do it in the package.yaml / cabal file, rather than specific to some random resolver settings. --- stack-lts21.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/stack-lts21.yaml b/stack-lts21.yaml index 15fad6d..6d0e0d1 100644 --- a/stack-lts21.yaml +++ b/stack-lts21.yaml @@ -1,4 +1 @@ resolver: lts-21.11 - -ghc-options: - "$locals": -fwrite-ide-info From 3d36ad3947a9270ba7e9ba748f280ab91f4903fd Mon Sep 17 00:00:00 2001 From: patrick brisbin Date: Thu, 30 Jul 2026 14:04:43 -0400 Subject: [PATCH 6/6] chore: use alls-green as CI gate --- .github/workflows/ci.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 908ff1d..a294ba2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,12 +26,29 @@ jobs: stack-yaml: ${{ fromJSON(needs.generate.outputs.stack-yamls) }} fail-fast: false + # Accept nightly is failing right now + continue-on-error: >- + ${{ matrix.stack-yaml == 'stack-nightly.yaml' && true || false }} + steps: - uses: actions/checkout@v7 - uses: freckle/stack-action@v5 with: stack-yaml: ${{ matrix.stack-yaml }} + check: + if: always() + + needs: + - test + + runs-on: ubuntu-latest + + steps: + - uses: re-actors/alls-green@release/v1 + with: + jobs: ${{ toJSON(needs) }} + lint: runs-on: ubuntu-latest steps: