From 8d3a6321143afa5f89a55b233464f0081f7eb6f2 Mon Sep 17 00:00:00 2001 From: Taylor Fausak Date: Sat, 4 Nov 2023 13:01:15 -0500 Subject: [PATCH] Upgrade to GHC 9.8.1 (#91) * Upgrade to GHC 9.8.1 * Update devcontainer --- .devcontainer.json | 6 ------ .devcontainer/compose.yaml | 21 +++++++++++++++++++++ .devcontainer/devcontainer.json | 14 ++++++++++++++ .github/workflows/workflow.yaml | 21 +++++++++++++-------- compose.yaml | 21 --------------------- witch.cabal | 9 ++++++--- 6 files changed, 54 insertions(+), 38 deletions(-) delete mode 100644 .devcontainer.json create mode 100644 .devcontainer/compose.yaml create mode 100644 .devcontainer/devcontainer.json delete mode 100644 compose.yaml diff --git a/.devcontainer.json b/.devcontainer.json deleted file mode 100644 index 3191b9a..0000000 --- a/.devcontainer.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "dockerComposeFile": "compose.yaml", - "initializeCommand": "docker volume create cabal-store", - "service": "devcontainer", - "workspaceFolder": "/workspaces/witch" -} diff --git a/.devcontainer/compose.yaml b/.devcontainer/compose.yaml new file mode 100644 index 0000000..29382f4 --- /dev/null +++ b/.devcontainer/compose.yaml @@ -0,0 +1,21 @@ +{ + "services": { + "devcontainer": { + "command": "sh -exc 'sleep infinity'", + "image": "public.ecr.aws/acilearning/haskell:9.6.2", + "init": true, + "volumes": [ + "..:/workspace", + "cabal-cache:/home/vscode/.cache/cabal", + "cabal-state:/home/vscode/.local/state/cabal" + ], + "working_dir": "/workspace" + } + }, + "volumes": { + "cabal-cache": null, + "cabal-state": { + "external": true + } + } +} diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..b200a0e --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,14 @@ +{ + "customizations": { + "vscode": { + "extensions": [ + "taylorfausak.purple-yolk" + ] + } + }, + "dockerComposeFile": "compose.yaml", + "initializeCommand": "docker volume create cabal-state", + "postCreateCommand": "cabal update", + "service": "devcontainer", + "workspaceFolder": "/workspace" +} diff --git a/.github/workflows/workflow.yaml b/.github/workflows/workflow.yaml index 6fafcd6..86d13f2 100644 --- a/.github/workflows/workflow.yaml +++ b/.github/workflows/workflow.yaml @@ -22,7 +22,7 @@ "id": "haskell", "uses": "haskell/actions/setup@v2", "with": { - "cabal-version": "3.8.1.0", + "cabal-version": "3.10.1.0", "ghc-version": "${{ matrix.ghc }}" } }, @@ -82,28 +82,33 @@ "matrix": { "include": [ { - "ghc": "9.4.4", + "ghc": "9.4.7", "platform": "macos", "version": "12" }, { - "ghc": "9.2.7", + "ghc": "9.2.8", "platform": "ubuntu", "version": "22.04" }, { - "ghc": "9.4.4", + "ghc": "9.4.7", "platform": "ubuntu", "version": "22.04" }, { - "ghc": "9.6.1", + "ghc": "9.6.2", + "platform": "ubuntu", + "version": "22.04" + }, + { + "ghc": "9.8.1", "platform": "ubuntu", "version": "22.04" }, { "extension": ".exe", - "ghc": "9.4.4", + "ghc": "9.4.7", "platform": "windows", "version": "2022" } @@ -167,11 +172,11 @@ "uses": "svenstaro/upload-release-action@v2", "with": { "asset_name": "witch-${{ github.event.release.tag_name }}.tar.gz", - "file": "artifact/ubuntu-9.4.4/witch-${{ github.event.release.tag_name }}.tar.gz" + "file": "artifact/ubuntu-9.4.7/witch-${{ github.event.release.tag_name }}.tar.gz" } }, { - "run": "cabal upload --publish --username '${{ secrets.HACKAGE_USERNAME }}' --password '${{ secrets.HACKAGE_PASSWORD }}' artifact/ubuntu-9.4.4/witch-${{ github.event.release.tag_name }}.tar.gz" + "run": "cabal upload --publish --username '${{ secrets.HACKAGE_USERNAME }}' --password '${{ secrets.HACKAGE_PASSWORD }}' artifact/ubuntu-9.4.7/witch-${{ github.event.release.tag_name }}.tar.gz" } ] } diff --git a/compose.yaml b/compose.yaml deleted file mode 100644 index 3425dd1..0000000 --- a/compose.yaml +++ /dev/null @@ -1,21 +0,0 @@ -{ - "services": { - "devcontainer": { - "command": "sh -c 'while sleep 1; do :; done'", - "image": "public.ecr.aws/acilearning/haskell:9.4.4", - "init": true, - "volumes": [ - ".:/workspaces/witch", - "cabal:/home/haskell/.cabal", - "cabal-store:/cabal-store" - ], - "working_dir": "/workspaces/witch" - } - }, - "volumes": { - "cabal": null, - "cabal-store": { - "external": true - } - } -} diff --git a/witch.cabal b/witch.cabal index 245173a..2b5973e 100644 --- a/witch.cabal +++ b/witch.cabal @@ -23,11 +23,11 @@ flag pedantic common library build-depends: - , base >= 4.16.0 && < 4.19 + , base >= 4.16.0 && < 4.20 , bytestring >= 0.11.3 && < 0.12 , containers >= 0.6.5 && < 0.7 , tagged >= 0.8.6 && < 0.9 - , text >= 1.2.5 && < 1.3 || >= 2.0 && < 2.1 + , text >= 1.2.5 && < 1.3 || >= 2.0 && < 2.2 , time >= 1.11.1 && < 1.13 default-language: Haskell2010 ghc-options: @@ -49,6 +49,9 @@ common library ghc-options: -Werror + if impl(ghc >= 9.8) + ghc-options: -Wno-missing-role-annotations + common executable import: library @@ -61,7 +64,7 @@ library import: library build-depends: - , template-haskell >= 2.18 && < 2.21 + , template-haskell >= 2.18 && < 2.22 exposed-modules: Witch Witch.Encoding