69 lines
1.3 KiB
YAML
69 lines
1.3 KiB
YAML
name: Builds, tests & co
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
schedule:
|
|
# Prime the caches every Monday
|
|
- cron: 0 1 * * MON
|
|
|
|
permissions: read-all
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os:
|
|
- macos-latest
|
|
- ubuntu-latest
|
|
ocaml-compiler:
|
|
- 5
|
|
- 4
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
|
- name: Checkout tree
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set-up OCaml
|
|
uses: ocaml/setup-ocaml@v3
|
|
with:
|
|
ocaml-compiler: ${{ matrix.ocaml-compiler }}
|
|
|
|
- run: opam install . --deps-only --with-test
|
|
|
|
- run: opam exec -- dune build
|
|
|
|
- run: opam exec -- dune runtest
|
|
|
|
unikernel-example:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
mode:
|
|
- qubes
|
|
- unix
|
|
- virtio
|
|
|
|
defaults:
|
|
run:
|
|
working-directory: examples/unikernel
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout tree
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set-up OCaml
|
|
uses: ocaml/setup-ocaml@v3
|
|
with:
|
|
ocaml-compiler: 4
|
|
opam-pin: false
|
|
|
|
- run: opam install mirage
|
|
- run: opam exec -- mirage configure -t ${{ matrix.mode }}
|
|
- run: opam exec -- make depend
|
|
- run: opam exec -- make
|