-
Notifications
You must be signed in to change notification settings - Fork 0
41 lines (37 loc) · 1.2 KB
/
common.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
name: Common CI workflow
on:
push:
branches:
- main
pull_request:
jobs:
build:
strategy:
matrix:
ocaml-version:
- 5.1.0
node-version:
- hydrogen
if: github.repository == 'kxcdev/kxc-melange-react-native-template'
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 2
- name: Cache node_modules
uses: actions/cache@v3
with:
path: jsland/node_modules
key: v1-${{ runner.os }}-${{ hashFiles('jsland/yarn.lock') }}
- name: Build and test
uses: kxcdev/ocaml-general-gha@v3
with:
ocaml-version: ${{ matrix.ocaml-version }}
node-version: ${{ matrix.node-version }}
setup-command: "opam install --locked . -y --deps-only --with-test && (cd jsland && yarn install --frozen-lockfile)"
# Since `dune` was needed to run `yarn build`, they are also called here.
build-command:
"(dune build && cd jsland && yarn build)"
pr-report-test-result: ${{ matrix.ocaml-version == '5.1.0' && matrix.node-version == 'hydrogen' }}