ci #23
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
build: | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
# - macos-latest | |
ocaml-compiler: | |
- 5.1.x | |
- 5.0.x | |
- 4.14.x | |
- 4.13.x | |
- 4.12.x | |
- 4.11.x | |
- 4.10.x | |
- 4.09.x | |
- 4.08.x | |
- 4.07.x | |
- 4.06.x | |
- 4.05.x | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up OCaml ${{ matrix.ocaml-compiler }} | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
- name: Install dependencies | |
run: opam install . --deps-only --with-test | |
- name: Build | |
run: opam exec -- dune build | |
lower-bounds-downgrade: | |
# use external 0install solver to downgrade: https://github.com/ocaml-opam/opam-0install-solver | |
# TODO: will be built in in opam 2.2: https://github.com/ocaml/opam/pull/4909 | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
ocaml-compiler: | |
- 4.14.x | |
runs-on: ${{ matrix.os }} | |
env: | |
OPAMCONFIRMLEVEL: unsafe-yes # allow opam depext to yes package manager prompts | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up OCaml ${{ matrix.ocaml-compiler }} | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
- name: Install dependencies | |
run: opam install . --deps-only --with-test | |
- name: Install opam-0install | |
run: opam install opam-0install | |
- name: Downgrade dependencies | |
# must specify ocaml-base-compiler again to prevent it from being downgraded | |
# run: opam install $(opam exec -- opam-0install --prefer-oldest ppx_deriving_hash ocaml-base-compiler.${{ matrix.ocaml-compiler }}) | |
run: opam install --unlock-base $(opam exec -- opam-0install --prefer-oldest ppx_deriving_hash) | |
- name: Build | |
run: opam exec -- dune build | |
opam-install: | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
ocaml-compiler: | |
- 4.14.x | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up OCaml ${{ matrix.ocaml-compiler }} | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
- name: Install with test | |
run: opam install ppx_deriving_hash --with-test |