Skip to content

Opam Dependency Submission #3296

Opam Dependency Submission

Opam Dependency Submission #3296

Workflow file for this run

name: Builds, tests & co
on:
pull_request:
push:
schedule:
# Prime the caches every Monday
- cron: 0 1 * * MON
permissions: read-all
jobs:
hygiene:
name: Hygiene
runs-on: ubuntu-latest
steps:
- name: Checkout tree
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set-up Node.js 20
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
with:
node-version: 20
- run: corepack enable
- run: yarn install --immutable
- run: yarn format:check
if: always()
- run: yarn lint
if: always()
- run: yarn typecheck
if: always()
- name: Ensure dist directory is up-to-date
shell: bash
run: |
yarn build
if [ "$(git status dist lint-doc lint-fmt lint-opam --porcelain | wc -l)" -gt "0" ]; then
echo "Detected uncommitted changes after build. See status below:"
git diff
exit 1
fi
test:
name: Test
needs: hygiene
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
ocaml-compiler:
- "5.1"
allow-prerelease-opam:
- false
include:
- os: windows-latest
ocaml-compiler: "4.14"
allow-prerelease-opam: false
- os: ubuntu-latest
ocaml-compiler: ocaml-variants.5.1.0+options,ocaml-option-flambda
allow-prerelease-opam: true
runs-on: ${{ matrix.os }}
steps:
- name: Checkout tree
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set-up OCaml ${{ matrix.ocaml-compiler }}
uses: ./
with:
ocaml-compiler: ${{ matrix.ocaml-compiler }}
allow-prerelease-opam: ${{ matrix.allow-prerelease-opam }}
dune-cache: ${{ matrix.os != 'windows-latest' }}
- run: opam depext --install uri
- run: opam install ocamlbuild