Proof to real code #64
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: Build | |
on: | |
push: | |
branches: | |
- 'master' | |
paths-ignore: | |
- '**.md' | |
- '**.gitignore' | |
- '**.opam' | |
- 'LICENSE' | |
pull_request: | |
paths-ignore: | |
- '**.md' | |
- '**.gitignore' | |
- '**.opam' | |
- 'LICENSE' | |
concurrency: | |
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.head_ref || github.ref }}" | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
env: | |
OCAML_COMILER_VERSION: "4.14.1" | |
JOBS: 2 | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Checkout branch ${{ github.ref_name }} | |
uses: actions/checkout@v4 | |
- run: sudo apt-get update | |
- name: Restore opam cache | |
id: opam-cache | |
uses: actions/cache@v4 | |
with: | |
path: "~/.opam" | |
key: opam-${{env.OCAML_COMILER_VERSION}}-${{hashFiles('.github/coq-ovn.opam.locked')}} | |
restore-keys: | | |
opam-${{env.OCAML_COMILER_VERSION}}- | |
- name: Set up OCaml | |
uses: avsm/setup-ocaml@v1 | |
with: | |
ocaml-version: ${{env.OCAML_COMILER_VERSION}} | |
- name: Build dependencies | |
#if: ${{ !steps.opam-cache.outputs.cache-hit }} | |
run: | | |
opam repo add coq-released https://coq.inria.fr/opam/released | |
opam install --deps-only -j${{ env.JOBS }} .github/coq-ovn.opam.locked | |
opam pin coq-hacspec-ssprove https://github.com/hacspec/hax.git#ssprove_backend_lib | |
opam clean -a -c -s --logs | |
- name: Set up environment | |
run: | | |
echo "::group::Setting up problem matcher" | |
echo "::add-matcher::./.github/coq-errors.json" | |
echo "::endgroup::" | |
- name: Build OVN | |
run: | | |
echo "::group::Build OVN" | |
opam exec -- make -j${{ env.JOBS }} | |
echo "::endgroup::" | |
- name: Build documentation | |
if: github.event_name == 'push' && github.ref == 'refs/heads/master' | |
run: | | |
echo "::group::Running coqdoc" | |
opam exec -- make -j${{ env.JOBS }} html | |
echo "::endgroup::" | |
- name: Prepare documentation for deployment | |
if: github.event_name == 'push' && github.ref == 'refs/heads/master' | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: docs | |
deploy-docs: | |
if: github.event_name == 'push' && github.ref == 'refs/heads/master' | |
needs: build | |
runs-on: ubuntu-latest | |
permissions: | |
pages: write | |
id-token: write | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 |