-
Notifications
You must be signed in to change notification settings - Fork 31
42 lines (42 loc) · 1.3 KB
/
test.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
42
name: Rpclib CI
on:
- push
- pull_request
jobs:
run:
name: Tests
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
# windows-latest async does not support it for now
operating-system: [macos-latest, ubuntu-latest]
ocaml-version: [ '5.2.0', '4.14.0' ]
steps:
- uses: actions/checkout@master
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Cache pip
uses: actions/cache@v2
with:
# This path is specific to Ubuntu
path: ~/.cache/pip
# Look to see if there is a cache hit
key: ${{ runner.os }}-pip
restore-keys: |
${{ runner.os }}-
- name: Install Python dependencies
run: pip install pylint pycodestyle
- name: Install OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: ${{ matrix.ocaml-version }}
- name: Install OCaml dependencies
run: opam install -t . --deps-only
- name: Build and test independently
run: opam install -t rpclib rpclib-js rpclib-html rpclib-lwt rpclib-async
- name: Run Rpc and Ppx_deriving_rpc Tests
run: opam exec -- dune runtest -p ppx_deriving_rpc
- name: Build and run Examples
run: opam exec -- dune build @runexamples -p ppx_deriving_rpc