Skip to content

chore: install sys deps #86

chore: install sys deps

chore: install sys deps #86

Workflow file for this run

name: Main workflow
on:
push:
pull_request:
branches:
- main
jobs:
build:
strategy:
fail-fast: false
matrix:
os:
# - macos-latest
- ubuntu-latest
# - windows-latest
ocaml-compiler:
- 4.14.x
# - 4.08.x
# - 4.06.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 }}
- name: Install system dependencies.
run: |
sudo apt-get update
sudo apt-get install libgdbm6
sudo apt-get install libgdbm-dev
sudo apt-get install libzmq3-dev
- name: Install project dependencies
run: opam install . --deps-only --with-doc --with-test
- name: Build the project
run: opam exec -- dune build @install
- name: Restore imandra-tmp opam cache.
uses: actions/cache@v2
id: imandracache
with:
path: |
/tmp/imandra-tmp/_opam
key: ${{ matrix.os }}-imandra-http-api
- name: Copy Imandra HTTP API
if: steps.imandracache.outputs.cache-hit == 'true'
run:
cp /tmp/imandra-tmp/_opam/bin/imandra-http-api /usr/local/bin
- name: Install Imandra HTTP API (if not available).
if: steps.imandracache.outputs.cache-hit != 'true'
run: |
mkdir -p /tmp/imandra-tmp && cd /tmp/imandra-tmp
opam switch create . --empty
opam repo add imandra https://github.com/AestheticIntegration/opam-repository.git
opam update
opam install imandra-http-api
cp _opam/bin/imandra-http-api /usr/local/bin/
# TODO: Reenable this once we figure out how to get imandra server running in the CI.
- name: Run tests
run: opam exec -- dune runtest
# - name: Upload the build artifact
# uses: actions/upload-artifact@v2
# with:
# name: ${{ matrix.os }}-${{ matrix.ocaml-version }}-world.exe
# path: _build/default/world.exe