From 40587a6bfb50a0a98d06c5671679a257a7038404 Mon Sep 17 00:00:00 2001 From: Mann mit Hut Date: Sun, 11 Jun 2023 13:54:25 +0200 Subject: [PATCH 1/4] Updated GitHub Actions --- .github/workflows/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a9ef6421a..56bc5a5aa 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,16 +26,16 @@ jobs: runs-on: ${{ matrix.os.runner }} steps: - name: "Checkout repository" - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: submodules: true - id: setup-haskell-cabal name: "Setup Haskell environment" - uses: haskell/actions/setup@v1.2.1 + uses: haskell/actions/setup@v2 with: enable-stack: true - name: "Cache" - uses: actions/cache@v2 + uses: actions/cache@v3 with: key: ${{ matrix.os.runner }}-${{ hashFiles('stack.yaml') }}-${{ env.cache_generation }} restore-keys: | @@ -143,7 +143,7 @@ jobs: package 'dhall-toml' "bin/dhall-to-toml${exe}" "bin/toml-to-dhall${exe}" package 'dhall-yaml' "bin/dhall-to-yaml-ng${exe}" "bin/yaml-to-dhall${exe}" - name: "Upload package" - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: 'dhall-${{runner.os}}.${{matrix.os.file-extension}}' path: 'dhall-*${{runner.os}}.${{matrix.os.file-extension}}' From 05420c858da95385fb9d2316b8322026d94e4fde Mon Sep 17 00:00:00 2001 From: Mann mit Hut Date: Mon, 12 Jun 2023 14:14:26 +0200 Subject: [PATCH 2/4] Try to use Cabal in GitHub Actions --- .github/workflows/main.yml | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 56bc5a5aa..38c6026fe 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,5 +1,6 @@ env: - cache_generation: 2021-06-22 + cache_generation: 2023-06-12 + ghc_version: 9.0.2 # NOTE: Please keep .mergify.yml in sync when adding or removing any jobs. name: main @@ -37,11 +38,11 @@ jobs: - name: "Cache" uses: actions/cache@v3 with: - key: ${{ matrix.os.runner }}-${{ hashFiles('stack.yaml') }}-${{ env.cache_generation }} + key: ${{ matrix.os.runner }}-${{ env.ghc_version }}-${{ hashFiles('**/cabal.project', '**/cabal.project.freeze', '**/*.cabal') }}-${{ env.cache_generation }} restore-keys: | - ${{ matrix.os.runner }}- + ${{ matrix.os.runner }}-${{ env.ghc_version }}- path: | - ${{ steps.setup-haskell-cabal.outputs.stack-root }} + ${{ steps.setup-haskell-cabal.outputs.cabal-store }} - name: Install libsodium shell: bash run: | @@ -68,10 +69,7 @@ jobs: continue fi - # We use --test --no-run-tests to avoid re-building all the local packages in the - # subsequent test step. - # See https://github.com/commercialhaskell/stack/issues/4977. - stack build --test --no-run-tests --copy-bins --local-bin-path ./bin "${package}" + cabal install --enable-test --install-method=copy --installdir=./bin "${package}" done - name: "Run tests" shell: bash @@ -93,7 +91,7 @@ jobs: continue fi - stack test "${package}" + cabal test "${package}" done - name: "Prepare packaging" shell: bash @@ -122,7 +120,7 @@ jobs: function package() ( local package="${1}" - local version="$(stack query locals "${package}" version)" + local version="$(jq -r ".\"install-plan\"[] | select(.\"pkg-name\" == \"${package}\") | .\"pkg-version\"" < dist-newstyle/cache/plan.json | head -n 1)" shift local assets=("${@}") local package_file="${package}-${version}-${architecture}-${{runner.os}}.${{ matrix.os.file-extension }}" From ee37cfd3d8ea3235a18f1f9eeb45f41151564884 Mon Sep 17 00:00:00 2001 From: Mann mit Hut Date: Mon, 12 Jun 2023 14:36:58 +0200 Subject: [PATCH 3/4] Remove --enable-tests from Cabal build invocation --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 38c6026fe..24fd8ebb1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -69,7 +69,7 @@ jobs: continue fi - cabal install --enable-test --install-method=copy --installdir=./bin "${package}" + cabal install --install-method=copy --installdir=./bin "${package}" done - name: "Run tests" shell: bash From 8f4b44e978ecce8931f16aa8a3f9e33e03b92ab1 Mon Sep 17 00:00:00 2001 From: Mann mit Hut Date: Mon, 17 Jul 2023 16:29:21 +0200 Subject: [PATCH 4/4] Change GHC version to 8.10.7 --- .github/workflows/main.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 24fd8ebb1..df0556b5e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,6 @@ env: cache_generation: 2023-06-12 - ghc_version: 9.0.2 + ghc_version: 8.10.7 # NOTE: Please keep .mergify.yml in sync when adding or removing any jobs. name: main @@ -34,7 +34,8 @@ jobs: name: "Setup Haskell environment" uses: haskell/actions/setup@v2 with: - enable-stack: true + ghc-version: ${{ env.ghc_version }} + cabal-version: '3.10.1.0' - name: "Cache" uses: actions/cache@v3 with: