mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-05-05 08:54:27 -04:00
* use docker images for CI * run gha as root in docker using the opam user wouldn't work for actions like checkout * make our own docker images from ubuntu LTS * details * fix eio step * fix build issues in docker
47 lines
1.5 KiB
YAML
47 lines
1.5 KiB
YAML
name: build
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- ocaml-version: "4.08"
|
|
container: ghcr.io/ocaml-tracing/ocaml-opentelemetry/ci-4.08:latest
|
|
eio: false
|
|
- ocaml-version: "4.14"
|
|
container: ghcr.io/ocaml-tracing/ocaml-opentelemetry/ci-4.14:latest
|
|
eio: false
|
|
- ocaml-version: "5.4"
|
|
container: ghcr.io/ocaml-tracing/ocaml-opentelemetry/ci-5.4:latest
|
|
eio: true
|
|
|
|
runs-on: ubuntu-latest
|
|
container: ${{ matrix.container }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Build
|
|
run: opam exec -- dune build @install -p opentelemetry,opentelemetry-client,opentelemetry-lwt,opentelemetry-cohttp-lwt,opentelemetry-client-ocurl,opentelemetry-client-ocurl-lwt,opentelemetry-client-cohttp-lwt,opentelemetry-logs
|
|
|
|
- name: Build eio packages
|
|
if: ${{ matrix.eio }}
|
|
run: opam exec -- dune build @install -p opentelemetry-client-cohttp-eio,opentelemetry,opentelemetry-client,opentelemetry-lwt,opentelemetry-cohttp-lwt,opentelemetry-client-ocurl,opentelemetry-client-ocurl-lwt,opentelemetry-client-cohttp-lwt,opentelemetry-logs
|
|
|
|
- name: Lint (protoc check)
|
|
run: opam exec -- dune build @lint
|
|
|
|
- name: Check no generated files changed
|
|
run: git diff --exit-code
|
|
|
|
- name: Run tests
|
|
run: opam exec -- dune build @runtest
|