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