This commit is contained in:
swrup 2025-11-11 02:07:51 +01:00
parent aa2ff7b2f0
commit 2f3113f55d
11742 changed files with 1223940 additions and 0 deletions

View file

@ -0,0 +1,109 @@
version: 2.1
jobs:
build:
docker:
- image: ocaml/opam:alpine-ocaml-4.11
environment:
PGUSER: pgx
PGDATABASE: pgx-test
PGHOST: 127.0.0.1
PGX_FORCE_TESTS: true
TERM: xterm
- image: circleci/postgres:9.6-alpine
environment:
POSTGRES_USER: pgx
POSTGRES_DB: pgx-test
POSTGRES_PASSWORD: ""
steps:
- checkout
- run:
name: Update opam
command: |
opam remote remove default --all
opam remote add default https://opam.ocaml.org
- run:
name: Pin packages
command: ./pin_dev.sh
- run:
name: Install system dependencies
command: opam depext -y `basename -s .opam *.opam | tr '\n' ' '`
- run:
name: Install OCaml dependencies
command: opam install --deps-only -y `basename -s .opam *.opam | tr '\n' ' '`
- run:
name: Build
command: opam exec -- make
- run:
# This is a separate step so we don't run tests for all of these ^
name: Install OCaml test dependencies
command: opam install --deps-only -t -y `basename -s .opam *.opam | tr '\n' ' '`
- run:
name: Test and coverage report
command: |
coverage_set () [[ -n $COVERALLS_REPO_TOKEN ]]
opam exec -- make test-coverage
(coverage_set && opam exec -- bisect-ppx-report send-to Coveralls) || true
dune_lint:
docker:
- image: ocaml/opam2:4.09
environment:
TERM: xterm
steps:
- checkout
- run:
name: Pin packages
command: ./pin_dev.sh
- run:
name: Install system dependencies
command: opam depext -y dune-release
- run:
name: Install dependencies
command: opam install -y dune-release
- run:
name: dune-release lint
command: opam exec -- dune-release lint
build_mirage:
docker:
- image: ocaml/opam:alpine-ocaml-4.11
environment:
TERM: xterm
steps:
- checkout
- run:
name: Update opam
command: |
opam remote remove default --all
opam remote add default https://opam.ocaml.org
- run:
name: Pin packages
command: |
opam pin add -k git -y -n pgx.dev .
opam pin add -k git -y -n pgx_lwt.dev .
opam pin add -k git -y -n pgx_lwt_mirage.dev .
- run:
name: Install system dependencies
command: opam depext -y pgx pgx_lwt pgx_lwt_mirage
- run:
name: Install OCaml dependencies
command: |
opam install --deps-only -y pgx pgx_lwt pgx_lwt_mirage
opam install mirage
- run:
name: Configure mirage
command: cd unikernel && opam exec -- mirage configure -t spt
- run:
name: Install mirage deps
command: cd unikernel && opam exec -- make depend
- run:
name: Build mirage
command: cd unikernel && opam exec -- make
workflows:
main:
jobs:
- build
- build_mirage
- dune_lint