Skip to content

CI

CI #68

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
pull_request:
branches: [ master ]
schedule:
# Run this workflow at 02:15 UTC every Tuesday to keep the cache from being
# evicted. A typical run with everything cached should take less than 10
# minutes.
- cron: 15 2 * * TUE
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
env:
# Set this to the version of Coq that should be used.
coq-version: 8.19.0
dune-version: 3.8.0
DUNE_CACHE_STORAGE_MODE: copy
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
name: Build Schools
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checkout UniMath into the working directory
- name: Checkout UniMath.
uses: actions/checkout@v3
with:
repository: UniMath/UniMath
clean: false
path: .
# Checkout the current branch into Schools/
- name: Checkout Schools.
uses: actions/checkout@v3
with:
path: Schools
# Ideally we would use docker-coq. A setup currently takes about 7min
# before it starts compiling, with OCaml cached.
- name: Install OCaml.
uses: ocaml/setup-ocaml@v2
with:
ocaml-compiler: ocaml-variants.4.14.0+options,ocaml-option-flambda
dune-cache: true
opam-disable-sandboxing: true
- name: Install Dune
run: opam pin add dune ${{ env.dune-version }}
- name: Install Coq
run: opam pin add coq ${{ env.coq-version }}
# Schools is built using the flags specified in code/dune.
- name: Compile Schools.
run: opam exec -- dune build Schools --display=short --error-reporting=twice