Skip to content

build & make test

build & make test #37

Workflow file for this run

name: build & make test
on:
pull_request:
# push:
workflow_dispatch:
schedule:
# Prime the caches every Monday
- cron: 0 1 * * MON
permissions: read-all
# Copy-pasted from https://stackoverflow.com/questions/66335225/how-to-cancel-previous-runs-in-the-pr-when-you-push-new-commitsupdate-the-curre
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
cfg:
- ocaml-version: "ocaml-base-compiler.4.08.1,dune.3.10.0,zarith.1.13,menhir.20220210"
with-fmt: false
job-name: "OCaml v4.08"
dune-cache: "enabled"
- ocaml-version: "dune,zarith,menhir"
with-fmt: true
dune-cache: "enabled-except-user-rules"
job-name: "OCaml latest lts"
name: Make test on ${{ matrix.cfg.job-name }}
runs-on: ${{ matrix.os }}
env:
DUNE_CACHE: ${{ matrix.cfg.dune-cache }}
steps:
- name: Checkout tree
uses: actions/checkout@v4
- name: Set-up OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: ${{ matrix.cfg.ocaml-version }}
dune-cache: true
- run: opam install . --deps-only --with-test
- run: opam exec -- make build DUNE_PROFILE=dev
- run: opam exec -- make test DUNE_PROFILE=dev
- run: opam exec -- make install
check-fmt:
name: check format
runs-on: ubuntu-latest
env:
DUNE_CACHE: enabled-except-user-rules
steps:
- name: Checkout tree
uses: actions/checkout@v4
- name: Set-up OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: ocamlformat.0.27.0
dune-cache: true
- run: opam exec -- dune fmt