From ae131c8c85cbad9ce61bcb15f2e6afe564fae44c Mon Sep 17 00:00:00 2001 From: Dennis Gosnell Date: Sat, 24 Aug 2024 15:23:05 +0900 Subject: [PATCH 1/4] Update to stack.yaml resolver to LTS-22.30 / GHC-9.6 --- stack.yaml | 2 +- stack.yaml.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/stack.yaml b/stack.yaml index 41c8165..0e74d29 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,4 +1,4 @@ -resolver: lts-19.6 +resolver: lts-22.30 flags: {} packages: - vault-tool diff --git a/stack.yaml.lock b/stack.yaml.lock index d8ab114..0aebfde 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -6,7 +6,7 @@ packages: [] snapshots: - completed: - size: 618876 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/19/6.yaml - sha256: fb634b19f31da06684bb07ce02a20c75a3162138f279b388905b03ebd57bb50f - original: lts-19.6 + sha256: 795b7a893148a42f09956611a0fa1139293fe6ef934d053468d8e53e3e013390 + size: 719577 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/30.yaml + original: lts-22.30 From d18802d921380805a79a6af2bc3f6e2fafad4c65 Mon Sep 17 00:00:00 2001 From: Dennis Gosnell Date: Sat, 24 Aug 2024 15:35:04 +0900 Subject: [PATCH 2/4] Add GitHub Actions CI --- .github/workflows/ci.yml | 82 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..5b0f91c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,82 @@ +name: CI + +on: + pull_request: + push: + branches: [master] + +jobs: + cabal: + name: cabal / ghc-${{ matrix.ghc }} / ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: + - ubuntu-latest + # - macOS-latest + cabal: + - "latest" + ghc: + - "9.2.8" + - "9.4.8" + - "9.6.3" + + steps: + - uses: actions/checkout@v4 + + - uses: haskell-actions/setup@v2 + id: setup-haskell-cabal + name: Setup Haskell + with: + ghc-version: ${{ matrix.ghc }} + cabal-version: ${{ matrix.cabal }} + + - uses: actions/cache@v3 + name: Cache cabal-store + with: + path: ${{ steps.setup-haskell-cabal.outputs.cabal-store }} + key: ${{ matrix.os }}-${{ matrix.ghc }}-cabal + + - name: Build + run: | + cabal update + cabal build all --enable-tests --enable-benchmarks --write-ghc-environment-files=always + + - name: Test + run: | + cabal test all --enable-tests --enable-benchmarks --write-ghc-environment-files=always + + stack: + name: stack ${{ matrix.resolver }} / ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: + - ubuntu-latest + # - macOS-latest + stack: ["latest"] + resolver: + - "--stack-yaml ./stack.yaml" + + steps: + - uses: actions/checkout@v4 + + - uses: haskell-actions/setup@v2 + name: Setup Haskell Stack + with: + stack-version: ${{ matrix.stack }} + enable-stack: true + + - uses: actions/cache@v3 + name: Cache ~/.stack + with: + path: ~/.stack + key: ${{ matrix.os }}-stack-${{ matrix.resolver }} + + - name: Build + run: | + stack build --test --bench --no-run-tests --no-run-benchmarks + + - name: Test + run: | + stack test --bench --no-run-benchmarks From 6259bd9d710871de2fe71a9d517bc9b91fd7260b Mon Sep 17 00:00:00 2001 From: Dennis Gosnell Date: Sat, 24 Aug 2024 15:52:07 +0900 Subject: [PATCH 3/4] Don't test in CI because Vault is not available --- .github/workflows/ci.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5b0f91c..234ae6b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,9 +42,10 @@ jobs: cabal update cabal build all --enable-tests --enable-benchmarks --write-ghc-environment-files=always - - name: Test - run: | - cabal test all --enable-tests --enable-benchmarks --write-ghc-environment-files=always + # TODO: Tests require the `vault` executable to be available. + # - name: Test + # run: | + # cabal test all --enable-tests --enable-benchmarks --write-ghc-environment-files=always stack: name: stack ${{ matrix.resolver }} / ${{ matrix.os }} @@ -77,6 +78,7 @@ jobs: run: | stack build --test --bench --no-run-tests --no-run-benchmarks - - name: Test - run: | - stack test --bench --no-run-benchmarks + # TODO: Tests require the `vault` executable to be available. + # - name: Test + # run: | + # stack test --bench --no-run-benchmarks From 4be4a15165fc521a28957112d86000a1fd387c89 Mon Sep 17 00:00:00 2001 From: Dennis Gosnell Date: Sat, 24 Aug 2024 16:14:44 +0900 Subject: [PATCH 4/4] Constrain aeson to < 2.2 for cabal-based build --- vault-tool/vault-tool.cabal | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vault-tool/vault-tool.cabal b/vault-tool/vault-tool.cabal index 2b97e65..fcd1287 100644 --- a/vault-tool/vault-tool.cabal +++ b/vault-tool/vault-tool.cabal @@ -33,7 +33,8 @@ library http-client, http-types, http-client-tls, - aeson, + -- vault-tool doesn't yet work with new KeyValue constraint from aeson-2.2 + aeson < 2.2, unordered-containers, time