name: build on: - push - pull_request jobs: builds: name: Earliest Supported Version strategy: fail-fast: false matrix: os: - ubuntu-latest ocaml-version: - 4.04.0 runs-on: ${{ matrix.os }} steps: - name: Checkout code uses: actions/checkout@v2 - name: Use OCaml ${{ matrix.ocaml-version }} uses: avsm/setup-ocaml@v1 with: ocaml-version: ${{ matrix.ocaml-version }} - name: Deps run: | opam pin add -n angstrom . opam install --deps-only angstrom - name: Build run: opam exec -- dune build -p angstrom tests: name: Tests strategy: fail-fast: false matrix: os: - ubuntu-latest ocaml-version: - 4.08.1 - 4.10.2 - 4.11.2 - 4.12.0 runs-on: ${{ matrix.os }} steps: - name: Checkout code uses: actions/checkout@v2 - name: Use OCaml ${{ matrix.ocaml-version }} uses: avsm/setup-ocaml@v1 with: ocaml-version: ${{ matrix.ocaml-version }} - name: Deps run: | opam pin add -n angstrom . opam pin add -n angstrom-async . opam pin add -n angstrom-lwt-unix . opam install -t --deps-only . - name: Build run: opam exec -- dune build - name: Test run: opam exec -- dune runtest - name: Examples run: | opam install -t angstrom-async angstrom-lwt-unix opam exec -- make examples