Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 22 additions & 25 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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"
Expand All @@ -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
Expand All @@ -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.
Expand Down Expand Up @@ -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-*
Expand All @@ -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
Expand All @@ -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:
Expand All @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/stan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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') }}
Expand All @@ -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
26 changes: 9 additions & 17 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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') }}
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down
Loading