name: Build and Test on: push: branches: - main pull_request: jobs: run: name: build strategy: fail-fast: true matrix: os: - ubuntu-latest #- macos-latest #- windows-latest ocaml-compiler: - '4.08.x' - '4.12.x' - '4.14.x' - '5.1.x' runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@main - name: Use OCaml ${{ matrix.ocaml-compiler }} uses: ocaml/setup-ocaml@v3 with: ocaml-compiler: ${{ matrix.ocaml-compiler }} dune-cache: true allow-prerelease-opam: true # 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 # no tests if: matrix.ocaml-compiler != '4.08.x' - run: opam exec -- dune build '@install' -p trace,trace-tef,trace-fuchsia - run: opam exec -- dune build '@install' -p ppx_trace if: matrix.ocaml-compiler != '4.08.x' - 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 - run: opam exec -- dune build '@install' -p trace,trace-tef,trace-fuchsia - run: opam install picos_aux - 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