From 4f2478f20f628027a6b50b8ccdf7d7b2a59c87a9 Mon Sep 17 00:00:00 2001 From: Mike Pilgrem Date: Sun, 28 Jun 2026 16:02:57 +0100 Subject: [PATCH] Update CI --- .github/workflows/integration-tests.yml | 47 ++++++++++++------------- .github/workflows/lint.yml | 2 +- .github/workflows/stan.yml | 6 ++-- .github/workflows/unit-tests.yml | 26 +++++--------- 4 files changed, 35 insertions(+), 46 deletions(-) diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index e289cfee80..76fb094f37 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -16,10 +16,15 @@ on: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# As of 2026-03-01: -# * ubuntu-latest comes with Stack 3.9.3 and GHC 9.14.1; and -# * windows-latest comes with Stack 3.9.1 and GHC 9.14.1. -# However, macos-15-intel and macos-latest do not come with Haskell tools. +# As of 2026-06-28: +# * ubuntu-latest comes with Stack 3.11.1 and GHC 9.14.1; and +# * windows-latest comes with Stack 3.11.1 and GHC 9.14.1. +# +# However, the following ubuntu-24.04-arm, macos-15-intel and macos-latest do +# not come with Haskell tools: +# * ubuntu-24.04-arm; +# * macos-15-intel; and +# * macos-latest # # windows-latest no longer comes with NSIS 3.10, for which the default value of # the 'Unicode' installer attribute is 'true'. However, that is not the @@ -43,7 +48,7 @@ jobs: # Stack's project-level configuration (stack.yaml) specifies the # multi-architecture (including Linux/Aarch64) Docker image published # by Oliver Benz (@benz0li, on GitHub). That image comes with - # Stack 3.9.3. (Note that the online documentation for + # Stack 3.11.1. (Note that the online documentation for # '--docker-stack-exe image' specifies that the host Stack and image # Stack must have the same version number.) release-args: "--alpine --stack-args --docker-stack-exe=image" @@ -61,16 +66,16 @@ jobs: cache-bust: "2024-11-05" steps: - name: Clone project - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Cache dependencies on Unix-like OS if: startsWith(runner.os, 'Linux') || startsWith(runner.os, 'macOS') - uses: actions/cache@v5 + uses: actions/cache@v6 with: path: ~/.stack key: ${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('stack.yaml') }}-${{ matrix.cache-bust }} - name: Cache dependencies on Windows if: startsWith(runner.os, 'Windows') - uses: actions/cache@v5 + uses: actions/cache@v6 with: path: | ~\AppData\Roaming\stack @@ -97,21 +102,13 @@ jobs: if [[ "${{ matrix.os }}" == "ubuntu-24.04-arm" || "${{ matrix.os }}" == "macos-15-intel" || "${{ matrix.os }}" == "macos-latest" ]] then - # As at 2026-03-01: + # As at 2026-06-28: # # * ubuntu-24.04-arm, macos-15-intel and macos-latest do not include # Haskell tools. curl -sSL https://get.haskellstack.org/ | sh fi - if [[ "${{ matrix.os }}" == "windows-latest" ]] - then - # As at 2026-03-01: - # - # * windows-latest does not include Stack 3.9.3. - stack upgrade - fi - if [[ "${{ matrix.os }}" == "ubuntu-latest" ]] then # Install a faster linker (lld) than Ubuntu's default. @@ -188,7 +185,7 @@ jobs: stack etc/scripts/release.hs build ${{ matrix.release-args }} - name: Upload bindist - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: ${{ runner.os }}-${{ runner.arch }} path: _release/stack-* @@ -203,27 +200,27 @@ jobs: if: startsWith(github.ref, 'refs/tags/') steps: - name: Download Linux/x86_64 artifact - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: Linux-X64 path: _release - name: Download macOS/x86_64 artifact - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: macOS-X64 path: _release - name: Download macOS/AArch64 artifact - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: macOS-ARM64 path: _release - name: Download Windows/x86_64 artifact - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: Windows-X64 path: _release - name: Download Linux/AArch64 artifact - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: Linux-ARM64 path: _release @@ -242,7 +239,7 @@ jobs: - name: Create GitHub release (final) id: github_release_final if: "!startsWith(github.ref, 'refs/tags/rc/')" - uses: ncipollo/release-action@v1.20.0 + uses: ncipollo/release-action@v1.21.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: @@ -261,7 +258,7 @@ jobs: - name: Create GitHub release (release candidate) id: github_release_rc if: "startsWith(github.ref, 'refs/tags/rc/')" - uses: ncipollo/release-action@v1.20.0 + uses: ncipollo/release-action@v1.21.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 2e4ef930b8..7d91598e3b 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Clone project - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Apply yamllint uses: ibiqlik/action-yamllint@v3 with: diff --git a/.github/workflows/stan.yml b/.github/workflows/stan.yml index 1a81dfecc9..2e6ebd0822 100644 --- a/.github/workflows/stan.yml +++ b/.github/workflows/stan.yml @@ -11,10 +11,10 @@ jobs: steps: - name: Clone project - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Cache dependencies - uses: actions/cache@v5 + uses: actions/cache@v6 with: path: ~/.stack key: ${{ runner.os }}-${{ hashFiles('stack.yaml') }} @@ -33,7 +33,7 @@ jobs: run: .bin/stan report --cabal-file-path=stack.cabal - name: Upload HTML report - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: Stan_report path: stan.html diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index fd955780a5..2e240e356c 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -9,9 +9,9 @@ on: - rc/** workflow_dispatch: -# As of 2026-03-01: -# * ubuntu-latest comes with Stack 3.9.3 and GHC 9.14.1; and -# * windows-latest comes with Stack 3.9.1 and GHC 9.14.1. +# As of 2026-06-28: +# * ubuntu-latest comes with Stack 3.11.1 and GHC 9.14.1; and +# * windows-latest comes with Stack 3.11.1 and GHC 9.14.1. # However, macos-15-intel and macos-latest do not come with Haskell tools. jobs: @@ -20,9 +20,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Clone project - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Cache dependencies - uses: actions/cache@v5 + uses: actions/cache@v6 with: path: ~/.stack key: ${{ runner.os }}-${{ hashFiles('stack.yaml') }} @@ -55,16 +55,16 @@ jobs: stack-args: "" steps: - name: Clone project - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Cache dependencies on Unix-like OS if: startsWith(runner.os, 'Linux') || startsWith(runner.os, 'macOS') - uses: actions/cache@v5 + uses: actions/cache@v6 with: path: ~/.stack key: ${{ runner.os }}-${{ hashFiles('stack.yaml') }}-${{ matrix.extra-suffix }} - name: Cache dependencies on Windows if: startsWith(runner.os, 'Windows') - uses: actions/cache@v5 + uses: actions/cache@v6 with: path: | ~\AppData\Roaming\stack @@ -78,20 +78,12 @@ jobs: if [[ "${{ matrix.os }}" == "macos-latest" ]] then - # As at 2026-03-01: + # As at 2026-06-28: # # * macos-latest does not include Haskell tools. curl -sSL https://get.haskellstack.org/ | sh fi - if [[ "${{ matrix.os }}" == "windows-latest" ]] - then - # As at 2026-03-01: - # - # * windows-latest does not include Stack 3.9.3. - stack upgrade - fi - if [[ "${{ matrix.extra-suffix }}" == "alpine" ]] then mkdir -p ~/.stack