ocaml-trace/.github/workflows/main.yml
2026-04-13 13:10:54 -04:00

53 lines
1.8 KiB
YAML

name: build
on:
push:
branches:
- main
pull_request:
jobs:
run:
name: build # build+test on various versions of OCaml, on linux
timeout-minutes: 15
strategy:
fail-fast: true
matrix:
container:
- ghcr.io/c-cube/c-cube-commmon/ci-4.08:latest
- ghcr.io/c-cube/c-cube-commmon/ci-4.14:latest
- ghcr.io/c-cube/c-cube-commmon/ci-5.0:latest
- ghcr.io/c-cube/c-cube-commmon/ci-5.4:latest
runs-on: ubuntu-latest
container: ${{ matrix.container }}
steps:
- uses: actions/checkout@v6
# check that trace compiles with no optional deps
- run: opam install -t trace --deps-only
- run: opam exec -- dune build '@install' -p trace
# install all packages
- run: opam install -t trace trace-tef trace-fuchsia --deps-only
- run: opam install ppx_trace --deps-only
if: ${{ !contains(matrix.container, 'ci-4.08') }}
- run: opam exec -- dune build '@install' -p trace,trace-tef,trace-fuchsia
- run: opam exec -- dune build '@install' -p ppx_trace
if: ${{ !contains(matrix.container, 'ci-4.08') }}
- run: opam exec -- dune runtest -p trace
- run: opam install trace
- run: opam exec -- dune runtest -p trace-tef,trace-fuchsia
# with depopts
- run: opam install hmap thread-local-storage
- run: opam exec -- dune build '@install' -p trace,trace-tef,trace-fuchsia
- run: opam install picos_aux
if: ${{ !contains(matrix.container, 'ci-4.') }}
- run: opam exec -- dune build '@install' -p trace,trace-tef,trace-fuchsia
if: ${{ !contains(matrix.container, 'ci-4.') }}
- run: opam install mtime
- run: opam exec -- dune build '@install' -p trace,trace-tef,trace-fuchsia