name: build on: pull_request: push: branches: - main jobs: build: strategy: fail-fast: true matrix: os: - ubuntu-latest #- windows-latest #- macos-latest ocaml-compiler: - 4.08.x - 4.13.x - 5.0.x runs-on: ${{ matrix.os }} steps: - name: Checkout code uses: actions/checkout@v2 with: submodules: recursive # needed for depext to work - run: sudo apt-get update && sudo apt-get install mccs if: ${{ matrix.os == 'ubuntu-latest' }} - name: Use OCaml ${{ matrix.ocaml-compiler }} uses: ocaml/setup-ocaml@v3 with: ocaml-compiler: ${{ matrix.ocaml-compiler }} opam-depext-flags: --with-test dune-cache: true allow-prerelease-opam: true - run: | opam pin ocaml-protoc 3.0.1 -y -n opam pin pbrt 3.0.1 -y -n opam install pbrt -y - run: opam install . --deps-only --with-test --solver=mccs - run: opam exec -- dune build @install -p opentelemetry,opentelemetry-lwt,opentelemetry-client-ocurl,opentelemetry-cohttp-lwt,opentelemetry-client-cohttp-lwt # with depopts - run: opam install trace.0.9 picos_aux - run: opam exec -- dune build @install -p opentelemetry - run: opam install ocaml-protoc - run: opam exec -- dune build @lint # check that nothing changed - run: git diff --exit-code - run: opam exec -- dune build @runtest if: ${{ matrix.os == 'ubuntu-latest' }}