Skip to content

Commit 2403b1d

Browse files
committed
Merge remote-tracking branch 'origin/master' into mrs-solver
2 parents b25fb57 + ab51c9b commit 2403b1d

File tree

103 files changed

+2319
-1174
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+2319
-1174
lines changed

.github/ci.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ install_system_deps() {
8080
cp $BIN/yices_smt2$EXT $BIN/yices-smt2$EXT
8181
export PATH="$BIN:$PATH"
8282
echo "$BIN" >> "$GITHUB_PATH"
83-
is_exe "$BIN" z3 && is_exe "$BIN" cvc4 && is_exe "$BIN" yices
83+
is_exe "$BIN" z3 && is_exe "$BIN" cvc4 && is_exe "$BIN" cvc5 && is_exe "$BIN" yices
8484
}
8585

8686
build_cryptol() {
@@ -127,6 +127,7 @@ zip_dist_with_solvers() {
127127
# dependencies) as the SAW binaries.
128128
cp "$BIN/abc" dist/bin/
129129
cp "$BIN/cvc4" dist/bin/
130+
cp "$BIN/cvc5" dist/bin/
130131
cp "$BIN/yices" dist/bin/
131132
cp "$BIN/yices-smt2" dist/bin/
132133
# Z3 4.8.14 has been known to nondeterministically time out with the AWSLC

.github/workflows/ci.yml

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -68,27 +68,28 @@ jobs:
6868
fail-fast: false
6969
matrix:
7070
os: [ubuntu-22.04, macos-12, windows-latest]
71-
ghc: ["8.8.4", "8.10.7", "9.0.2"]
71+
cabal: ["3.8.1.0"]
72+
ghc: ["8.8.4", "8.10.7", "9.2.7"]
7273
run-tests: [true]
7374
include:
75+
# We include one job from an older Ubuntu LTS release to increase our
76+
# coverage of possible Linux configurations. Since we already run the
77+
# tests with the newest LTS release, we won't bother testing this one.
7478
- os: ubuntu-20.04
7579
ghc: "8.10.7"
80+
cabal: "3.8.1.0"
7681
run-tests: false
7782
exclude:
7883
# Exclude 8.8 on macOS 12 due to
7984
# https://gitlab.haskell.org/ghc/ghc/-/issues/18446
8085
- os: macos-12
8186
ghc: "8.8.4"
87+
cabal: "3.8.1.0"
8288
run-tests: true
8389
- os: windows-latest
8490
ghc: "8.8.4"
91+
cabal: "3.8.1.0"
8592
run-tests: true
86-
# Exclude 9.0 on Windows for now until
87-
# https://github.com/commercialhaskell/stackage/issues/6400
88-
# is resolved
89-
- os: windows-latest
90-
ghc: "9.0.2"
91-
run-tests: false
9293
outputs:
9394
cabal-test-suites-json: ${{ steps.cabal-test-suites.outputs.targets-json }}
9495
steps:
@@ -108,6 +109,7 @@ jobs:
108109
id: setup-haskell
109110
with:
110111
ghc-version: ${{ matrix.ghc }}
112+
cabal-version: ${{ matrix.cabal }}
111113

112114
- name: Post-GHC installation fixups on Windows
113115
shell: bash
@@ -122,8 +124,8 @@ jobs:
122124
env:
123125
BUILD_TARGET_OS: ${{ matrix.os }}
124126

125-
- uses: actions/cache@v2
126-
name: Cache cabal store
127+
- uses: actions/cache/restore@v3
128+
name: Restore cabal store cache
127129
with:
128130
path: |
129131
${{ steps.setup-haskell.outputs.cabal-store }}
@@ -149,7 +151,7 @@ jobs:
149151
RELEASE: ${{ needs.config.outputs.release }}
150152
run: .github/ci.sh build_cryptol
151153

152-
- uses: GaloisInc/.github/actions/cabal-collect-bins@v1
154+
- uses: GaloisInc/.github/actions/cabal-collect-bins@v1.1.1
153155
id: cabal-test-suites
154156
with:
155157
targets: |
@@ -213,6 +215,16 @@ jobs:
213215
path: dist/bin
214216
name: ${{ runner.os }}-bins
215217

218+
- uses: actions/cache/save@v3
219+
name: Save cabal store cache
220+
if: always()
221+
with:
222+
path: |
223+
${{ steps.setup-haskell.outputs.cabal-store }}
224+
dist-newstyle
225+
key: ${{ env.CACHE_VERSION }}-cabal-${{ matrix.os }}-${{ matrix.ghc }}-${{ hashFiles(format('cabal.GHC-{0}.config', matrix.ghc)) }}-${{ github.sha }}
226+
${{ env.CACHE_VERSION }}-cabal-${{ matrix.os }}-${{ matrix.ghc }}-${{ hashFiles(format('cabal.GHC-{0}.config', matrix.ghc)) }}-
227+
216228
mr-solver-tests:
217229
needs: [build]
218230
strategy:
@@ -561,9 +573,6 @@ jobs:
561573
docker-compose pull
562574
grep -h '^FROM' docker/*.dockerfile | sort -u | awk '{print $2}' | xargs -n1 -P8 docker pull
563575
564-
- uses: jpribyl/[email protected]
565-
continue-on-error: true
566-
567576
- shell: bash
568577
name: "make s2n"
569578
working-directory: s2nTests
@@ -594,9 +603,6 @@ jobs:
594603
name: "${{ runner.os }}-bins"
595604
path: ./exercises/bin
596605

597-
- uses: jpribyl/[email protected]
598-
continue-on-error: true
599-
600606
- shell: bash
601607
name: "make exercises container"
602608
working-directory: exercises

CHANGES.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@
9090
allows verification certain kinds of simple loops by using a
9191
user-provided loop invariant.
9292

93+
* Add a `cvc5` family of proof scripts that use the CVC5 SMT solver.
94+
(Note that the `sbv_cvc5` and `sbv_unint_cvc5` are non-functional
95+
on Windows at this time due to a downstream issue with CVC5 1.0.4 and
96+
earlier.)
97+
9398
# Version 0.9
9499

95100
## New Features

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ To build SAWScript and related utilities from source:
4242
* Ensure that you have the `cabal` and `ghc` executables in your
4343
`PATH`. If you don't already have them, we recommend using `ghcup`
4444
to install them: <https://www.haskell.org/ghcup/>. We recommend
45-
Cabal 3.4 or newer, and GHC 8.8, 8.10, or 9.0.
45+
Cabal 3.4 or newer, and GHC 8.8, 8.10, or 9.2.
4646

4747
* Ensure that you have the C libraries and header files for
4848
`terminfo`, which generally comes as part of `ncurses` on most

0 commit comments

Comments
 (0)