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 thread-local-storage lwt - run: opam exec -- dune build '@install' -p trace,trace-tef,trace-fuchsia - run: opam install mtime - run: opam exec -- dune build '@install' -p trace,trace-tef,trace-fuchsia