Skip to content

New build system

New build system #986

Workflow file for this run

name: Miking CI
on:
workflow_dispatch:
pull_request:
branches: [master, develop]
types: [opened, reopened, synchronize]
jobs:
build-and-test-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install OCaml and opam for Miking
uses: ocaml/setup-ocaml@v2
with:
ocaml-compiler: ocaml-base-compiler.5.0.0
- name: Install Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Install opam packages
run: |
# Install dependencies of owl
sudo apt-get install -y liblapacke-dev libopenblas-dev
# Install all opam packages used in make test-all
opam install -y dune linenoise pyml toml lwt owl ocamlformat.0.24.1
- name: Build Miking
timeout-minutes: 10
run: |
eval $(opam env)
make install
- name: Run tests
timeout-minutes: 60
run: |
eval $(opam env)
make test-all
build-and-test-mac-os:
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- name: Install OCaml and opam for Miking
uses: ocaml/setup-ocaml@v2
with:
ocaml-compiler: ocaml-base-compiler.5.0.0
- name: Install Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Install opam packages
run: |
# Install dependencies of owl
brew install pkg-config autoconf openblas
# Export environment variable needed by openblas
export PKG_CONFIG_PATH=$(brew --prefix openblas)/lib/pkgconfig
# Hack to fix installation of owl
ln -s $(brew --prefix gcc)/lib/gcc/current/libgcc_s.1.1.dylib $(brew --prefix openblas)/lib
ln -s $(brew --prefix gcc)/lib/gcc/current/libquadmath.0.dylib $(brew --prefix openblas)/lib
# Install all opam packages used in make test-all
opam install -y dune linenoise pyml toml lwt owl ocamlformat.0.24.1
- name: Build Miking
timeout-minutes: 30
run: |
eval $(opam env)
make install
- name: Run tests
timeout-minutes: 60
run: |
eval $(opam env)
make test-all