From de303454a5db4bd0f929c741e3622dcd3b906ef9 Mon Sep 17 00:00:00 2001 From: Arthur Wendling Date: Fri, 21 Nov 2025 14:24:18 +0100 Subject: [PATCH 1/2] chore(oxcaml): CI with opam instead of nix Signed-off-by: Arthur Wendling --- .github/workflows/oxcaml.yml | 39 ++++++++++++++++++++++++++++++++++ .github/workflows/workflow.yml | 19 ----------------- 2 files changed, 39 insertions(+), 19 deletions(-) create mode 100644 .github/workflows/oxcaml.yml diff --git a/.github/workflows/oxcaml.yml b/.github/workflows/oxcaml.yml new file mode 100644 index 00000000000..49fd5458659 --- /dev/null +++ b/.github/workflows/oxcaml.yml @@ -0,0 +1,39 @@ +name: OxCaml (experimental) + +on: + push: + branches: + - main + workflow_dispatch: + pull_request: + +permissions: + contents: read + +jobs: + oxcaml: + name: Building Dune with OxCaml + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v5 + + - name: Install OCaml + uses: ocaml/setup-ocaml@v3 + with: + ocaml-compiler: ocaml-variants.5.2.0+ox + opam-repositories: | + oxcaml: "git+https://github.com/oxcaml/opam-repository.git" + default: "git+https://github.com/ocaml/opam-repository.git" + opam-pin: false + + - name: Pin deps + run: opam pin add -n . --with-version=3.20.2+ox + + - name: Install deps + run: opam install csexp pp re spawn uutf ./dune.opam + + - name: Build dune + run: opam exec -- make bootstrap + + - name: Run OxCaml tests + run: opam exec -- ./dune.exe test ./test/blackbox-tests/test-cases/oxcaml diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 4a124edfa28..c7f02965c3d 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -370,25 +370,6 @@ jobs: gc-max-store-size-linux: 5G - run: nix develop .#microbench -c make dune build bench/micro - oxcaml-test: - name: OxCaml - needs: nix-build - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v5 - - uses: nixbuild/nix-quick-install-action@v34 - with: - nix_conf: ${{ env.EXTRA_NIX_CONFIG }} - - uses: nix-community/cache-nix-action@v6 - with: - primary-key: | - nix-${{ runner.os }}-${{ github.job }}-${{ hashFiles('**/*.nix', '**/flake.lock') }} - restore-prefixes-first-match: nix-${{ runner.os }}-${{ github.job }}- - gc-max-store-size-linux: 2G - - run: | - nix develop .#ox-minimal -c ocaml --version - nix develop .#ox-minimal -c make test-ox - utop-dev-tool-test: name: Test that the utop dev tool can be built and run runs-on: ubuntu-latest From 33629e2a5ae4c9ea7268fdcb054326bba0a6231b Mon Sep 17 00:00:00 2001 From: Arthur Wendling Date: Mon, 24 Nov 2025 14:28:05 +0100 Subject: [PATCH 2/2] move to workflow Signed-off-by: Arthur Wendling --- .github/workflows/oxcaml.yml | 39 ---------------------------------- .github/workflows/workflow.yml | 28 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 39 deletions(-) delete mode 100644 .github/workflows/oxcaml.yml diff --git a/.github/workflows/oxcaml.yml b/.github/workflows/oxcaml.yml deleted file mode 100644 index 49fd5458659..00000000000 --- a/.github/workflows/oxcaml.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: OxCaml (experimental) - -on: - push: - branches: - - main - workflow_dispatch: - pull_request: - -permissions: - contents: read - -jobs: - oxcaml: - name: Building Dune with OxCaml - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v5 - - - name: Install OCaml - uses: ocaml/setup-ocaml@v3 - with: - ocaml-compiler: ocaml-variants.5.2.0+ox - opam-repositories: | - oxcaml: "git+https://github.com/oxcaml/opam-repository.git" - default: "git+https://github.com/ocaml/opam-repository.git" - opam-pin: false - - - name: Pin deps - run: opam pin add -n . --with-version=3.20.2+ox - - - name: Install deps - run: opam install csexp pp re spawn uutf ./dune.opam - - - name: Build dune - run: opam exec -- make bootstrap - - - name: Run OxCaml tests - run: opam exec -- ./dune.exe test ./test/blackbox-tests/test-cases/oxcaml diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index c7f02965c3d..7a2215d8c5d 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -326,6 +326,34 @@ jobs: # - name: Build Dune # run: _boot/dune build dune.install + oxcaml: + name: Building Dune with OxCaml + needs: nix-build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v5 + + - name: Install OCaml + uses: ocaml/setup-ocaml@v3 + with: + ocaml-compiler: ocaml-variants.5.2.0+ox + opam-repositories: | + oxcaml: "git+https://github.com/oxcaml/opam-repository.git" + default: "git+https://github.com/ocaml/opam-repository.git" + opam-pin: false + + - name: Pin deps + run: opam pin add -n . --with-version=3.20.2+ox + + - name: Install deps + run: opam install csexp pp re spawn uutf ./dune.opam + + - name: Build dune + run: opam exec -- make bootstrap + + - name: Run OxCaml tests + run: opam exec -- ./dune.exe test ./test/blackbox-tests/test-cases/oxcaml + create-local-opam-switch: name: Create local opam switch needs: nix-build