CN: Mucore program export to Coq #268
Workflow file for this run
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
# Builds cerberus-cheri and runs CHERI tests | |
name: Cerberus-CHERI | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
env: | |
CERBERUS_IMAGE_ID: ghcr.io/rems-project/cerberus/cn:release | |
# cancel in-progress job when a new push is performed | |
concurrency: | |
group: ci-${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
strategy: | |
matrix: | |
# version: [4.12.0, 4.14.1] | |
version: [4.14.1] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout Cerberus | |
uses: actions/checkout@v4 | |
- name: System dependencies (ubuntu) | |
run: | | |
sudo apt-get install build-essential libgmp-dev opam | |
- name: Restore OPAM cache | |
id: cache-opam-restore | |
uses: actions/cache/restore@v4 | |
with: | |
path: ~/.opam | |
key: ${{ matrix.version }}-cheri | |
- name: Setup OPAM | |
if: steps.cache-opam-restore.outputs.cache-hit != 'true' | |
run: | | |
opam init --yes --no-setup --shell=sh --compiler=${{ matrix.version }} | |
eval $(opam env --switch=${{ matrix.version }}-cheri) | |
opam repo add --yes --this-switch coq-released https://coq.inria.fr/opam/released | |
opam pin --yes -n coq-struct-tact https://github.com/uwplse/StructTact.git | |
opam repo add --yes --this-switch iris-dev https://gitlab.mpi-sws.org/iris/opam.git | |
opam pin --yes -n coq-sail-stdpp https://github.com/rems-project/coq-sail.git#f319aad | |
opam pin --yes -n coq-cheri-capabilities https://github.com/rems-project/coq-cheri-capabilities.git#2f02c44ad061d4da30136dc9dbc06c142c94fdaf | |
- name: Save OPAM cache | |
uses: actions/cache/save@v4 | |
if: steps.cache-opam-restore.outputs.cache-hit != 'true' | |
with: | |
path: ~/.opam | |
key: ${{ matrix.version }}-cheri | |
- name: Install Cerberus-CHERI | |
if: ${{ matrix.version == '4.14.1' }} | |
run: | | |
opam switch ${{ matrix.version }}-cheri | |
eval $(opam env --switch=${{ matrix.version }}-cheri ) | |
opam pin --yes --no-action add cerberus-lib . | |
opam pin --yes --no-action add cerberus-cheri . | |
opam install --yes cerberus-cheri | |
- name: Run Cerberus-CHERI CI tests | |
if: ${{ matrix.version == '4.14.1' }} | |
run: | | |
opam switch ${{ matrix.version }}-cheri | |
eval $(opam env --switch=${{ matrix.version }}-cheri ) | |
cd tests; USE_OPAM='' ./run-cheri.sh | |
cd .. |