Prevent ci.yml to use ocaml beyond 5.2.0 (#2823) #7841
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: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
schedule: | |
# Prime the caches every Monday | |
- cron: 0 1 * * MON | |
workflow_dispatch: | |
jobs: | |
build: | |
name: Build and test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- macos-latest | |
- ubuntu-latest | |
ocaml-compiler: | |
- "5.2.0" | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
- name: Use OCaml ${{ matrix.ocaml-compiler }} | |
uses: ocaml/setup-ocaml@v3 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
dune-cache: ${{ matrix.os != 'macos-latest' }} | |
opam-repositories: | | |
pin: git+https://github.com/ocaml/opam-repository#c45f5bab71d3589f41f9603daca5acad14df0ab0 | |
opam-disable-sandboxing: true | |
- name: Install system dependencies (Linux) | |
run: sudo apt update && sudo apt-get install libev-dev libonig-dev libcurl4-openssl-dev | |
if: runner.os == 'Linux' | |
- name: Install system dependencies (macOS) | |
run: brew update && brew reinstall libev openssl@3 # Openssl is a workaround for https://github.com/ocaml/opam-repository/issues/19676 | |
if: runner.os == 'macOS' | |
- name: Install opam dependencies | |
run: opam install --deps-only --with-test . | |
- name: Install ocamlformat | |
run: opam install ocamlformat.0.26.2 | |
- name: Build project | |
run: opam exec -- dune build @install | |
- name: Run tests | |
run: opam exec -- dune test | |
- name: Format code | |
run: opam exec -- dune build --auto-promote @fmt | |
if: runner.os == 'Linux' |