ocaml-containers/.github/workflows/main.yml
2021-08-02 14:08:00 -04:00

59 lines
1.4 KiB
YAML

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' }}