main #115
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: main | |
on: | |
pull_request: | |
push: | |
schedule: | |
- cron: 0 1 * * MON | |
permissions: read-all | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
ocaml-compiler: | |
- "4.14" | |
- "5.2" | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: checkout tree | |
uses: actions/checkout@v4 | |
- name: set-up OCaml ${{ matrix.ocaml-compiler }} | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
opam-repositories: | | |
default: https://github.com/ocaml/opam-repository.git | |
andreypopp: https://github.com/andreypopp/opam-repository.git | |
- name: set-up Node.js 21 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 21 | |
# going to be required by dream but as it's a depopt only, set-up OCaml | |
# doesn't handle it | |
- run: sudo apt-get install -qq -yy libev-dev libssl-dev pkg-config | |
# clean build | |
- run: opam install . --deps-only | |
- run: opam exec -- dune build -p ppx_deriving_router | |
# build with dream (should make ppx_deriving_router.dream available) | |
- run: opam install dream http cohttp cohttp-lwt cohttp-lwt-unix --yes | |
- run: opam exec -- dune build -p ppx_deriving_router | |
# run tests | |
- run: opam install . --deps-only --with-test | |
- run: opam exec -- dune build | |
- run: opam exec -- dune runtest |