test: memo and renders (#825) #532
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: opam CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Build | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
# - windows-latest | |
# It seems like dune 3.8 isn't available under opam-repository-mingw for Windows | |
# disabling this for now | |
ocaml-compiler: | |
- 5.2.0 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Load opam cache when not Windows | |
if: runner.os != 'Windows' | |
id: opam-cache | |
uses: actions/cache/restore@v3 | |
with: | |
path: ~/.opam | |
key: opam-${{ matrix.os }}-${{ matrix.ocaml-compiler }}-${{ hashFiles('**.opam') }} | |
- name: Load opam cache when Windows | |
if: runner.os == 'Windows' | |
id: opam-cache-windows | |
uses: actions/cache/restore@v3 | |
with: | |
path: _opam | |
key: opam-${{ matrix.os }}-${{ matrix.ocaml-compiler }}-${{ hashFiles('**.opam') }} | |
- name: Use OCaml ${{ matrix.ocaml-compiler }} | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
dune-cache: true | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- name: Install dependencies | |
run: make install | |
- name: Build | |
run: make build | |
- name: Test | |
run: make test | |
- name: Jest | |
run: make jest | |
- name: Save cache when not Windows | |
uses: actions/cache/save@v3 | |
if: steps.opam-cache.outputs.cache-hit != 'true' && runner.os != 'Windows' | |
with: | |
path: ~/.opam | |
key: opam-${{ matrix.os }}-${{ matrix.ocaml-compiler }}-${{ hashFiles('**.opam') }} | |
- name: Save cache when Windows | |
uses: actions/cache/save@v3 | |
if: steps.opam-cache-windows.outputs.cache-hit != 'true' && runner.os == 'Windows' | |
with: | |
path: _opam | |
key: opam-${{ matrix.os }}-${{ matrix.ocaml-compiler }}-${{ hashFiles('**.opam') }} |