diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 000000000..c3407fba5 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,51 @@ +name: Main workflow + +on: + - pull_request + - push + +jobs: + build: + strategy: + fail-fast: false + matrix: + os: + - macos-14 # beta runner for macos arm64 + - macos-latest + - ubuntu-latest + # - windows-latest + ocaml-compiler: + - "5.1" + - "4.14" + - "4.12" + - "4.10" + + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Use OCaml ${{ matrix.ocaml-compiler }} + uses: ocaml/setup-ocaml@v2 + with: + ocaml-compiler: ${{ matrix.ocaml-compiler }} + opam-local-packages: | + *.opam + + - run: opam depext owl --with-test + + - run: | + opam install owl-base --yes --deps-only --with-test + opam exec -- dune build -p owl-base + opam exec -- dune runtest -p owl-base + + - run: | + opam install owl --yes --deps-only --with-test + opam exec -- dune build -p owl + opam exec -- dune runtest -p owl + + - run: | + opam install owl-top --yes --deps-only --with-test + opam exec -- dune build -p owl-top + opam exec -- dune runtest -p owl-top diff --git a/test/dune b/test/dune index a69e36729..124cdcda4 100644 --- a/test/dune +++ b/test/dune @@ -1,5 +1,6 @@ (tests (names test_runner) (libraries alcotest owl) + (package owl) (action (run %{test})))