Skip to content

Unify the dependency system using DuneRocqPlugins#229

Merged
rlepigre-skylabs-ai merged 3 commits intomainfrom
feat/unify-dependency-system
Feb 27, 2026
Merged

Unify the dependency system using DuneRocqPlugins#229
rlepigre-skylabs-ai merged 3 commits intomainfrom
feat/unify-dependency-system

Conversation

@gmalecha-at-skylabs
Copy link
Copy Markdown
Contributor

This attempts to port all of the "plugin" infrastructure to DuneRocqPlugin, but I can't seem to figure out how to make it work with cram tests. It seems like the assumptions of the DuneRocqPlugin logic might be being violated in cram tests.

@skylabs-ai-ci
Copy link
Copy Markdown

skylabs-ai-ci Bot commented Feb 20, 2026

CI summary (Details)

Active Repos

Repo Job Branch Job Commit Base commit PR
fmdeps/rocq-agent-toolkit/ feat/unify-dependency-system a49eacf 490b5ba #229

Passive Repos

Repo Job Branch Job Commit
./ main 014bde5
fmdeps/BRiCk/ main 4ce7328
fmdeps/auto/ main f336ece
fmdeps/auto-docs/ main 9f57097
bluerock/NOVA/ skylabs-proof 927947d
bluerock/bhv/ skylabs-main 5a39ba2
fmdeps/brick-libcpp/ main 53842f7
fmdeps/ci/ main d5ff6c5
vendored/elpi/ skylabs-master aa4475f
fmdeps/fm-ci/ main 262fb04
fmdeps/fm-tools/ main 46ed5a6
psi/protos/ main 8fe3e7c
psi/backend/ main 28d4321
psi/ide/ main 6b596cf
psi/data/ main 6c7fffd
vendored/rocq/ skylabs-master 2ede3c9
vendored/rocq-elpi/ skylabs-master 103a742
vendored/rocq-equations/ skylabs-main a8c4832
vendored/rocq-ext-lib/ skylabs-master 94a6630
vendored/rocq-iris/ skylabs-master 3ad4ddd
vendored/rocq-lsp/ skylabs-main a8b7272
vendored/rocq-stdlib/ skylabs-master bc07423
vendored/rocq-stdpp/ skylabs-master e01d802
fmdeps/skylabs-fm/ main 7d620c1
vendored/vsrocq/ skylabs-main 5b4527e

Performance

Relative Master MR Change Filename
-0.00% 122612.2 122612.2 -0.0 total
-0.00% 22464.3 22464.3 -0.0 ├ translation units
+0.00% 100147.9 100147.9 +0.0 └ proofs and tests
Full Results
Relative Master MR Change Filename
-0.00% 122612.2 122612.2 -0.0 total
-0.00% 22464.3 22464.3 -0.0 ├ translation units
+0.00% 100147.9 100147.9 +0.0 └ proofs and tests

@skylabs-ai-ci
Copy link
Copy Markdown

skylabs-ai-ci Bot commented Feb 20, 2026

CI summary (Details)

Active Repos

Repo Job Branch Job Commit Base commit PR
fmdeps/rocq-agent-toolkit/ feat/unify-dependency-system 6e4a433 490b5ba #229

Passive Repos

Repo Job Branch Job Commit
./ main 014bde5
fmdeps/BRiCk/ main 4ce7328
fmdeps/auto/ main f336ece
fmdeps/auto-docs/ main 9f57097
bluerock/NOVA/ skylabs-proof 927947d
bluerock/bhv/ skylabs-main 5a39ba2
fmdeps/brick-libcpp/ main 53842f7
fmdeps/ci/ main d5ff6c5
vendored/elpi/ skylabs-master aa4475f
fmdeps/fm-ci/ main 262fb04
fmdeps/fm-tools/ main 46ed5a6
psi/protos/ main 8fe3e7c
psi/backend/ main dae1b6b
psi/ide/ main 6b596cf
psi/data/ main 6c7fffd
vendored/rocq/ skylabs-master 2ede3c9
vendored/rocq-elpi/ skylabs-master 103a742
vendored/rocq-equations/ skylabs-main a8c4832
vendored/rocq-ext-lib/ skylabs-master 94a6630
vendored/rocq-iris/ skylabs-master 3ad4ddd
vendored/rocq-lsp/ skylabs-main a8b7272
vendored/rocq-stdlib/ skylabs-master bc07423
vendored/rocq-stdpp/ skylabs-master e01d802
fmdeps/skylabs-fm/ main 7d620c1
vendored/vsrocq/ skylabs-main 5b4527e

Performance

Relative Master MR Change Filename
+0.00% 122612.2 122612.2 +0.0 total
+0.00% 22464.3 22464.3 +0.0 ├ translation units
+0.00% 100147.9 100147.9 +0.0 └ proofs and tests
Full Results
Relative Master MR Change Filename
+0.00% 122612.2 122612.2 +0.0 total
+0.00% 22464.3 22464.3 +0.0 ├ translation units
+0.00% 100147.9 100147.9 +0.0 └ proofs and tests

@gmalecha-at-skylabs
Copy link
Copy Markdown
Contributor Author

@rlepigre-skylabs-ai When I was debugging yesterday, it seems like when rocq-dune-util gets the dune source root, it is getting something related to temporary directory created by cram because it runs dune exec --no-build -- env in that directory.

@rlepigre-skylabs-ai
Copy link
Copy Markdown
Contributor

@rlepigre-skylabs-ai When I was debugging yesterday, it seems like when rocq-dune-util gets the dune source root, it is getting something related to temporary directory created by cram because it runs dune exec --no-build -- env in that directory.

That, I expect. You do have a dune project in your test directory, so it does have a dune source root. However, since the workspace doesn't have the plugin, it should be looked for in its "installed" form (via ocamlfind).

@gmalecha-at-skylabs gmalecha-at-skylabs force-pushed the feat/task-modifiers branch 2 times, most recently from 6505457 to 04aac2e Compare February 23, 2026 14:11
Base automatically changed from feat/task-modifiers to main February 23, 2026 15:00
@gmalecha-at-skylabs gmalecha-at-skylabs force-pushed the feat/unify-dependency-system branch from 3c4d82c to 0d7b9f4 Compare February 26, 2026 19:20
@skylabs-ai-ci
Copy link
Copy Markdown

skylabs-ai-ci Bot commented Feb 26, 2026

CI summary (Details)

Active Repos

Repo Job Branch Job Commit Base commit PR
fmdeps/rocq-agent-toolkit/ feat/unify-dependency-system 1be69d8 5cee0eb #229

Passive Repos

Repo Job Branch Job Commit
./ main df5c229
fmdeps/BRiCk/ main f324984
fmdeps/auto/ main 682490e
fmdeps/auto-docs/ main 9f57097
bluerock/NOVA/ skylabs-proof 0c0b4de
bluerock/bhv/ skylabs-main b1ca30d
fmdeps/brick-libcpp/ main dc9818e
fmdeps/ci/ main 7712f8c
vendored/elpi/ skylabs-master aa4475f
fmdeps/fm-ci/ main 262fb04
fmdeps/fm-tools/ main bd2e46c
psi/protos/ main 8fe3e7c
psi/backend/ main d0258c8
psi/ide/ main 6b596cf
psi/data/ main 62ed81e
vendored/rocq/ skylabs-master 2ede3c9
vendored/rocq-elpi/ skylabs-master 103a742
vendored/rocq-equations/ skylabs-main a8c4832
vendored/rocq-ext-lib/ skylabs-master 94a6630
vendored/rocq-iris/ skylabs-master 3ad4ddd
vendored/rocq-lsp/ skylabs-main a8b7272
vendored/rocq-stdlib/ skylabs-master bc07423
vendored/rocq-stdpp/ skylabs-master e01d802
fmdeps/skylabs-fm/ main 7d620c1
vendored/vsrocq/ skylabs-main 5b4527e

Performance

Relative Master MR Change Filename
-0.00% 122651.7 122651.7 -0.0 total
-0.00% 22464.3 22464.3 -0.0 ├ translation units
+0.00% 100187.4 100187.4 +0.0 └ proofs and tests
Full Results
Relative Master MR Change Filename
-0.00% 122651.7 122651.7 -0.0 total
-0.00% 22464.3 22464.3 -0.0 ├ translation units
+0.00% 100187.4 100187.4 +0.0 └ proofs and tests

@rlepigre-skylabs-ai rlepigre-skylabs-ai force-pushed the feat/unify-dependency-system branch from 0d7b9f4 to c1b65af Compare February 27, 2026 10:30
@skylabs-ai-ci
Copy link
Copy Markdown

skylabs-ai-ci Bot commented Feb 27, 2026

CI summary (Details)

Active Repos

Repo Job Branch Job Commit Base commit PR
fmdeps/rocq-agent-toolkit/ feat/unify-dependency-system 99054b3 2c2159b #229

Passive Repos

Repo Job Branch Job Commit
./ main 73e492a
fmdeps/BRiCk/ main f324984
fmdeps/auto/ main 682490e
fmdeps/auto-docs/ main 9f57097
bluerock/NOVA/ skylabs-proof 0c0b4de
bluerock/bhv/ skylabs-main b1ca30d
fmdeps/brick-libcpp/ main dc9818e
fmdeps/ci/ main 7712f8c
vendored/elpi/ skylabs-master aa4475f
fmdeps/fm-ci/ main 262fb04
fmdeps/fm-tools/ main bd2e46c
psi/protos/ main 8fe3e7c
psi/backend/ main 05f1187
psi/ide/ main 6b596cf
psi/data/ main 62ed81e
vendored/rocq/ skylabs-master 2ede3c9
vendored/rocq-elpi/ skylabs-master 103a742
vendored/rocq-equations/ skylabs-main a8c4832
vendored/rocq-ext-lib/ skylabs-master 94a6630
vendored/rocq-iris/ skylabs-master 3ad4ddd
vendored/rocq-lsp/ skylabs-main a8b7272
vendored/rocq-stdlib/ skylabs-master bc07423
vendored/rocq-stdpp/ skylabs-master e01d802
fmdeps/skylabs-fm/ main 7d620c1
vendored/vsrocq/ skylabs-main 5b4527e

Performance

Relative Master MR Change Filename
-0.00% 122651.7 122651.7 -0.0 total
-0.00% 22464.3 22464.3 -0.0 ├ translation units
+0.00% 100187.4 100187.4 +0.0 └ proofs and tests
Full Results
Relative Master MR Change Filename
-0.00% 122651.7 122651.7 -0.0 total
-0.00% 22464.3 22464.3 -0.0 ├ translation units
+0.00% 100187.4 100187.4 +0.0 └ proofs and tests

Comment thread rocq-dune-util/src/rocq_dune_util/rocq_dune_util.py Outdated
@skylabs-ai-ci
Copy link
Copy Markdown

skylabs-ai-ci Bot commented Feb 27, 2026

CI summary (Details)

Active Repos

Repo Job Branch Job Commit Base commit PR
fmdeps/rocq-agent-toolkit/ feat/unify-dependency-system 4e45d24 2c2159b #229
psi/backend/ feat/unify-dependency-system 259227f 05f1187 -

Passive Repos

Repo Job Branch Job Commit
./ main 73e492a
fmdeps/BRiCk/ main f324984
fmdeps/auto/ main 682490e
fmdeps/auto-docs/ main 9f57097
bluerock/NOVA/ skylabs-proof 0c0b4de
bluerock/bhv/ skylabs-main b1ca30d
fmdeps/brick-libcpp/ main dc9818e
fmdeps/ci/ main 7712f8c
vendored/elpi/ skylabs-master aa4475f
fmdeps/fm-ci/ main 262fb04
fmdeps/fm-tools/ main 430933c
psi/protos/ main 8fe3e7c
psi/ide/ main 6b596cf
psi/data/ main 62ed81e
vendored/rocq/ skylabs-master 2ede3c9
vendored/rocq-elpi/ skylabs-master 103a742
vendored/rocq-equations/ skylabs-main a8c4832
vendored/rocq-ext-lib/ skylabs-master 94a6630
vendored/rocq-iris/ skylabs-master 3ad4ddd
vendored/rocq-lsp/ skylabs-main a8b7272
vendored/rocq-stdlib/ skylabs-master bc07423
vendored/rocq-stdpp/ skylabs-master e01d802
fmdeps/skylabs-fm/ main 7d620c1
vendored/vsrocq/ skylabs-main 5b4527e

Performance

Relative Master MR Change Filename
+0.00% 122651.7 122651.7 +0.0 total
+0.00% 22464.3 22464.3 +0.0 ├ translation units
+0.00% 100187.4 100187.4 +0.0 └ proofs and tests
Full Results
Relative Master MR Change Filename
+0.00% 122651.7 122651.7 +0.0 total
+0.00% 22464.3 22464.3 +0.0 ├ translation units
+0.00% 100187.4 100187.4 +0.0 └ proofs and tests

@rlepigre-skylabs-ai rlepigre-skylabs-ai force-pushed the feat/unify-dependency-system branch from e98fb68 to 74ae5ba Compare February 27, 2026 15:03
@skylabs-ai-ci
Copy link
Copy Markdown

skylabs-ai-ci Bot commented Feb 27, 2026

CI summary (Details)

Active Repos

Repo Job Branch Job Commit Base commit PR
fmdeps/rocq-agent-toolkit/ feat/unify-dependency-system 0af142a 2c2159b #229
psi/backend/ feat/unify-dependency-system 259227f 05f1187 -

Passive Repos

Repo Job Branch Job Commit
./ main 73e492a
fmdeps/BRiCk/ main f324984
fmdeps/auto/ main 682490e
fmdeps/auto-docs/ main 9f57097
bluerock/NOVA/ skylabs-proof 0c0b4de
bluerock/bhv/ skylabs-main b1ca30d
fmdeps/brick-libcpp/ main dc9818e
fmdeps/ci/ main 7712f8c
vendored/elpi/ skylabs-master aa4475f
fmdeps/fm-ci/ main 262fb04
fmdeps/fm-tools/ main 430933c
psi/protos/ main 8fe3e7c
psi/ide/ main 6b596cf
psi/data/ main 62ed81e
vendored/rocq/ skylabs-master 2ede3c9
vendored/rocq-elpi/ skylabs-master 103a742
vendored/rocq-equations/ skylabs-main a8c4832
vendored/rocq-ext-lib/ skylabs-master 94a6630
vendored/rocq-iris/ skylabs-master 3ad4ddd
vendored/rocq-lsp/ skylabs-main a8b7272
vendored/rocq-stdlib/ skylabs-master bc07423
vendored/rocq-stdpp/ skylabs-master e01d802
fmdeps/skylabs-fm/ main 7d620c1
vendored/vsrocq/ skylabs-main 5b4527e

Performance

Relative Master MR Change Filename
+0.00% 122651.7 122651.7 +0.0 total
+0.00% 22464.3 22464.3 +0.0 ├ translation units
+0.00% 100187.4 100187.4 +0.0 └ proofs and tests
Full Results
Relative Master MR Change Filename
+0.00% 122651.7 122651.7 +0.0 total
+0.00% 22464.3 22464.3 +0.0 ├ translation units
+0.00% 100187.4 100187.4 +0.0 └ proofs and tests

@pgiarrusso-sl
Copy link
Copy Markdown
Contributor

From today's meeting:

  • we understood something here is not perfect — especially if workspace packages are also installed — but we can't fix this properly without dune changes.
  • We should PSA people to not install workspace packages to their opam switch.

@rlepigre-skylabs-ai
Copy link
Copy Markdown
Contributor

The potential issue with this change is if people build a project that also exists in an installed form.

gmalecha-at-skylabs and others added 3 commits February 27, 2026 17:34
The [-boot] flag is systematically introduced by dune, but prevents
Rocq from picking up installed packages. The ideal fix would be to
add [-package] options for installed packages, but the option is not
yet available. So when installed packages are required, we remove
the [-boot] option.

We also remove the "opam exec --" prefix when invoking [ocamlfind],
since it does not seem to work well with cram tests.
This does two things:
- Also adds _build/default/install/bin to the path.
- Avoids using DUNE_SOURCEROOT variable name.
@rlepigre-skylabs-ai rlepigre-skylabs-ai force-pushed the feat/unify-dependency-system branch from 74ae5ba to 65c07cf Compare February 27, 2026 16:49

# HACK: make sure to allow loading installed plugins.
if needs_installed_plugin:
rocq_args.remove("-boot")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have now implemented a better version, that only removes -boot when installed libraries are needed. This should be more robust in our common case, while still covering the installed use-case.

@skylabs-ai-ci
Copy link
Copy Markdown

skylabs-ai-ci Bot commented Feb 27, 2026

CI summary (Details)

Active Repos

Repo Job Branch Job Commit Base commit PR
fmdeps/rocq-agent-toolkit/ feat/unify-dependency-system 6185052 fff997d #229
psi/backend/ feat/unify-dependency-system 93fc900 3d84bd7 #1218

Passive Repos

Repo Job Branch Job Commit
./ main 73e492a
fmdeps/BRiCk/ main f324984
fmdeps/auto/ main 682490e
fmdeps/auto-docs/ main 9f57097
bluerock/NOVA/ skylabs-proof 0c0b4de
bluerock/bhv/ skylabs-main b1ca30d
fmdeps/brick-libcpp/ main dc9818e
fmdeps/ci/ main 7712f8c
vendored/elpi/ skylabs-master aa4475f
fmdeps/fm-ci/ main 262fb04
fmdeps/fm-tools/ main 430933c
psi/protos/ main 8fe3e7c
psi/ide/ main 6b596cf
psi/data/ main 62ed81e
vendored/rocq/ skylabs-master 2ede3c9
vendored/rocq-elpi/ skylabs-master 103a742
vendored/rocq-equations/ skylabs-main a8c4832
vendored/rocq-ext-lib/ skylabs-master 94a6630
vendored/rocq-iris/ skylabs-master 3ad4ddd
vendored/rocq-lsp/ skylabs-main a8b7272
vendored/rocq-stdlib/ skylabs-master bc07423
vendored/rocq-stdpp/ skylabs-master e01d802
fmdeps/skylabs-fm/ main 7d620c1
vendored/vsrocq/ skylabs-main 5b4527e

Performance

Relative Master MR Change Filename
-0.00% 122651.7 122651.7 -0.0 total
-0.00% 22464.3 22464.3 -0.0 ├ translation units
+0.00% 100187.4 100187.4 +0.0 └ proofs and tests
Full Results
Relative Master MR Change Filename
-0.00% 122651.7 122651.7 -0.0 total
-0.00% 22464.3 22464.3 -0.0 ├ translation units
+0.00% 100187.4 100187.4 +0.0 └ proofs and tests

@rlepigre-skylabs-ai rlepigre-skylabs-ai merged commit 7eefa6d into main Feb 27, 2026
69 checks passed
@rlepigre-skylabs-ai rlepigre-skylabs-ai deleted the feat/unify-dependency-system branch February 27, 2026 17:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants