From 7bb2ab156d1b9c4f3db6a547133514f57e5793cb Mon Sep 17 00:00:00 2001 From: Sam Cowger Date: Tue, 21 Jan 2025 17:24:31 -0800 Subject: [PATCH] ci: single configuration for all OCaml packages I've run into trouble with multiple configurations in #143, since that introduces dependencies between these local packages. This approach seems to solve those problems, and I think it's somewhat more idiomatic anyway. --- .../workflows/{server-ci.yml => ocaml-ci.yml} | 18 ++++---- .github/workflows/telemetry-ci.yml | 46 ------------------- 2 files changed, 9 insertions(+), 55 deletions(-) rename .github/workflows/{server-ci.yml => ocaml-ci.yml} (64%) delete mode 100644 .github/workflows/telemetry-ci.yml diff --git a/.github/workflows/server-ci.yml b/.github/workflows/ocaml-ci.yml similarity index 64% rename from .github/workflows/server-ci.yml rename to .github/workflows/ocaml-ci.yml index 038afcc..83864ca 100644 --- a/.github/workflows/server-ci.yml +++ b/.github/workflows/ocaml-ci.yml @@ -1,4 +1,4 @@ -name: CN Server CI +name: OCaml CI on: push: @@ -31,16 +31,16 @@ jobs: with: ocaml-compiler: ${{ matrix.ocaml-version }} - - name: Link lockfile - run: ln -s cn-lsp.opam.locked-${{ matrix.ocaml-version }} cn-lsp.opam.locked + - name: Link lockfiles + run: | + ln -s telemetry.opam.locked-${{ matrix.ocaml-version }} telemetry.opam.locked + ln -s cn-lsp.opam.locked-${{ matrix.ocaml-version }} cn-lsp.opam.locked - - name: Install server dependencies - run: opam install ./cn-lsp.opam --deps-only --locked -y + - name: Install dependencies + run: opam install . --deps-only --locked -y - - name: Build server - working-directory: ./cn-lsp + - name: Build run: eval $(opam env) && dune build - - name: Run server tests - working-directory: ./cn-lsp + - name: Run tests run: eval $(opam env) && dune test diff --git a/.github/workflows/telemetry-ci.yml b/.github/workflows/telemetry-ci.yml deleted file mode 100644 index da14979..0000000 --- a/.github/workflows/telemetry-ci.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Telemetry CI - -on: - push: - branches: - - main - pull_request: - branches: - - main - -# Cancel in-progress job when a new push is performed -concurrency: - group: ci-${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - strategy: - matrix: - ocaml-version: [4.14.1, 5.1.1] - os: [ubuntu-22.04] - - runs-on: ${{ matrix.os }} - - steps: - - name: Check out repository - uses: actions/checkout@v4 - - - name: Set up OCaml - uses: ocaml/setup-ocaml@v3 - with: - ocaml-compiler: ${{ matrix.ocaml-version }} - - - name: Link lockfile - run: ln -s telemetry.opam.locked-${{ matrix.ocaml-version }} telemetry.opam.locked - - - name: Install telemetry dependencies - run: opam install ./telemetry.opam --deps-only --locked -y - - - name: Build telemetry - working-directory: ./telemetry - run: eval $(opam env) && dune build - - - name: Run telemetry tests - working-directory: ./telemetry - run: eval $(opam env) && dune test