Skip to content

Main workflow

Main workflow #179

Workflow file for this run

name: Main workflow
on:
pull_request:
schedule:
# Prime the caches every Monday
- cron: 0 1 * * MON
jobs:
build:
strategy:
fail-fast: false
matrix:
os:
- windows-latest
ocaml-compiler:
- 4.14.x
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
submodules: recursive
- name: Use OCaml ${{ matrix.ocaml-compiler }}
uses: ocaml/setup-ocaml@v2
with:
ocaml-compiler: ${{ matrix.ocaml-compiler }}
opam-repositories: |
default: https://github.com/ocaml-opam/opam-repository-mingw.git#sunset
opam: https://github.com/ocaml/opam-repository.git
- name: Manually install depexts (graphviz)
run: opam exec -- cygwin-dl.exe --quiet-mode --root $env:CYGWIN_ROOT --site https://cygwin.mirror.constant.com --symlink-type=native --packages graphviz
- name: Install Cap'n Proto
shell: bash
env:
CAPNP_VERSION: 0.10.3
run: |
curl -LO https://capnproto.org/capnproto-c++-win32-$CAPNP_VERSION.zip && \
unzip -j capnproto-c++-win32-$CAPNP_VERSION.zip capnproto-tools-win32-$CAPNP_VERSION/capnp.exe -d /usr/bin
- run: opam install . --deps-only --with-test
- run: opam exec -- dune build
# TODO Investigate obuilder windows test failures
# - run: opam exec -- dune runtest
- name: Install the package
run: |
mkdir install && `
& opam exec -- dune build @install --profile=debug && `
& opam exec -- dune install --relocatable --prefix=install
- name: Extract executables and DLLs
run: |
& "$($env:CYGWIN_ROOT_BIN)\bash.exe" --login -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && ./.github/workflows/extract.sh'
- uses: actions/upload-artifact@v3
with:
name: ocluster-windows
path: ocluster-windows/