Skip to content

Further voodoo

Further voodoo #2703

Workflow file for this run

name: Build
on:
- push
- pull_request
jobs:
build:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
ocaml-compiler:
- "4.02"
- "4.04"
- "4.06"
- "4.08"
- "4.10"
- "4.12"
- "4.14"
- "5.0"
- "5.2"
include:
- os: ubuntu-latest
ocaml-compiler: "5.2"
# We don't need to compute coverage for more than one build
send-coverage: true
# Mdx tests Mdx tests
run-mdx: true
test-sherlodoc: true
- os: macos-latest
ocaml-compiler: "5.2"
# - os: windows-latest
# ocaml-compiler: "5.2"
runs-on: ${{ matrix.os }}
steps:
- name: Set git to use LF
if: runner.os == 'Windows'
run: |
git config --global core.autocrlf false
git config --global core.eol lf
- name: Checkout tree
uses: actions/checkout@v4
- name: Set-up OCaml ${{ matrix.ocaml-compiler }}
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: ${{ matrix.ocaml-compiler }}
# Do not pin odoc to not break Mdx installation
opam-pin: ${{ matrix.run-mdx != true }}
- name: Install dependencies
run: |
opam install --deps-only --with-test ./odoc.opam ./odoc-parser.opam \
${{ matrix.test-sherlodoc && './sherlodoc.opam' }}
- name: dune runtest
if: matrix.test-sherlodoc == true
# Run all tests
run: opam exec -- dune runtest
- name: dune runtest
if: matrix.test-sherlodoc != true
# Run the tests for odoc and odoc-parser only
run: opam exec -- dune runtest -p odoc,odoc-parser
- name: Mdx tests
if: matrix.run-mdx == true
run: |
opam install mdx
opam exec -- dune build @runmdx
- name: Send coverage stats to Coveralls
if: matrix.send-coverage == true
run: |
opam install bisect_ppx
mkdir -p $BISECT_FILE
opam exec -- dune runtest --instrument-with bisect_ppx --force
opam exec -- bisect-ppx-report send-to Coveralls --coverage-path /tmp/coverage
env:
BISECT_FILE: /tmp/coverage/bisect
COVERALLS_REPO_TOKEN: ${{ github.token }}
PULL_REQUEST_NUMBER: ${{ github.event.number }}