Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support building with GHC 9.6 #1987

Merged
merged 8 commits into from
Nov 20, 2023
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
38 changes: 13 additions & 25 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.2.7
# - Artifact uploads for binaries are from GHC 9.2.8
# - Builds for Ubuntu happen on 22.04. We also include a single configuration
# for 20.04 to increase our Linux coverage.
# - Docker builds happen nightly, on manual invocation, and on release branch commits
Expand Down Expand Up @@ -78,36 +78,24 @@ jobs:
matrix:
os: [ubuntu-22.04, macos-12, windows-2019]
cabal: ["3.10.1.0"]
ghc: ["8.10.7", "9.2.7", "9.4.4"]
ghc: ["9.2.8", "9.4.8", "9.6.3"]
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-20.04
ghc: "9.2.7"
ghc: "9.2.8"
cabal: "3.10.1.0"
run-tests: false
hpc: false
# Include one job with HPC enabled
- os: ubuntu-22.04
ghc: "9.4.4"
ghc: "9.4.8"
cabal: "3.10.1.0"
run-tests: true
hpc: true
exclude:
# We exclude the GHC 8.10.7 job on Windows, as it is known to suffer
# from a hard-to-diagnose memory-related issue that does not affect
# later versions of GHC on Windows. (See
# https://github.com/GaloisInc/saw-script/issues/1961.) When we drop
# support for 8.10 entirely from SAW's support Window, we can remove
# this part of the matrix entirely.
- os: windows-2019
ghc: "8.10.7"
cabal: "3.10.1.0"
run-tests: true
hpc: false
outputs:
cabal-test-suites-json: ${{ steps.cabal-test-suites.outputs.targets-json }}
steps:
Expand Down Expand Up @@ -183,7 +171,7 @@ jobs:
dest: dist-tests

- uses: actions/upload-artifact@v2
if: "matrix.ghc == '9.2.7'"
if: "matrix.ghc == '9.2.8'"
with:
path: dist-tests
name: dist-tests-${{ matrix.os }}
Expand All @@ -200,14 +188,14 @@ jobs:
- shell: bash
run: .github/ci.sh zip_dist_with_solvers $NAME-with-solvers

- if: matrix.ghc == '9.2.7' && github.event.pull_request.head.repo.fork == false
- if: matrix.ghc == '9.2.8' && github.event.pull_request.head.repo.fork == false
shell: bash
env:
SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
run: .github/ci.sh sign $NAME.tar.gz

- if: matrix.ghc == '9.2.7' && github.event.pull_request.head.repo.fork == false
- if: matrix.ghc == '9.2.8' && github.event.pull_request.head.repo.fork == false
shell: bash
env:
SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}
Expand All @@ -217,7 +205,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.2.7). These archives are utilized in
# distribution (currently: GHC 9.2.8). These archives are utilized in
# subsequent CI jobs, but are also published for external users, and are
# therefore signed.
#
Expand All @@ -232,23 +220,23 @@ 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.2.7' && matrix.hpc == false
- if: matrix.ghc == '9.2.8' && matrix.hpc == false
uses: actions/upload-artifact@v2
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.2.7' && matrix.hpc == false
- if: matrix.ghc == '9.2.8' && matrix.hpc == false
uses: actions/upload-artifact@v2
with:
name: ${{ steps.config.outputs.name }}-with-solvers (GHC ${{ matrix.ghc }})
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.2.7' && matrix.run-tests && matrix.hpc == false
- if: matrix.ghc == '9.2.8' && matrix.run-tests && matrix.hpc == false
uses: actions/upload-artifact@v2
with:
path: dist/bin
Expand Down Expand Up @@ -726,7 +714,7 @@ jobs:
- hmac-failure
- awslc
- blst
ghc: ["9.2.7"]
ghc: ["9.2.8"]
steps:
- uses: actions/checkout@v2
- run: |
Expand Down Expand Up @@ -779,7 +767,7 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
ghc: ["9.2.7"]
ghc: ["9.2.8"]
steps:
- uses: actions/checkout@v2
- run: |
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
url = https://github.com/galoisinc/argo
[submodule "deps/language-rust"]
path = deps/language-rust
url = https://github.com/harpocrates/language-rust.git
url = https://github.com/GaloisInc/language-rust.git
[submodule "deps/language-sally"]
path = deps/language-sally
url = https://github.com/GaloisInc/language-sally
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ To build SAWScript and related utilities from source:
* Ensure that you have the `cabal` and `ghc` executables in your
`PATH`. If you don't already have them, we recommend using `ghcup`
to install them: <https://www.haskell.org/ghcup/>. We recommend
Cabal 3.4 or newer, and GHC 8.10, 9.2, or 9.4.
Cabal 3.10 or newer, and GHC 9.2, 9.4, or 9.6.

(If you are using the GHC 9.2 series, make sure to use 9.2.6 or later
to avoid [this bug](https://gitlab.haskell.org/ghc/ghc/-/issues/22491).)
Expand Down
Loading
Loading