Skip to content

Commit

Permalink
mirror arck/camlsrc/kxclib/.github/workflows/common.yml in rinm/
Browse files Browse the repository at this point in the history
  • Loading branch information
haochenx committed Sep 27, 2024
1 parent 4dd981f commit 9a197c1
Showing 1 changed file with 66 additions and 0 deletions.
66 changes: 66 additions & 0 deletions .github/workflows/common.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Common CI workflow

on:
push:
branches: [main]
pull_request:
types: [opened, synchronize, reopened]

jobs:
build:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
ocaml-version:
- 5.1.x
node-version:
- lts/hydrogen # v18 Active LTS
oven-version:
- latest
- 1.0.25

runs-on: ${{ matrix.os }}

steps:
- name: Checkout code
uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 2

- name: Use OCaml ${{ matrix.ocaml-version }}
uses: ocaml/setup-ocaml@v2
with:
ocaml-compiler: ${{ matrix.ocaml-version }}

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: yarn
cache-dependency-path: 'melange/yarn.lock'

- uses: oven-sh/setup-bun@v1
with:
bun-version: ${{ matrix.oven-version }}

- name: Cache OPAM switch
id: cache-switch
uses: actions/cache@v3
with:
path: _opam
key: v1-${{ runner.os }}-${{ matrix.ocaml-version }}-${{ hashFiles('**.opam') }}-opam-switch

- name: Install dependencies
run: opam install . --deps-only --with-test --with-doc

- name: build
run: opam exec -- dune build

- name: doc
run: opam exec -- dune build @doc

- name: test
run: opam exec -- dune runtest

0 comments on commit 9a197c1

Please sign in to comment.