Adjust CI and operating system constraints #2
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
# Credit for this workflow: | |
# https://sim642.eu/blog/2022/03/13/ocaml-dependencies-lower-bounds-ci/ | |
name: Lower bounds | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
lower-bounds: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
ocaml-compiler: | |
- "4.14" | |
- "5.1" | |
runs-on: ${{ matrix.os }} | |
env: | |
OPAMCONFIRMLEVEL: unsafe-yes # allow opam depext to yes package manager prompts | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up OCaml ${{ matrix.ocaml-compiler }} | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
dune-cache: true | |
allow-prerelease-opam: true | |
- name: Install dependencies | |
run: opam install . --deps-only --with-test | |
- name: Install opam-0install | |
run: opam install opam-0install | |
- name: Downgrade dependencies | |
run: opam install --unlock-base $(opam exec -- opam-0install --prefer-oldest --with-test smtml) | |
- name: Build | |
run: opam exec -- dune build @install | |
- name: Test | |
run: opam exec -- dune runtest | |