Skip to content
Draft
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
73 changes: 37 additions & 36 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Overall configuration notes:
# - Artifact uploads for binaries are from GHC 9.6.7
# - Artifact uploads for binaries are from GHC 9.10.3
# - Builds for Ubuntu happen on 24.04. We also include a single configuration
# for 22.04 to increase our Linux coverage.
# - Docker builds happen nightly, on manual invocation, and on release branch commits
Expand Down Expand Up @@ -86,23 +86,24 @@ jobs:
matrix:
os: [ubuntu-24.04]
cabal: ["3.14.1.0"]
ghc: ["9.4.8", "9.6.7", "9.8.4"]
#ghc: ["9.4.8", "9.6.7", "9.8.4"]
ghc: ["9.10.3", "9.12.2"]
haddock: [true]
run-tests: [true]
hpc: [false]
include:
# We include one job from an older Ubuntu LTS release to increase our
# coverage of possible Linux configurations. Since we already run the
# tests with the newest LTS release, we won't bother testing this one.
- os: ubuntu-22.04
ghc: "9.6.7"
cabal: "3.14.1.0"
haddock: false
run-tests: false
hpc: false
#- os: ubuntu-22.04
# ghc: "9.6.7"
# cabal: "3.14.1.0"
# haddock: false
# run-tests: false
# hpc: false
# Include one job with HPC enabled
- os: ubuntu-24.04
ghc: "9.6.7"
ghc: "9.10.3"
cabal: "3.14.1.0"
haddock: false
run-tests: true
Expand All @@ -111,21 +112,21 @@ jobs:
# so we only build one particular GHC version to test them on. We
# include both an x86-64 macOS runner (macos-15-intel) as well as an
# AArch64 (arm64) macOS runner (macos-15).
- os: windows-2022
ghc: 9.6.7
haddock: false
run-tests: true
hpc: false
- os: macos-15-intel
ghc: 9.6.7
haddock: false
run-tests: true
hpc: false
- os: macos-15
ghc: 9.6.7
haddock: false
run-tests: true
hpc: false
#- os: windows-2022
# ghc: 9.6.7
# haddock: false
# run-tests: true
# hpc: false
#- os: macos-15-intel
# ghc: 9.6.7
# haddock: false
# run-tests: true
# hpc: false
#- os: macos-15
# ghc: 9.6.7
# haddock: false
# run-tests: true
# hpc: false
outputs:
cabal-test-suites-json: ${{ steps.cabal-test-suites.outputs.targets-json }}
steps:
Expand Down Expand Up @@ -206,13 +207,13 @@ jobs:
# the binaries were compiled using HPC or not. This is done to ensure that
# the HPC-enabled binaries do not clobber the non-HPC-enabled binaries.
- uses: actions/upload-artifact@v5
if: matrix.ghc == '9.6.7' && matrix.hpc == false
if: matrix.ghc == '9.10.3' && matrix.hpc == false
with:
path: dist-tests
name: dist-tests-${{ matrix.os }}

- uses: actions/upload-artifact@v5
if: matrix.ghc == '9.6.7' && matrix.hpc == true
if: matrix.ghc == '9.10.3' && matrix.hpc == true
with:
path: dist-tests
name: dist-tests-${{ matrix.os }}-hpc
Expand Down Expand Up @@ -242,7 +243,7 @@ jobs:
# apparently impossible to restrict scheduled runs to the
# original repository; they will also always run in forks.
# See https://github.com/orgs/community/discussions/16109.
- if: matrix.ghc == '9.6.7' &&
- if: matrix.ghc == '9.10.3' &&
github.event.pull_request.head.repo.fork == false &&
github.repository_owner == 'GaloisInc' &&
github.actor != 'dependabot[bot]'
Expand All @@ -252,7 +253,7 @@ jobs:
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
run: .github/ci.sh sign $NAME.tar.gz

- if: matrix.ghc == '9.6.7' &&
- if: matrix.ghc == '9.10.3' &&
github.event.pull_request.head.repo.fork == false &&
github.repository_owner == 'GaloisInc' &&
github.actor != 'dependabot[bot]'
Expand All @@ -275,7 +276,7 @@ jobs:
##########################################################################
# We upload an archive containing SAW, and also and archive containing SAW
# and the set of possible SMT solvers, but only for our "primary"
# distribution (currently: GHC 9.6.7). These archives are utilized in
# distribution (currently: GHC 9.10.3). These archives are utilized in
# subsequent CI jobs, but are also published for external users, and are
# therefore signed.
#
Expand All @@ -290,31 +291,31 @@ jobs:
# In the next 3 steps we check that `matrix.hpc == false` so that if the
# distribution version matches the HPC version, the HPC build artifacts do
# not clobber the non-HPC distribution artifacts.
- if: matrix.ghc == '9.6.7' && matrix.hpc == false
- if: matrix.ghc == '9.10.3' && matrix.hpc == false
uses: actions/upload-artifact@v5
with:
name: ${{ steps.config.outputs.name }} (GHC ${{ matrix.ghc }})
path: "${{ steps.config.outputs.name }}.tar.gz*"
if-no-files-found: error
retention-days: ${{ needs.config.outputs.retention-days }}

- if: matrix.ghc == '9.6.7' && matrix.hpc == false
- if: matrix.ghc == '9.10.3' && matrix.hpc == false
uses: actions/upload-artifact@v5
with:
name: ${{ steps.config.outputs.name }}-with-solvers
path: "${{ steps.config.outputs.name }}-with-solvers.tar.gz*"
if-no-files-found: error
retention-days: ${{ needs.config.outputs.retention-days }}

- if: matrix.ghc == '9.6.7' && matrix.hpc == false
- if: matrix.ghc == '9.10.3' && matrix.hpc == false
uses: actions/upload-artifact@v5
with:
name: ${{ steps.config.outputs.crux-name }} (GHC ${{ matrix.ghc }})
path: "${{ steps.config.outputs.crux-name }}.tar.gz*"
if-no-files-found: error
retention-days: ${{ needs.config.outputs.retention-days }}

- if: matrix.ghc == '9.6.7' && matrix.run-tests && matrix.hpc == false
- if: matrix.ghc == '9.10.3' && matrix.run-tests && matrix.hpc == false
uses: actions/upload-artifact@v5
with:
path: dist/bin
Expand Down Expand Up @@ -809,7 +810,7 @@ jobs:
- uses: haskell-actions/setup@v2
id: setup-haskell
with:
ghc-version: "9.6.7"
ghc-version: "9.10.3"

- name: Install system dependencies
shell: bash
Expand Down Expand Up @@ -1034,7 +1035,7 @@ jobs:
# - awslc
- blst
os: [ubuntu-24.04]
ghc: ["9.6.7"]
ghc: ["9.10.3"]
steps:
- uses: actions/checkout@v4
- run: |
Expand Down Expand Up @@ -1088,7 +1089,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-24.04]
ghc: ["9.6.7"]
ghc: ["9.10.3"]
steps:
- uses: actions/checkout@v4
- run: |
Expand Down
Loading
Loading