Skip to content

OCaml 5.4

OCaml 5.4 #246

Workflow file for this run

name: main
on:
pull_request:
push:
branches:
- main
tags:
- '*'
schedule:
- cron: 0 1 * * MON
permissions: read-all
jobs:
build:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
ocaml-compiler:
- "4.14"
- "5.4"
runs-on: ${{ matrix.os }}
steps:
- name: checkout tree
uses: actions/checkout@v4
with:
submodules: 'true'
- name: set-up OCaml ${{ matrix.ocaml-compiler }}
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: ${{ matrix.ocaml-compiler }}
opam-repositories: |
default: https://github.com/ocaml/opam-repository.git
- run: opam install . --deps-only --with-test
- run: opam exec -- dune build -p mlx,ocamlmerlin-mlx
# TODO: pass --with-dev-setup to opam instead? (requires opam 2.2, I think)
- run: opam install menhir.20201216 menhirLib.20201216 menhirSdk.20201216 ocamlformat
- run: opam exec -- dune runtest
release:
needs: build
permissions:
contents: write # Required for pushing tags and creating releases
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
steps:
- name: checkout tree
uses: actions/checkout@v4
with:
submodules: 'true'
- name: set-up OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: "5.4"
- run: make install
- run: opam install dune-release -y
- name: Run dune-release
uses: andreypopp/dune-release-action@6118dbc7ecba2b9acbd80bb8339dad5a579ef122
with:
packages: "mlx,ocamlmerlin-mlx"
changelog: './CHANGES'
github-token: ${{ secrets.GH_TOKEN }}
to-opam-repository: true
to-github-releases: true