name: Build and test on: push: branches: - master pull_request: branches: - master jobs: run: name: Build strategy: fail-fast: false matrix: os: - macos-latest - ubuntu-latest - windows-latest ocaml: - '4.03.0' - '4.08.1' - '4.12.0' runs-on: ${{ matrix.os }} steps: - uses: haya14busa/action-cond@v1 id: path with: cond: ${{ matrix.os == 'windows-latest' }} if_true: "D:\\cygwin\\home\\runneradmin\\.opam" if_false: "~/.opam" - uses: actions/checkout@v2 - uses: ocaml/setup-ocaml@v2 with: ocaml-compiler: ${{ matrix.ocaml-compiler }} - run: opam pin -n . - run: opam depext -yt containers containers-data containers-thread - run: opam install -t containers containers-data containers-thread --deps-only if: matrix.os == 'ubuntu-latest' - run: | opam install -t containers --deps-only opam install containers-data containers-thread --deps-only # no test deps if: matrix.os != 'ubuntu-latest' - run: opam exec -- dune build - run: opam exec -- dune runtest if: ${{ matrix.os == 'ubuntu-latest' }} - run: opam exec -- dune runtest -j 1 -p containers # test only core on non-ubuntu platform if: ${{ matrix.os != 'ubuntu-latest' }}