name: build on: - push - pull_request jobs: builds: name: Earliest Supported Version strategy: fail-fast: false matrix: os: - ubuntu-latest ocaml-version: - 4.03.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 faraday . opam install --deps-only faraday - name: Build run: opam exec -- dune build -p faraday 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 faraday . opam pin add -n faraday-async . opam pin add -n faraday-lwt . opam pin add -n faraday-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 exec -- make examples