end-to-end testing shell scripts #22
Workflow file for this run
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: End-to-end interoperability testing | |
on: [push, pull_request] | |
jobs: | |
tests: | |
name: End-to-end test | |
strategy: | |
fail-fast: false | |
matrix: | |
ocaml-version: ["4.14.2"] | |
operating-system: [ubuntu-latest] | |
runs-on: ${{ matrix.operating-system }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Use OCaml ${{ matrix.ocaml-version }} | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-version }} | |
- name: Install openvpn | |
run: sudo apt install -y openvpn | |
- name: Install dependencies | |
run: | | |
opam install --deps-only -t . | |
opam install bisect_ppx | |
- name: Build | |
run: opam exec -- dune build --instrument-with bisect_ppx @all | |
- name: Testing | |
run: | | |
opam exec -- dune runtest --instrument-with bisect_ppx | |
opam exec -- dune exec bench/bench_engine.exe | |
sudo ip tuntap add mode tun e2e-test | |
cd test/e2e && sudo ./test-server.sh e2e-test | |
cd test/e2e && sudo ./test-client.sh e2e-test | |
opam exec -- ./coverage.sh |