name: Build and Test on: push: branches: - main pull_request: jobs: run: name: build timeout-minutes: 15 strategy: fail-fast: true matrix: os: - ubuntu-latest ocaml-compiler: - '4.08' - '4.14' - '5.2' - 'ocaml-variants.5.0.0+options,ocaml-option-bytecode-only' runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@main - name: Use OCaml ${{ matrix.ocaml-compiler }} uses: ocaml/setup-ocaml@v2 with: ocaml-compiler: ${{ matrix.ocaml-compiler }} dune-cache: true allow-prerelease-opam: true - run: opam install -t containers containers-data --deps-only - run: opam exec -- dune build '@install' - run: opam exec -- dune runtest compat: name: build timeout-minutes: 15 strategy: fail-fast: true matrix: os: - macos-latest - ubuntu-latest #- windows-latest ocaml-compiler: - '5.1' runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@main - name: Use OCaml ${{ matrix.ocaml-compiler }} uses: ocaml/setup-ocaml@v2 with: ocaml-compiler: ${{ matrix.ocaml-compiler }} dune-cache: true allow-prerelease-opam: true - run: | opam install -t containers --deps-only ; opam install containers-data --deps-only # no test deps - run: opam exec -- dune build '@install' - run: opam exec -- dune runtest -j 1 -p containers # test only core on non-ubuntu platform format: name: format strategy: matrix: ocaml-compiler: - '5.1' runs-on: 'ubuntu-latest' steps: - uses: actions/checkout@main - name: Use OCaml ${{ matrix.ocaml-compiler }} uses: ocaml/setup-ocaml@v2 with: ocaml-compiler: ${{ matrix.ocaml-compiler }} dune-cache: true allow-prerelease-opam: true - run: opam install ocamlformat.0.24.1 - run: opam exec -- make format-check