Updates/bazel builds srql #2242

Merged
mfreeman451 merged 4 commits from refs/pull/2242/head into main 2025-09-25 03:37:31 +00:00
mfreeman451 commented 2025-09-25 03:30:27 +00:00 (Migrated from github.com)
Owner

Imported from GitHub pull request.

Original GitHub pull request: #1662
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/pull/1662
Original created: 2025-09-25T03:30:27Z
Original updated: 2025-09-25T03:37:34Z
Original head: carverauto/serviceradar:updates/bazel_builds_srql
Original base: main
Original merged: 2025-09-25T03:37:31Z by @mfreeman451

PR Type

Enhancement


Description

  • Update OCaml version from 4.14.2 to 5.2.0

  • Upgrade OPAM version to 2.4.1 with new checksums

  • Update proton dependency to version 1.0.16

  • Fix OCaml SDK path references for unix module


Diagram Walkthrough

flowchart LR
  A["OCaml 4.14.2"] -- "upgrade" --> B["OCaml 5.2.0"]
  C["OPAM 2.3.0"] -- "upgrade" --> D["OPAM 2.4.1"]
  E["proton 1.0.15"] -- "upgrade" --> F["proton 1.0.16"]
  G["unix path fix"] -- "correct" --> H["unix/lib references"]

File Walkthrough

Relevant files
Dependencies
5 files
opam_checksums.bzl
Add OPAM 2.4.1 checksums for all platforms                             
+5/-1     
MODULE.bazel
Update OCaml and dependency versions                                         
+4/-3     
opam
Add bigarray-overlap 0.2.1 package definition                       
+46/-0   
opam
Add proton 1.0.16 package definition                                         
+47/-0   
url
Add proton 1.0.16 package URL and checksum                             
+2/-0     
Enhancement
1 files
BUILD.bazel
Add lwt_ppx preprocessor to srql_server_main                         
+1/-0     
Bug fix
4 files
bigarray.BUILD
Fix unix dependency path references                                           
+2/-2     
bigarray.BUILD.c
Update compiled template with fixed unix paths                     
+4/-4     
unix_alias.BUILD
Fix unix alias path reference                                                       
+1/-1     
unix_alias.BUILD.c
Update compiled unix alias template                                           
+2/-2     

Imported from GitHub pull request. Original GitHub pull request: #1662 Original author: @mfreeman451 Original URL: https://github.com/carverauto/serviceradar/pull/1662 Original created: 2025-09-25T03:30:27Z Original updated: 2025-09-25T03:37:34Z Original head: carverauto/serviceradar:updates/bazel_builds_srql Original base: main Original merged: 2025-09-25T03:37:31Z by @mfreeman451 --- ### **PR Type** Enhancement ___ ### **Description** - Update OCaml version from 4.14.2 to 5.2.0 - Upgrade OPAM version to 2.4.1 with new checksums - Update proton dependency to version 1.0.16 - Fix OCaml SDK path references for unix module ___ ### Diagram Walkthrough ```mermaid flowchart LR A["OCaml 4.14.2"] -- "upgrade" --> B["OCaml 5.2.0"] C["OPAM 2.3.0"] -- "upgrade" --> D["OPAM 2.4.1"] E["proton 1.0.15"] -- "upgrade" --> F["proton 1.0.16"] G["unix path fix"] -- "correct" --> H["unix/lib references"] ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Dependencies</strong></td><td><details><summary>5 files</summary><table> <tr> <td><strong>opam_checksums.bzl</strong><dd><code>Add OPAM 2.4.1 checksums for all platforms</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/1662/files#diff-c4873ae0df4a154d42fc9669c733de82d73e6da6f2f62e696821fd86a3dbe7d0">+5/-1</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td><strong>MODULE.bazel</strong><dd><code>Update OCaml and dependency versions</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/1662/files#diff-6136fc12446089c3db7360e923203dd114b6a1466252e71667c6791c20fe6bdc">+4/-3</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td><strong>opam</strong><dd><code>Add bigarray-overlap 0.2.1 package definition</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/1662/files#diff-35f44273873d3420e4e79bb0effaa2cb0373d5f77a7d89670b5d66281bffaeca">+46/-0</a>&nbsp; &nbsp; </td> </tr> <tr> <td><strong>opam</strong><dd><code>Add proton 1.0.16 package definition</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/1662/files#diff-128716fdd4bd930d995a0e4b4d12c6173acfe608e0965b52f6bf3ec878eace9f">+47/-0</a>&nbsp; &nbsp; </td> </tr> <tr> <td><strong>url</strong><dd><code>Add proton 1.0.16 package URL and checksum</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/1662/files#diff-ffd958e53088d042c58263e517fa410be6d242b11a25614e6b3950452b17a1ed">+2/-0</a>&nbsp; &nbsp; &nbsp; </td> </tr> </table></details></td></tr><tr><td><strong>Enhancement</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>BUILD.bazel</strong><dd><code>Add lwt_ppx preprocessor to srql_server_main</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/1662/files#diff-3cf19e3c1427984c9b33005d104936b2a2d5bcece3509bfe67a4d6aa0c1205b4">+1/-0</a>&nbsp; &nbsp; &nbsp; </td> </tr> </table></details></td></tr><tr><td><strong>Bug fix</strong></td><td><details><summary>4 files</summary><table> <tr> <td><strong>bigarray.BUILD</strong><dd><code>Fix unix dependency path references</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/1662/files#diff-9bf9ef7a9cd571a898e2b489adadc1dd9f226ec842ab4454b75d0e86d532d0fe">+2/-2</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td><strong>bigarray.BUILD.c</strong><dd><code>Update compiled template with fixed unix paths</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/1662/files#diff-8d2c8026eb0366a721671a40776049475b3b808c274a699a072cf09c3d19f5f5">+4/-4</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td><strong>unix_alias.BUILD</strong><dd><code>Fix unix alias path reference</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/1662/files#diff-31fb29466401e70a91a12a630b81e1adc699a880ec34181fa3b0690b8fb56e24">+1/-1</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td><strong>unix_alias.BUILD.c</strong><dd><code>Update compiled unix alias template</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/1662/files#diff-26d2448cb8dbb64dcd769cac3b7126791ca343c49d0966f18ec11529f41ec4ff">+2/-2</a>&nbsp; &nbsp; &nbsp; </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___
qodo-code-review[bot] commented 2025-09-25 03:31:24 +00:00 (Migrated from github.com)
Author
Owner

Imported GitHub PR comment.

Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/1662#issuecomment-3331955241
Original created: 2025-09-25T03:31:24Z

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 2 🔵🔵
🧪 No relevant tests
🔒 No security concerns identified
 Recommended focus areas for review

Compatibility

Upgrading to OCaml 5.2.0 and changing opam to 2.4.1 may require additional package constraints (e.g., for ppx/lwt/dream). Validate that all pinned versions resolve under the new compiler and that build flags are updated where needed.

ocaml_version = "5.2.0",
opam_version = "2.4.1",
pkgs = {
    "dune": "3.20.2",
    "menhir": "20250903",
    "yojson": "2.2.2",
    "ppx_deriving": "6.0.3",
    "lwt_ppx": "5.9.1",
    "proton": "1.0.16",
    "lwt": "5.9.2",
    "tls": "2.0.2",
    "tls-lwt": "2.0.2",
    "mirage-crypto": "1.2.0",
    "mirage-crypto-rng": "1.2.0",
    "mirage-crypto-rng-lwt": "1.2.0",
    "x509": "1.0.6",
    "h2": "0.12.0",
    "h2-lwt": "0.12.0",
    "h2-lwt-unix": "0.12.0",
    "dream": "1.0.0~alpha7",
},
Build Config

Added ppx dependency for lwt_ppx; ensure toolchain picks up the correct PPX executable target and that transitive PPX expectations are satisfied in downstream modules.

ocaml_module(
    name = "srql_server_main",
    struct = "bin/main.ml",
    deps = [
        ":srql_translator",
        "@opam.dream//lib",
        "@opam.lwt//lib",
        "@opam.proton//lib",
    ],
    ppx = "@opam.lwt_ppx//lib:ppx.exe",
)
Path Refactor

Switched unix module path from lib/unix to unix/lib; verify all template-generated references and embedded C templates remain consistent and no consumers still rely on the old path.

    deps       = ["@opam.ocamlsdk//unix/lib"],
)

ocaml_import(
    name       = "plugin",
    version    = "[distributed with OCaml]",
    plugin     =  select({
        "@rules_ocaml//platform/executor:vm": "bigarray.cma",
        "//conditions:default":         "bigarray.cmxs",
    }),
    deps       = ["@opam.ocamlsdk//unix/lib"],
);
Imported GitHub PR comment. Original author: @qodo-code-review[bot] Original URL: https://github.com/carverauto/serviceradar/pull/1662#issuecomment-3331955241 Original created: 2025-09-25T03:31:24Z --- ## PR Reviewer Guide 🔍 Here are some key observations to aid the review process: <table> <tr><td>⏱️&nbsp;<strong>Estimated effort to review</strong>: 2 🔵🔵⚪⚪⚪</td></tr> <tr><td>🧪&nbsp;<strong>No relevant tests</strong></td></tr> <tr><td>🔒&nbsp;<strong>No security concerns identified</strong></td></tr> <tr><td>⚡&nbsp;<strong>Recommended focus areas for review</strong><br><br> <details><summary><a href='https://github.com/carverauto/serviceradar/pull/1662/files#diff-6136fc12446089c3db7360e923203dd114b6a1466252e71667c6791c20fe6bdcR226-R246'><strong>Compatibility</strong></a> Upgrading to OCaml 5.2.0 and changing opam to 2.4.1 may require additional package constraints (e.g., for ppx/lwt/dream). Validate that all pinned versions resolve under the new compiler and that build flags are updated where needed. </summary> ```txt ocaml_version = "5.2.0", opam_version = "2.4.1", pkgs = { "dune": "3.20.2", "menhir": "20250903", "yojson": "2.2.2", "ppx_deriving": "6.0.3", "lwt_ppx": "5.9.1", "proton": "1.0.16", "lwt": "5.9.2", "tls": "2.0.2", "tls-lwt": "2.0.2", "mirage-crypto": "1.2.0", "mirage-crypto-rng": "1.2.0", "mirage-crypto-rng-lwt": "1.2.0", "x509": "1.0.6", "h2": "0.12.0", "h2-lwt": "0.12.0", "h2-lwt-unix": "0.12.0", "dream": "1.0.0~alpha7", }, ``` </details> <details><summary><a href='https://github.com/carverauto/serviceradar/pull/1662/files#diff-3cf19e3c1427984c9b33005d104936b2a2d5bcece3509bfe67a4d6aa0c1205b4R150-R160'><strong>Build Config</strong></a> Added ppx dependency for lwt_ppx; ensure toolchain picks up the correct PPX executable target and that transitive PPX expectations are satisfied in downstream modules. </summary> ```txt ocaml_module( name = "srql_server_main", struct = "bin/main.ml", deps = [ ":srql_translator", "@opam.dream//lib", "@opam.lwt//lib", "@opam.proton//lib", ], ppx = "@opam.lwt_ppx//lib:ppx.exe", ) ``` </details> <details><summary><a href='https://github.com/carverauto/serviceradar/pull/1662/files#diff-9bf9ef7a9cd571a898e2b489adadc1dd9f226ec842ab4454b75d0e86d532d0feR36-R47'><strong>Path Refactor</strong></a> Switched unix module path from lib/unix to unix/lib; verify all template-generated references and embedded C templates remain consistent and no consumers still rely on the old path. </summary> ```txt deps = ["@opam.ocamlsdk//unix/lib"], ) ocaml_import( name = "plugin", version = "[distributed with OCaml]", plugin = select({ "@rules_ocaml//platform/executor:vm": "bigarray.cma", "//conditions:default": "bigarray.cmxs", }), deps = ["@opam.ocamlsdk//unix/lib"], ); ``` </details> </td></tr> </table>
qodo-code-review[bot] commented 2025-09-25 03:32:22 +00:00 (Migrated from github.com)
Author
Owner

Imported GitHub PR comment.

Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/1662#issuecomment-3331956753
Original created: 2025-09-25T03:32:22Z

PR Code Suggestions

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
High-level
Investigate the unexplained dream package downgrade

The dream package is downgraded from version 1.0.0alpha8 to 1.0.0alpha7
without any explanation in the PR. This change should be investigated to
understand the reason and potential impact.

Examples:

MODULE.bazel [245]
        "dream": "1.0.0~alpha7",

Solution Walkthrough:

Before:

# MODULE.bazel
opam.deps(
    ocaml_version = "4.14.2",
    pkgs = {
        "dune": "3.20.2",
        "menhir": "20250903",
        ...
        "proton": "1.0.15",
        ...
        "dream": "1.0.0~alpha8",
    },
)

After:

# MODULE.bazel
opam.deps(
    ocaml_version = "5.2.0",
    pkgs = {
        "dune": "3.20.2",
        "menhir": "20250903",
        ...
        "proton": "1.0.16",
        ...
        "dream": "1.0.0~alpha7", # This is a downgrade
    },
)

Suggestion importance[1-10]: 9

__

Why: This is a critical observation, as the unexplained downgrade of the dream package contradicts the PR's goal of upgrading dependencies and may hide significant compatibility issues or regressions.

High
Possible issue
Prevent potential build installation failure

In the bigarray-overlap opam file, make the copy of liboverlap_stubs.a in the
install step conditional to prevent potential installation failures, mirroring
the logic from the build step.

third_party/vendor/tools_opam/extensions/opam/overrides_repo/packages/bigarray-overlap/bigarray-overlap.0.2.1/opam [33-37]

 install: [
   ["dune" "install" "-p" name]
-  ["sh" "-c" "cd %{lib}%/bigarray-overlap && cp liboverlap_stubs.a liboverlap_freestanding_stubs.a"]
+  ["sh" "-c" "cd %{lib}%/bigarray-overlap && if [ -f liboverlap_stubs.a ]; then cp liboverlap_stubs.a liboverlap_freestanding_stubs.a; fi"]
   ["./test/test_runes.ml"] {with-test}
 ]
  • Apply / Chat
Suggestion importance[1-10]: 6

__

Why: The suggestion correctly identifies that the unconditional copy in the install step could fail because the file is only created conditionally in the build step, and the proposed fix improves build robustness.

Low
  • More
Imported GitHub PR comment. Original author: @qodo-code-review[bot] Original URL: https://github.com/carverauto/serviceradar/pull/1662#issuecomment-3331956753 Original created: 2025-09-25T03:32:22Z --- ## PR Code Suggestions ✨ <!-- 5eeb447 --> Explore these optional code suggestions: <table><thead><tr><td><strong>Category</strong></td><td align=left><strong>Suggestion&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </strong></td><td align=center><strong>Impact</strong></td></tr><tbody><tr><td rowspan=1>High-level</td> <td> <details><summary>Investigate the unexplained <code>dream</code> package downgrade</summary> ___ **The <code>dream</code> package is downgraded from version <code>1.0.0~alpha8</code> to <code>1.0.0~alpha7</code> <br>without any explanation in the PR. This change should be investigated to <br>understand the reason and potential impact.** ### Examples: <details> <summary> <a href="https://github.com/carverauto/serviceradar/pull/1662/files#diff-6136fc12446089c3db7360e923203dd114b6a1466252e71667c6791c20fe6bdcR245-R245">MODULE.bazel [245]</a> </summary> ```starlark "dream": "1.0.0~alpha7", ``` </details> ### Solution Walkthrough: #### Before: ```starlark # MODULE.bazel opam.deps( ocaml_version = "4.14.2", pkgs = { "dune": "3.20.2", "menhir": "20250903", ... "proton": "1.0.15", ... "dream": "1.0.0~alpha8", }, ) ``` #### After: ```starlark # MODULE.bazel opam.deps( ocaml_version = "5.2.0", pkgs = { "dune": "3.20.2", "menhir": "20250903", ... "proton": "1.0.16", ... "dream": "1.0.0~alpha7", # This is a downgrade }, ) ``` <details><summary>Suggestion importance[1-10]: 9</summary> __ Why: This is a critical observation, as the unexplained downgrade of the `dream` package contradicts the PR's goal of upgrading dependencies and may hide significant compatibility issues or regressions. </details></details></td><td align=center>High </td></tr><tr><td rowspan=1>Possible issue</td> <td> <details><summary>Prevent potential build installation failure</summary> ___ **In the <code>bigarray-overlap</code> opam file, make the copy of <code>liboverlap_stubs.a</code> in the <br><code>install</code> step conditional to prevent potential installation failures, mirroring <br>the logic from the <code>build</code> step.** [third_party/vendor/tools_opam/extensions/opam/overrides_repo/packages/bigarray-overlap/bigarray-overlap.0.2.1/opam [33-37]](https://github.com/carverauto/serviceradar/pull/1662/files#diff-35f44273873d3420e4e79bb0effaa2cb0373d5f77a7d89670b5d66281bffaecaR33-R37) ```diff install: [ ["dune" "install" "-p" name] - ["sh" "-c" "cd %{lib}%/bigarray-overlap && cp liboverlap_stubs.a liboverlap_freestanding_stubs.a"] + ["sh" "-c" "cd %{lib}%/bigarray-overlap && if [ -f liboverlap_stubs.a ]; then cp liboverlap_stubs.a liboverlap_freestanding_stubs.a; fi"] ["./test/test_runes.ml"] {with-test} ] ``` - [ ] **Apply / Chat** <!-- /improve --apply_suggestion=1 --> <details><summary>Suggestion importance[1-10]: 6</summary> __ Why: The suggestion correctly identifies that the unconditional copy in the `install` step could fail because the file is only created conditionally in the `build` step, and the proposed fix improves build robustness. </details></details></td><td align=center>Low </td></tr> <tr><td align="center" colspan="2"> - [ ] More <!-- /improve --more_suggestions=true --> </td><td></td></tr></tbody></table>
qodo-code-review[bot] commented 2025-09-25 03:37:31 +00:00 (Migrated from github.com)
Author
Owner

Imported GitHub PR comment.

Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/1662#issuecomment-3331964928
Original created: 2025-09-25T03:37:31Z

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: build-test

Failed stage: Install dependencies (with tests) []

Failure summary:

The action failed during OPAM dependency resolution due to incompatible OCaml package constraints:
-
The environment pins ocaml-base-compiler = 5.3.0, but dependencies pulled by deps-of-srql-translator
→ dream ≥ 1.0.0alpha7 → dream-httpaf ≥ 1.0.0alpha4 → h2 < 0.13.0 → hpack = 0.11.0 require ocaml <
5.3, forcing ocaml-base-compiler < 5.2.2~ (conflict with 5.3.0).
- Additional incompatibilities:
dkml-base-compiler and ocaml-variants require ocaml < 5.0, which is incompatible with
ocaml-base-compiler = 5.3.0.
- Missing dependencies due to unmet availability conditions:
-
ocaml-beta (requires enable-ocaml-beta-repository)
- system-msvc (requires os = "win32")
As a
result, OPAM reported a "Package conflict!" and exited with code 20.

Relevant error logs:
1:  ##[group]Runner Image Provisioner
2:  Hosted Compute Agent
...

193:  Setting up musl-dev:amd64 (1.2.4-2) ...
194:  Setting up musl-tools (1.2.4-2) ...
195:  Processing triggers for man-db (2.12.0-4build2) ...
196:  Not building database; man-db/auto-update is not 'true'.
197:  Running kernel seems to be up-to-date.
198:  Restarting services...
199:  Service restarts being deferred:
200:  systemctl restart hosted-compute-agent.service
201:  No containers need to be restarted.
202:  No user sessions are running outdated binaries.
203:  No VM guests are running outdated hypervisor (qemu) binaries on this host.
204:  [command]/opt/hostedtoolcache/opam/2.4.1/x86_64/opam init --auto-setup --bare --enable-shell-hook
205:  No configuration file found, using built-in defaults.
206:  Checking for available remotes: rsync and local, git, mercurial.
207:  - you won't be able to use darcs repositories unless you install the ^[[01mdarcs^[[0m command on your system.
208:  ^[[31m[ERROR]^[[0m Sandboxing is not working on your platform ubuntu:
209:  "~/.opam/opam-init/hooks/sandbox.sh build sh -c echo SUCCESS | tee check-write" exited with code 1 "bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted"
210:  Do you want to disable it?  Note that this will result in less secure package builds, so please ensure that you have some other isolation mechanisms in place (such as running within a container or virtual machine). [^[[1;34my^[[0m/^[[1;34mN^[[0m] y
...

674:  shell: /usr/bin/bash -e {0}
675:  env:
676:  OPAMCOLOR: always
677:  OPAMCONFIRMLEVEL: unsafe-yes
678:  OPAMDOWNLOADJOBS: 4
679:  OPAMERRLOGLEN: 0
680:  OPAMEXTERNALSOLVER: builtin-0install
681:  OPAMPRECISETRACKING: 1
682:  OPAMRETRIES: 10
683:  OPAMROOT: /home/runner/.opam
684:  OPAMSOLVERTIMEOUT: 600
685:  OPAMYES: 1
686:  DUNE_CACHE_ROOT: /home/runner/.cache/dune
687:  CLICOLOR_FORCE: 1
688:  ##[endgroup]
689:  ^[[31m[ERROR]^[[0m Package conflict!
690:  ^[[31m  * ^[[0mNo agreement on the version of ^[[01mh2^[[0m:
...

698:  ^[[31m  * ^[[0mNo agreement on the version of ^[[01mocaml-base-compiler^[[0m:
699:  - (invariant)^[[33m → ^[[0m^[[31;01mocaml-base-compiler = 5.3.0^[[0m
700:  - deps-of-srql-translator^[[33m → ^[[0mdream >= 1.0.0~alpha7^[[33m → ^[[0mdream-httpaf >= 1.0.0~alpha4^[[33m → ^[[0mh2 < 0.13.0^[[33m → ^[[0mhpack = 0.11.0^[[33m → ^[[0mocaml < 5.3^[[33m → ^[[0m^[[31;01mocaml-base-compiler < 5.2.2~^[[0m
701:  ^[[31m  * ^[[0mIncompatible packages:
702:  - (invariant)^[[33m → ^[[0m^[[31;01mocaml-base-compiler = 5.3.0^[[0m
703:  - deps-of-srql-translator^[[33m → ^[[0mdream >= 1.0.0~alpha7^[[33m → ^[[0mdream-httpaf >= 1.0.0~alpha4^[[33m → ^[[0mh2 < 0.13.0^[[33m → ^[[0mocaml < 5.0^[[33m → ^[[0m^[[31;01mdkml-base-compiler^[[0m
704:  ^[[31m  * ^[[0mIncompatible packages:
705:  - (invariant)^[[33m → ^[[0m^[[31;01mocaml-base-compiler = 5.3.0^[[0m
706:  - deps-of-srql-translator^[[33m → ^[[0mdream >= 1.0.0~alpha7^[[33m → ^[[0mdream-httpaf >= 1.0.0~alpha4^[[33m → ^[[0mh2 < 0.13.0^[[33m → ^[[0mocaml < 5.0^[[33m → ^[[0m^[[31;01mocaml-variants^[[0m
707:  ^[[31m  * ^[[0mMissing dependency:
708:  - deps-of-srql-translator^[[33m → ^[[0mdream >= 1.0.0~alpha7^[[33m → ^[[0mdream-httpaf >= 1.0.0~alpha4^[[33m → ^[[0mh2 < 0.13.0^[[33m → ^[[0mocaml < 5.0^[[33m → ^[[0mocaml-variants^[[33m → ^[[0m^[[31;01mocaml-beta^[[0m
709:  unmet availability conditions: 'enable-ocaml-beta-repository'
710:  ^[[31m  * ^[[0mMissing dependency:
711:  - deps-of-srql-translator^[[33m → ^[[0mdream >= 1.0.0~alpha7^[[33m → ^[[0mdream-httpaf >= 1.0.0~alpha4^[[33m → ^[[0mh2 < 0.13.0^[[33m → ^[[0mocaml < 5.0^[[33m → ^[[0mocaml-variants^[[33m → ^[[0m^[[31;01msystem-msvc^[[0m
712:  unmet availability conditions: 'os = "win32"'
713:  ##[error]Process completed with exit code 20.
714:  Post job cleanup.

Imported GitHub PR comment. Original author: @qodo-code-review[bot] Original URL: https://github.com/carverauto/serviceradar/pull/1662#issuecomment-3331964928 Original created: 2025-09-25T03:37:31Z --- ## CI Feedback 🧐 A test triggered by this PR failed. Here is an AI-generated analysis of the failure: <table><tr><td> **Action:** build-test</td></tr> <tr><td> **Failed stage:** [Install dependencies (with tests)](https://github.com/carverauto/serviceradar/actions/runs/17996055179/job/51195704339) [❌] </td></tr> <tr><td> **Failure summary:** The action failed during OPAM dependency resolution due to incompatible OCaml package constraints:<br> - <br>The environment pins <code>ocaml-base-compiler = 5.3.0</code>, but dependencies pulled by <code>deps-of-srql-translator </code><br><code>→ dream ≥ 1.0.0~alpha7 → dream-httpaf ≥ 1.0.0~alpha4 → h2 < 0.13.0 → hpack = 0.11.0</code> require <code>ocaml < </code><br><code>5.3</code>, forcing <code>ocaml-base-compiler < 5.2.2~</code> (conflict with 5.3.0).<br> - Additional incompatibilities: <br><code>dkml-base-compiler</code> and <code>ocaml-variants</code> require <code>ocaml < 5.0</code>, which is incompatible with <br><code>ocaml-base-compiler = 5.3.0</code>.<br> - Missing dependencies due to unmet availability conditions:<br> - <br><code>ocaml-beta</code> (requires <code>enable-ocaml-beta-repository</code>)<br> - <code>system-msvc</code> (requires <code>os = "win32"</code>)<br> As a <br>result, OPAM reported a "Package conflict!" and exited with code 20.<br> </td></tr> <tr><td> <details><summary>Relevant error logs:</summary> ```yaml 1: ##[group]Runner Image Provisioner 2: Hosted Compute Agent ... 193: Setting up musl-dev:amd64 (1.2.4-2) ... 194: Setting up musl-tools (1.2.4-2) ... 195: Processing triggers for man-db (2.12.0-4build2) ... 196: Not building database; man-db/auto-update is not 'true'. 197: Running kernel seems to be up-to-date. 198: Restarting services... 199: Service restarts being deferred: 200: systemctl restart hosted-compute-agent.service 201: No containers need to be restarted. 202: No user sessions are running outdated binaries. 203: No VM guests are running outdated hypervisor (qemu) binaries on this host. 204: [command]/opt/hostedtoolcache/opam/2.4.1/x86_64/opam init --auto-setup --bare --enable-shell-hook 205: No configuration file found, using built-in defaults. 206: Checking for available remotes: rsync and local, git, mercurial. 207: - you won't be able to use darcs repositories unless you install the ^[[01mdarcs^[[0m command on your system. 208: ^[[31m[ERROR]^[[0m Sandboxing is not working on your platform ubuntu: 209: "~/.opam/opam-init/hooks/sandbox.sh build sh -c echo SUCCESS | tee check-write" exited with code 1 "bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted" 210: Do you want to disable it? Note that this will result in less secure package builds, so please ensure that you have some other isolation mechanisms in place (such as running within a container or virtual machine). [^[[1;34my^[[0m/^[[1;34mN^[[0m] y ... 674: shell: /usr/bin/bash -e {0} 675: env: 676: OPAMCOLOR: always 677: OPAMCONFIRMLEVEL: unsafe-yes 678: OPAMDOWNLOADJOBS: 4 679: OPAMERRLOGLEN: 0 680: OPAMEXTERNALSOLVER: builtin-0install 681: OPAMPRECISETRACKING: 1 682: OPAMRETRIES: 10 683: OPAMROOT: /home/runner/.opam 684: OPAMSOLVERTIMEOUT: 600 685: OPAMYES: 1 686: DUNE_CACHE_ROOT: /home/runner/.cache/dune 687: CLICOLOR_FORCE: 1 688: ##[endgroup] 689: ^[[31m[ERROR]^[[0m Package conflict! 690: ^[[31m * ^[[0mNo agreement on the version of ^[[01mh2^[[0m: ... 698: ^[[31m * ^[[0mNo agreement on the version of ^[[01mocaml-base-compiler^[[0m: 699: - (invariant)^[[33m → ^[[0m^[[31;01mocaml-base-compiler = 5.3.0^[[0m 700: - deps-of-srql-translator^[[33m → ^[[0mdream >= 1.0.0~alpha7^[[33m → ^[[0mdream-httpaf >= 1.0.0~alpha4^[[33m → ^[[0mh2 < 0.13.0^[[33m → ^[[0mhpack = 0.11.0^[[33m → ^[[0mocaml < 5.3^[[33m → ^[[0m^[[31;01mocaml-base-compiler < 5.2.2~^[[0m 701: ^[[31m * ^[[0mIncompatible packages: 702: - (invariant)^[[33m → ^[[0m^[[31;01mocaml-base-compiler = 5.3.0^[[0m 703: - deps-of-srql-translator^[[33m → ^[[0mdream >= 1.0.0~alpha7^[[33m → ^[[0mdream-httpaf >= 1.0.0~alpha4^[[33m → ^[[0mh2 < 0.13.0^[[33m → ^[[0mocaml < 5.0^[[33m → ^[[0m^[[31;01mdkml-base-compiler^[[0m 704: ^[[31m * ^[[0mIncompatible packages: 705: - (invariant)^[[33m → ^[[0m^[[31;01mocaml-base-compiler = 5.3.0^[[0m 706: - deps-of-srql-translator^[[33m → ^[[0mdream >= 1.0.0~alpha7^[[33m → ^[[0mdream-httpaf >= 1.0.0~alpha4^[[33m → ^[[0mh2 < 0.13.0^[[33m → ^[[0mocaml < 5.0^[[33m → ^[[0m^[[31;01mocaml-variants^[[0m 707: ^[[31m * ^[[0mMissing dependency: 708: - deps-of-srql-translator^[[33m → ^[[0mdream >= 1.0.0~alpha7^[[33m → ^[[0mdream-httpaf >= 1.0.0~alpha4^[[33m → ^[[0mh2 < 0.13.0^[[33m → ^[[0mocaml < 5.0^[[33m → ^[[0mocaml-variants^[[33m → ^[[0m^[[31;01mocaml-beta^[[0m 709: unmet availability conditions: 'enable-ocaml-beta-repository' 710: ^[[31m * ^[[0mMissing dependency: 711: - deps-of-srql-translator^[[33m → ^[[0mdream >= 1.0.0~alpha7^[[33m → ^[[0mdream-httpaf >= 1.0.0~alpha4^[[33m → ^[[0mh2 < 0.13.0^[[33m → ^[[0mocaml < 5.0^[[33m → ^[[0mocaml-variants^[[33m → ^[[0m^[[31;01msystem-msvc^[[0m 712: unmet availability conditions: 'os = "win32"' 713: ##[error]Process completed with exit code 20. 714: Post job cleanup. ``` </details></td></tr></table>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
carverauto/serviceradar!2242
No description provided.