diff --git a/.github/workflows/haskell.yml b/.github/workflows/haskell.yml index 9e275f2..b1e63ba 100644 --- a/.github/workflows/haskell.yml +++ b/.github/workflows/haskell.yml @@ -27,42 +27,44 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macOS-latest, windows-latest] - resolver: [lts-12, lts-14, lts-16, lts-18, lts-19, lts-20, lts-21, lts-22, nightly] include: - - resolver: lts-14 - ghc: 8.4.4 - - resolver: lts-14 - ghc: 8.6.5 - - resolver: lts-16 - ghc: 8.8.4 - - resolver: lts-18 - ghc: 8.10.7 - - resolver: lts-19 - ghc: 9.0.2 - - resolver: lts-20 - ghc: 9.2.8 - - resolver: lts-21 - ghc: 9.4.8 - stack-yaml: stack-coveralls.yaml - - resolver: lts-22 - ghc: 9.6.6 - - resolver: nightly - ghc: 9.8.2 - stack-yaml: stack.yaml - exclude: - # Newer MacOS does not support older GHC: - - resolver: lts-14 - os: macOS-latest - - resolver: lts-16 - os: macOS-latest - - resolver: lts-18 - os: macOS-latest - - resolver: lts-19 - os: macOS-latest + - { os: Ubuntu-latest, resolver: lts-12, ghc: "8.4.4" } + - { os: Ubuntu-latest, resolver: lts-14, ghc: "8.6.5" } + - { os: Ubuntu-latest, resolver: lts-16, ghc: "8.8.4" } + - { os: Ubuntu-latest, resolver: lts-18, ghc: "8.10.7" } + - { os: Ubuntu-latest, resolver: lts-19, ghc: "9.0.2" } + - { os: Ubuntu-latest, resolver: lts-20, ghc: "9.2.8" } + - { os: Ubuntu-latest, resolver: lts-21, ghc: "9.4.8", stack-yaml: stack/coveralls.yaml } + - { os: Ubuntu-latest, resolver: lts-22, ghc: "9.6.6" } + - { os: Ubuntu-latest, resolver: lts-23, ghc: "9.8.4" } + - { os: Ubuntu-latest, resolver: nightly } + - { os: Windows-latest, resolver: lts-12, ghc: "8.4.4" } + - { os: Windows-latest, resolver: lts-14, ghc: "8.6.5" } + - { os: Windows-latest, resolver: lts-16, ghc: "8.8.4" } + - { os: Windows-latest, resolver: lts-18, ghc: "8.10.7" } + - { os: Windows-latest, resolver: lts-19, ghc: "9.0.2" } + - { os: Windows-latest, resolver: lts-20, ghc: "9.2.8" } + - { os: Windows-latest, resolver: lts-21, ghc: "9.4.8" } + - { os: Windows-latest, resolver: lts-22, ghc: "9.6.6" } + - { os: Windows-latest, resolver: lts-23, ghc: "9.8.4" } + - { os: Windows-latest, resolver: nightly } + # - { os: MacOS-13, resolver: lts-12, ghc: "8.4.4" } + # - { os: MacOS-13, resolver: lts-14, ghc: "8.6.5" } + # - { os: MacOS-13, resolver: lts-16, ghc: "8.8.4" } + # - { os: MacOS-13, resolver: lts-18, ghc: "8.10.7" } + - { os: MacOS-latest, resolver: lts-12, ghc: "8.4.4" } + - { os: MacOS-latest, resolver: lts-14, ghc: "8.6.5" } + - { os: MacOS-latest, resolver: lts-16, ghc: "8.8.4" } + - { os: MacOS-latest, resolver: lts-18, ghc: "8.10.7" } + - { os: MacOS-latest, resolver: lts-19, ghc: "9.0.2" } + - { os: MacOS-latest, resolver: lts-20, ghc: "9.2.8" } + - { os: MacOS-latest, resolver: lts-21, ghc: "9.4.8" } + - { os: MacOS-latest, resolver: lts-22, ghc: "9.6.6" } + - { os: MacOS-latest, resolver: lts-23, ghc: "9.8.4" } + - { os: MacOS-latest, resolver: nightly } env: - STACK_YAML: ${{ matrix.stack-yaml || matrix.ghc != '' && format('stack.ghc-{0}.yaml', matrix.ghc) || 'stack.yaml' }} + STACK_YAML: ${{ matrix.stack-yaml || matrix.ghc != '' && format('stack/ghc-{0}.yaml', matrix.ghc) || 'stack.yaml' }} STACK_ARGS: '--resolver ${{ matrix.resolver }} --system-ghc' cache-version: v0 # bump up this version to invalidate currently stored cache steps: @@ -75,7 +77,6 @@ jobs: ghc-version: ${{ matrix.ghc }} enable-stack: true stack-version: 'latest' - cabal-version: 'latest' - name: Cache id: cache diff --git a/stack-coveralls.yaml b/stack/coveralls.yaml similarity index 76% rename from stack-coveralls.yaml rename to stack/coveralls.yaml index 90798a6..097639b 100644 --- a/stack-coveralls.yaml +++ b/stack/coveralls.yaml @@ -1,6 +1,7 @@ # There is no way to pass `--resolver lts-14.27` to `shc` (stack-hpc-coveralls), so we # keep around a special stack-yaml file for it. -resolver: lts-14.27 +resolver: lts-21.28 +system-ghc: true packages: -- Color +- ../Color extra-deps: [] diff --git a/stack/ghc-8.10.7.yaml b/stack/ghc-8.10.7.yaml new file mode 100644 index 0000000..1c6f41d --- /dev/null +++ b/stack/ghc-8.10.7.yaml @@ -0,0 +1,4 @@ +resolver: lts-18.28 +packages: +- ../Color +extra-deps: [] diff --git a/stack.ghc-8.4.4.yaml b/stack/ghc-8.4.4.yaml similarity index 99% rename from stack.ghc-8.4.4.yaml rename to stack/ghc-8.4.4.yaml index 5f1cb8d..8b3dc29 100644 --- a/stack.ghc-8.4.4.yaml +++ b/stack/ghc-8.4.4.yaml @@ -1,6 +1,6 @@ resolver: lts-12.26 packages: -- Color +- ../Color extra-deps: - JuicyPixels-3.3.5@sha256:5c67dc066d67f5045221a8202f701f4c77eab8220f44414c00fadcdc3e4f872b,3911 - QuickCheck-2.13.2@sha256:ad4e5adbd1c9dc0221a44307b992cb040c515f31095182e47aa7e974bc461df1,6952 diff --git a/stack.ghc-8.6.5.yaml b/stack/ghc-8.6.5.yaml similarity index 97% rename from stack.ghc-8.6.5.yaml rename to stack/ghc-8.6.5.yaml index 5f1cb8d..ac5f78f 100644 --- a/stack.ghc-8.6.5.yaml +++ b/stack/ghc-8.6.5.yaml @@ -1,6 +1,6 @@ -resolver: lts-12.26 +resolver: lts-13.30 packages: -- Color +- ../Color extra-deps: - JuicyPixels-3.3.5@sha256:5c67dc066d67f5045221a8202f701f4c77eab8220f44414c00fadcdc3e4f872b,3911 - QuickCheck-2.13.2@sha256:ad4e5adbd1c9dc0221a44307b992cb040c515f31095182e47aa7e974bc461df1,6952 diff --git a/stack.ghc-8.8.4.yaml b/stack/ghc-8.8.4.yaml similarity index 97% rename from stack.ghc-8.8.4.yaml rename to stack/ghc-8.8.4.yaml index 5f1cb8d..6a0f1de 100644 --- a/stack.ghc-8.8.4.yaml +++ b/stack/ghc-8.8.4.yaml @@ -1,6 +1,6 @@ -resolver: lts-12.26 +resolver: lts-16.31 packages: -- Color +- ../Color extra-deps: - JuicyPixels-3.3.5@sha256:5c67dc066d67f5045221a8202f701f4c77eab8220f44414c00fadcdc3e4f872b,3911 - QuickCheck-2.13.2@sha256:ad4e5adbd1c9dc0221a44307b992cb040c515f31095182e47aa7e974bc461df1,6952 diff --git a/stack/ghc-8.8.4.yaml.lock b/stack/ghc-8.8.4.yaml.lock new file mode 100644 index 0000000..4e57bf4 --- /dev/null +++ b/stack/ghc-8.8.4.yaml.lock @@ -0,0 +1,89 @@ +# 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: JuicyPixels-3.3.5@sha256:5c67dc066d67f5045221a8202f701f4c77eab8220f44414c00fadcdc3e4f872b,3911 + pantry-tree: + sha256: e509268878581ec17929cab9ee6cc30ef05f6c203e760f49865547249fbb9d48 + size: 2724 + original: + hackage: JuicyPixels-3.3.5@sha256:5c67dc066d67f5045221a8202f701f4c77eab8220f44414c00fadcdc3e4f872b,3911 +- completed: + hackage: QuickCheck-2.13.2@sha256:ad4e5adbd1c9dc0221a44307b992cb040c515f31095182e47aa7e974bc461df1,6952 + pantry-tree: + sha256: f79eee2f6a00b2c649f993a7b358827702373cbc931ced55ebdfb59625540403 + size: 2202 + original: + hackage: QuickCheck-2.13.2@sha256:ad4e5adbd1c9dc0221a44307b992cb040c515f31095182e47aa7e974bc461df1,6952 +- completed: + hackage: splitmix-0.0.3@sha256:455de9326ae5bbe5492cbb140fefb04cf988501e25b204dabaf755ab67400d9d,4835 + pantry-tree: + sha256: 32f9dc84cb1845c5020bc9cb5c5c56e890d54d16b0cbf9c788825abb45165499 + size: 870 + original: + hackage: splitmix-0.0.3@sha256:455de9326ae5bbe5492cbb140fefb04cf988501e25b204dabaf755ab67400d9d,4835 +- completed: + hackage: cabal-doctest-1.0.8@sha256:34dff6369d417df2699af4e15f06bc181d495eca9c51efde173deae2053c197c,1491 + pantry-tree: + sha256: 1632476e4cdd37f323f81b2df0d06efe542ca3b02ab0097e1cd95d12c0fc2003 + size: 334 + original: + hackage: cabal-doctest-1.0.8@sha256:34dff6369d417df2699af4e15f06bc181d495eca9c51efde173deae2053c197c,1491 +- completed: + hackage: doctest-0.16.2@sha256:2f96e9bbe9aee11b47453c82c24b3dc76cdbb8a2a7c984dfd60b4906d08adf68,6942 + pantry-tree: + sha256: 6a16ac4bafb5a68a0918ac6c815f8b24062959341c7f68b85ef0a7a181e792bc + size: 8050 + original: + hackage: doctest-0.16.2@sha256:2f96e9bbe9aee11b47453c82c24b3dc76cdbb8a2a7c984dfd60b4906d08adf68,6942 +- completed: + hackage: hspec-core-2.7.1@sha256:2696420050bafb1b690366b2c0ca8595a27c4597811df036f0c35cf19f46862b,4583 + pantry-tree: + sha256: 7761094914f253af8eff3e0d14e1e0317a7e260f2d4bd4bd44d5d222fe0ba3d6 + size: 3601 + original: + hackage: hspec-core-2.7.1@sha256:2696420050bafb1b690366b2c0ca8595a27c4597811df036f0c35cf19f46862b,4583 +- completed: + hackage: hspec-2.7.1@sha256:0aa48928ce80a34f8ff8c5ef114bb6807edfb8d884bcd7211eceed710e7fb7a8,1769 + pantry-tree: + sha256: 8128733a7ef4760bbe5d978f2145fdcb29f4491b17db11e8c05b409441ceecb4 + size: 532 + original: + hackage: hspec-2.7.1@sha256:0aa48928ce80a34f8ff8c5ef114bb6807edfb8d884bcd7211eceed710e7fb7a8,1769 +- completed: + hackage: hspec-discover-2.7.1@sha256:e8ce36741c06b41de58069814a7d3b7314bdeaab35ae573e3c924739011e0c29,2243 + pantry-tree: + sha256: 2d1c4ccbd0c9047311d1bd24989714df844003c258964ef65d542f6627dc0fed + size: 1080 + original: + hackage: hspec-discover-2.7.1@sha256:e8ce36741c06b41de58069814a7d3b7314bdeaab35ae573e3c924739011e0c29,2243 +- completed: + hackage: massiv-test-0.1.2@sha256:93df921acadb56f81b35d3117e020e485b3b26c28a99e2053544878c92de2fcb,3859 + pantry-tree: + sha256: 5b6dbda3749d16d5cc2837ca5a766d1544e1bad1ee6ce220b82379d42dd8e853 + size: 2479 + original: + hackage: massiv-test-0.1.2@sha256:93df921acadb56f81b35d3117e020e485b3b26c28a99e2053544878c92de2fcb,3859 +- completed: + hackage: massiv-0.4.5.0@sha256:a0e16ef4503c642cff1bbf686f1c89e87ac3bb6755f4d975ff8b5b8fc27b61db,4611 + pantry-tree: + sha256: cbbdda422f623b55b4633ead26aa65c820f8f8446ef4e96884f940ef94051053 + size: 3783 + original: + hackage: massiv-0.4.5.0@sha256:a0e16ef4503c642cff1bbf686f1c89e87ac3bb6755f4d975ff8b5b8fc27b61db,4611 +- completed: + hackage: scheduler-1.4.2.1@sha256:26fb16ccf5f41ee9144f8c77a5228163968543ae5cc8242c761e69ff8f579e07,2863 + pantry-tree: + sha256: 42fcb8caa4bb53898438209ebf003a1b3b8781c37b0ae16846e00e1c61ab7510 + size: 838 + original: + hackage: scheduler-1.4.2.1@sha256:26fb16ccf5f41ee9144f8c77a5228163968543ae5cc8242c761e69ff8f579e07,2863 +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/ghc-9.0.2.yaml b/stack/ghc-9.0.2.yaml new file mode 100644 index 0000000..4b6a27e --- /dev/null +++ b/stack/ghc-9.0.2.yaml @@ -0,0 +1,4 @@ +resolver: lts-19.33 +packages: +- ../Color +extra-deps: [] diff --git a/stack/ghc-9.2.8.yaml b/stack/ghc-9.2.8.yaml new file mode 100644 index 0000000..0f59b66 --- /dev/null +++ b/stack/ghc-9.2.8.yaml @@ -0,0 +1,4 @@ +resolver: lts-20.26 +packages: +- ../Color +extra-deps: [] diff --git a/stack/ghc-9.4.8.yaml b/stack/ghc-9.4.8.yaml new file mode 100644 index 0000000..8e7dc82 --- /dev/null +++ b/stack/ghc-9.4.8.yaml @@ -0,0 +1,4 @@ +resolver: lts-21.28 +packages: +- ../Color +extra-deps: [] diff --git a/stack/ghc-9.6.6.yaml b/stack/ghc-9.6.6.yaml new file mode 100644 index 0000000..f0b2b21 --- /dev/null +++ b/stack/ghc-9.6.6.yaml @@ -0,0 +1,4 @@ +resolver: lts-22.43 +packages: +- ../Color +extra-deps: [] diff --git a/stack/ghc-9.8.4.yaml b/stack/ghc-9.8.4.yaml new file mode 100644 index 0000000..034a44b --- /dev/null +++ b/stack/ghc-9.8.4.yaml @@ -0,0 +1,4 @@ +resolver: lts-23.00 +packages: +- ../Color +extra-deps: []