Merge pull request #82 from GaloisInc/issue#81 #75
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: semmc | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
jobs: | |
build-linux: | |
strategy: | |
fail-fast: false | |
matrix: | |
ghc: ["9.2.8", "9.4.5", "9.6.2"] | |
cabal: ['3.10.1.0'] | |
package: | |
- semmc | |
- semmc-aarch32 | |
- semmc-arm | |
- semmc-ppc | |
- semmc-x86_64 | |
- semmc-coverage | |
- semmc-fuzzer | |
- semmc-toy | |
- semmc-synthesis | |
- semmc-learning | |
runs-on: ubuntu-latest | |
name: ${{ matrix.package }} - GHC v${{ matrix.ghc }} - ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- run: | | |
git config --global url.https://github.com/.insteadOf git@github.com: | |
git submodule update --init | |
- uses: haskell/actions/setup@v1 | |
id: setup-haskell | |
with: | |
ghc-version: ${{ matrix.ghc }} | |
cabal-version: ${{ matrix.cabal }} | |
- uses: actions/cache/restore@v3 | |
name: Restore cabal store cache | |
with: | |
path: | | |
${{ steps.setup-haskell.outputs.cabal-store }} | |
dist-newstyle | |
key: cabal-${{ matrix.package }}-${{ matrix.ghc }}-${{ hashFiles('**/cabal.GHC-*') }}-${{ github.sha }} | |
restore-keys: | | |
cabal-${{ matrix.package }}-${{ matrix.ghc }}-${{ hashFiles('**/cabal.GHC-*') }} | |
- name: Configure | |
run: | | |
ln -sv cabal.project.newbuild cabal.project | |
ln -sv cabal.GHC-${{ matrix.ghc }}.config cabal.project.freeze | |
cabal v2-update | |
cabal v2-configure -j2 --minimize-conflict-set --enable-tests | |
- name: Build | |
run: cabal v2-build ${{ matrix.package }} | |
# Solvers | |
- name: Install yices | |
run: | | |
curl -L https://yices.csl.sri.com/releases/2.6.2/yices-2.6.2-x86_64-pc-linux-gnu-static-gmp.tar.gz | tar xz | |
sudo cp yices*/bin/yices-smt2 /usr/local/bin | |
sudo cp yices*/bin/yices /usr/local/bin | |
- name: Install z3 | |
run: | | |
curl -L https://github.com/Z3Prover/z3/releases/download/z3-4.8.8/z3-4.8.8-x64-ubuntu-16.04.zip --output z3.zip | |
unzip z3.zip | |
sudo mv z3-*/bin/z3 /usr/local/bin | |
- name: Tests | |
working-directory: ${{ matrix.package }} | |
run: cabal v2-test | |
- uses: actions/cache/save@v3 | |
name: Save cabal store cache | |
if: always() | |
with: | |
path: | | |
${{ steps.setup-haskell.outputs.cabal-store }} | |
dist-newstyle | |
key: cabal-${{ matrix.package }}-${{ matrix.ghc }}-${{ hashFiles('**/cabal.GHC-*') }}-${{ github.sha }} |