Use pinned dune instead of system dune #481
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
on: | |
# Triggers the workflow on push or pull request events but only for the main branch on PR | |
push: | |
branches: '**' | |
pull_request: | |
branches: [ main ] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
jobs: | |
build-5-3: | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
ocaml-compiler: | |
- 4.13.x | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Check Valid ocaml-version/*.json and URLs | |
run: make check_url | |
- name: Use OCaml ${{ matrix.ocaml-compiler }} | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
- run: opam install . --deps-only --with-test | |
- name: Install dependencies | |
run: | | |
sudo apt-get update && make install-depends | |
# Runs a set of commands using the runners shell | |
- name: 5.3.0+trunk+serial | |
run: | | |
eval $(opam env) | |
export ITER=1 | |
export OPAM_DISABLE_SANDBOXING=true | |
TAG='"run_in_ci"' make run_config_filtered.json | |
sed -i 's/--cpu-list 5/--cpu-list 1/g' run_config_filtered.json | |
OPT_WAIT=0 USE_SYS_DUNE_HACK=0 RUN_CONFIG_JSON=run_config_filtered.json make ocaml-versions/5.3.0+trunk.bench | |
ls _results | |
cat _results/* | |
make json | |
- name: 5.3.0+trunk+parallel | |
run: | | |
eval $(opam env) | |
export ITER=1 | |
export OPAM_DISABLE_SANDBOXING=true | |
TAG='"run_in_ci"' make multicore_parallel_run_config_filtered.json | |
TAG='"macro_bench"' make multicore_parallel_run_config_filtered_filtered.json | |
sed -i 's/--cpu-list 5/--cpu-list 1/g' multicore_parallel_run_config_filtered.json | |
sed -i 's/--cpu-list 5/--cpu-list 1/g' multicore_parallel_run_config_filtered_filtered.json | |
make multicore_parallel_run_config_filtered_filtered_2domains.json | |
OPT_WAIT=0 USE_SYS_DUNE_HACK=0 BUILD_BENCH_TARGET=multibench_parallel RUN_CONFIG_JSON=multicore_parallel_run_config_filtered_filtered_2domains.json make ocaml-versions/5.3.0+trunk.bench | |
ls _results | |
cat _results/* | |
make json | |
build-5-2: | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
ocaml-compiler: | |
- 4.13.x | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Check Valid ocaml-version/*.json and URLs | |
run: make check_url | |
- name: Use OCaml ${{ matrix.ocaml-compiler }} | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
- run: opam install . --deps-only --with-test | |
- name: Install dependencies | |
run: | | |
sudo apt-get update && make install-depends | |
# Runs a set of commands using the runners shell | |
- name: 5.2.1+trunk+serial | |
run: | | |
eval $(opam env) | |
export ITER=1 | |
export OPAM_DISABLE_SANDBOXING=true | |
TAG='"run_in_ci"' make run_config_filtered.json | |
sed -i 's/--cpu-list 5/--cpu-list 1/g' run_config_filtered.json | |
OPT_WAIT=0 USE_SYS_DUNE_HACK=0 RUN_CONFIG_JSON=run_config_filtered.json make ocaml-versions/5.2.1+trunk.bench | |
ls _results | |
cat _results/* | |
make json | |
- name: 5.2.1+trunk+parallel | |
run: | | |
eval $(opam env) | |
export ITER=1 | |
export OPAM_DISABLE_SANDBOXING=true | |
TAG='"run_in_ci"' make multicore_parallel_run_config_filtered.json | |
TAG='"macro_bench"' make multicore_parallel_run_config_filtered_filtered.json | |
sed -i 's/--cpu-list 5/--cpu-list 1/g' multicore_parallel_run_config_filtered.json | |
sed -i 's/--cpu-list 5/--cpu-list 1/g' multicore_parallel_run_config_filtered_filtered.json | |
make multicore_parallel_run_config_filtered_filtered_2domains.json | |
OPT_WAIT=0 USE_SYS_DUNE_HACK=0 BUILD_BENCH_TARGET=multibench_parallel RUN_CONFIG_JSON=multicore_parallel_run_config_filtered_filtered_2domains.json make ocaml-versions/5.2.1+trunk.bench | |
ls _results | |
cat _results/* | |
make json | |
build-4-14: | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
ocaml-compiler: | |
- 4.13.x | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Use OCaml ${{ matrix.ocaml-compiler }} | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
- run: opam install . --deps-only --with-test | |
- name: Install dependencies | |
run: | | |
sudo apt-get update && make install-depends | |
- name: 4.14.0+serial | |
run: | | |
eval $(opam env) | |
export ITER=1 | |
export OPAM_DISABLE_SANDBOXING=true | |
TAG='"run_in_ci"' make run_config_filtered.json | |
sed -i 's/--cpu-list 5/--cpu-list 1/g' run_config_filtered.json | |
OPT_WAIT=0 USE_SYS_DUNE_HACK=0 RUN_CONFIG_JSON=run_config_filtered.json make ocaml-versions/4.14.0.bench | |
ls _results | |
cat _results/* | |
- name: 4.14.0+parallel | |
run: | | |
eval $(opam env) | |
export ITER=1 | |
export OPAM_DISABLE_SANDBOXING=true | |
TAG='"run_in_ci"' make multicore_parallel_run_config_filtered.json | |
TAG='"macro_bench"' make multicore_parallel_run_config_filtered_filtered.json | |
sed -i 's/--cpu-list 5/--cpu-list 1/g' multicore_parallel_run_config_filtered.json | |
sed -i 's/--cpu-list 5/--cpu-list 1/g' multicore_parallel_run_config_filtered_filtered.json | |
make multicore_parallel_run_config_filtered_filtered_2domains.json | |
OPT_WAIT=0 USE_SYS_DUNE_HACK=0 BUILD_BENCH_TARGET=multibench_parallel RUN_CONFIG_JSON=multicore_parallel_run_config_filtered_filtered_2domains.json make ocaml-versions/4.14.0.bench || echo "Expected failure: Can't run parallel tests on 4.14.0" | |
test-notebooks: | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: test_notebooks | |
run: | | |
sudo apt-get update && make install-depends | |
export PATH=$PATH:/home/opam/.local/bin | |
cd notebooks/ | |
pip3 install -r requirements.txt | |
jupyter nbconvert --to html --execute sequential/sequential.ipynb | |
jupyter nbconvert --to html --execute parallel/parallel.ipynb |