From 871b7c3f9121b7d3eee45521f65dead0f0cc2fec Mon Sep 17 00:00:00 2001 From: Nick Spinale Date: Tue, 24 Mar 2026 13:52:55 -0700 Subject: [PATCH 1/3] capDL-tool: update to LTS 24.66, ghc-9.10.3 Update the stack and cabal files. Needs minor tweaks to State.hs. Signed-off-by: Nick Spinale Signed-off-by: Gerwin Klein --- .github/workflows/build.yml | 2 +- capDL-tool/CapDL/State.hs | 1 + capDL-tool/capDL-tool.cabal | 17 +++++++++-------- capDL-tool/stack.yaml | 4 ++-- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4e1371a4..be3fcb15 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,7 +59,7 @@ jobs: with: enable-stack: true stack-setup-ghc: true - ghc-version: 9.2.8 + ghc-version: 9.10.3 - name: Build and test run: | cd capDL-tool diff --git a/capDL-tool/CapDL/State.hs b/capDL-tool/CapDL/State.hs index d43bb872..b29854eb 100644 --- a/capDL-tool/CapDL/State.hs +++ b/capDL-tool/CapDL/State.hs @@ -10,6 +10,7 @@ import CapDL.Model import Prelude () import Prelude.Compat +import Control.Monad import Control.Monad.State import Control.Monad.Writer import Data.Maybe diff --git a/capDL-tool/capDL-tool.cabal b/capDL-tool/capDL-tool.cabal index 0f906b49..88b17ae1 100644 --- a/capDL-tool/capDL-tool.cabal +++ b/capDL-tool/capDL-tool.cabal @@ -33,19 +33,19 @@ executable parse-capDL -- Included libraries array >=0.5 && <0.6, base >= 4.16, - bytestring >=0.10 && < 0.12, - containers >=0.6 && <0.7, - filepath >=1.4 && <1.5, - mtl >=2.2 && <2.3, + bytestring >=0.12 && <0.13, + containers >=0.7 && <0.8, + filepath >=1.5 && <1.6, + mtl >=2.3 && <2.4, parsec >=3.1 && <3.2, - text >=1.2 && <1.3, + text >=2.1 && <2.2, unix >=2.7 && <3, -- Other libraries aeson >=2 && <3, - base-compat == 0.12.*, - lens >= 4.15, - MissingH >=1.4 && <1.6, + base-compat == 0.14.*, + lens >= 5.2, + MissingH >=1.6 && <1.7, pretty >=1.1 && <1.2, regex-compat >= 0.90, split >=0.2 && <0.3, @@ -65,3 +65,4 @@ executable parse-capDL -fno-warn-missing-signatures -fno-warn-type-defaults -fno-warn-incomplete-uni-patterns -fno-warn-incomplete-record-updates + -fno-warn-x-partial diff --git a/capDL-tool/stack.yaml b/capDL-tool/stack.yaml index a8ed73f0..f4076c6d 100644 --- a/capDL-tool/stack.yaml +++ b/capDL-tool/stack.yaml @@ -4,7 +4,7 @@ # SPDX-License-Identifier: BSD-2-Clause # -# Stackage LTS Haskell 20.25 (ghc-9.2.8) -resolver: lts-20.25 +# Stackage LTS Haskell 24.66 (ghc-9.10.3) +resolver: lts-24.66 local-bin-path: . From 0100e5b1051a3ff7fe85211c8a45192eea9bf4fe Mon Sep 17 00:00:00 2001 From: Gerwin Klein Date: Tue, 10 Nov 2026 19:33:37 +1100 Subject: [PATCH 2/3] github: bump minimum python version The GitHub Ubuntu 26.04LTS runners only support python 3.10 and above. Signed-off-by: Gerwin Klein --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index be3fcb15..fd5d7044 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,7 +31,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [ '3.9', '3.x' ] + python-version: [ '3.10', '3.x' ] fail-fast: false steps: - uses: actions/checkout@v6 From 2947495939cff76f13279ef768b3e70b1c4746c5 Mon Sep 17 00:00:00 2001 From: Gerwin Klein Date: Tue, 10 Nov 2026 19:37:52 +1100 Subject: [PATCH 3/3] github: cache the GHC build step The GHC download + build is extremely long if the GHC version does not happen to be present on the GitHub runner. Cache the build, it should very rarely go out of date. Also use stack-no-global: true, because capDL-tool uses a local stack install step, i.e. a global install would install GHC twice. This also removes the need to mention the GHC version in the workflow file. Signed-off-by: Gerwin Klein --- .github/workflows/build.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fd5d7044..e687e1ca 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -55,11 +55,17 @@ jobs: - run: | sudo apt-get update sudo apt-get install libxml2-utils + - name: Cache stack root (GHC + dependencies) + uses: actions/cache@v4 + with: + path: ~/.stack + key: stack-${{ runner.os }}-${{ hashFiles('capDL-tool/stack.yaml.lock', 'capDL-tool/capDL-tool.cabal') }} + restore-keys: | + stack-${{ runner.os }}- - uses: haskell-actions/setup@v2 with: enable-stack: true - stack-setup-ghc: true - ghc-version: 9.10.3 + stack-no-global: true - name: Build and test run: | cd capDL-tool