Skip to content

Add CI job building irmin with dune package management#2388

Merged
zshipko merged 3 commits intomirage:eiofrom
ElectreAAS:push-vktuqnvyoqqo
Feb 5, 2026
Merged

Add CI job building irmin with dune package management#2388
zshipko merged 3 commits intomirage:eiofrom
ElectreAAS:push-vktuqnvyoqqo

Conversation

@ElectreAAS
Copy link

@ElectreAAS ElectreAAS commented Jan 13, 2026

Hello irmin folks!
We've been wanting to make sure that irmin can be built using dune package management, and this PR introduces a CI job that can make that check automatically.
If you were to try building irmin with 'stock' dune (3.20.2) with pkg enabled, you'd hit a error related to irmin-watcher.
Since ocaml/dune#13232, this is now fixed, and dune (on its main branch) can be used by irmin devs as a daily driver!

Note that this PR is built on top of #2387

@zshipko
Copy link
Contributor

zshipko commented Jan 15, 2026

Awesome, I am excited to use dune pkg to work on Irmin! I just tried it out using dune pkg lock && dune pkg runtest works as expected using this branch!

It's not clear what is going on with formatting when using opam packages but I will try to investigate

Copy link
Contributor

@art-w art-w left a comment

Choose a reason for hiding this comment

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

This PR looks good, thanks! However it's blocked by the weird (existing) CI failure, which we attempted to fix in #2387 without success

@zshipko
Copy link
Contributor

zshipko commented Jan 20, 2026

This PR looks good, thanks! However it's blocked by the weird (existing) CI failure, which we attempted to fix in #2387 without success

CI is currently green without #2387 (for instance #2385) but it seems like there is a discrepancy between the formatting used when running the tests with dune and opam.

I can spend a moment trying to figure out what's happening here today.

@zshipko
Copy link
Contributor

zshipko commented Jan 27, 2026

The issue is that dune pkg is using ppxlib.0.37.0 while opam is selecting ppxlib.0.35.0 and they have incompatible output.

Maybe we need to require ppxlib >= 0.37.0 in ppx_irmin.opam in #2387 instead?

@art-w
Copy link
Contributor

art-w commented Jan 28, 2026

Yeah we already tried this but then the CI doesn't find a solution for the dependencies ( https://ocaml.ci.dev/github/mirage/irmin/commit/ed85a176f6637df008bbf8f9d9e655746436286b/variant/%28analysis%29 )

@zshipko
Copy link
Contributor

zshipko commented Jan 28, 2026

The problem seems to be bisect_ppx: 386c49f

Signed-off-by: Ambre Austen Suhamy <ambre@tarides.com>
Signed-off-by: Ambre Austen Suhamy <ambre@tarides.com>
@zshipko zshipko merged commit 5f287ec into mirage:eio Feb 5, 2026
7 checks passed
@ElectreAAS ElectreAAS deleted the push-vktuqnvyoqqo branch February 5, 2026 13:02
@ElectreAAS
Copy link
Author

Thanks Zach for merging this :)

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