Update #277
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 | |
- pull_request | |
- workflow_dispatch | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
solver: | |
- sundials | |
- nosundials | |
plot: | |
- gtk | |
- nogtk | |
ocaml-version: | |
- 4.13.1 | |
- 4.08.1 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Use OCaml ${{ matrix.ocaml-version }} | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-version }} | |
- name: Install OCaml dependencies | |
run: opam install -y graphics ocamlfind menhir | |
- name: Install Sundials | |
if: matrix.solver == 'sundials' | |
run: opam depext conf-sundials | |
- name: Install Sundials/ML | |
if: matrix.solver == 'sundials' | |
run: opam install sundialsml | |
- name: Install Zelus | |
run: | | |
opam pin -y -n -k path . | |
opam install -y zelus | |
- name: Install Gtk | |
if: matrix.plot == 'gtk' | |
run: opam install -y zelus-gtk | |
- name: Build all examples | |
if: matrix.plot == 'gtk' | |
run: | | |
cd examples | |
opam exec -- dune build --root . | |
- name: Build no-gtk examples only | |
if: matrix.plot == 'nogtk' | |
run: | | |
cd examples | |
echo "(dirs :standard \ airtraffic backhoe bangbang billiard cantharide clutch_engagement cradle db_intgr engine fuelcontroller heater misc power qss soas_relaycontrol stick_slip_friction stickysprings suspension van_der_pol zener_diode)" >> dune | |
opam exec -- dune build --root . |