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-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 - run: opam pin picos 0.6.0 -y -n - run: opam install -t . --deps-only - run: opam exec -- dune build @install # install some depopts - run: opam install thread-local-storage trace hmap ambient-context.0.2 - run: opam exec -- dune build --profile=release --force @install @runtest compat: name: build-compat # compat with other OSes needs: run # only run this if cheap linux job passed timeout-minutes: 15 strategy: fail-fast: true matrix: os: - macos-latest #- windows-latest ocaml-compiler: - '5.2' 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 # temporary until it's in a release - run: opam pin https://github.com/ocaml-multicore/picos.git -y -n - run: opam install -t moonpool moonpool-lwt --deps-only - run: opam exec -- dune build @install # install some depopts - run: opam install thread-local-storage trace domain-local-await - run: opam exec -- dune build --profile=release --force @install @runtest