Skip to content

Use new cmdliner in tests & dev pkgs - #59

Open
mbarbin wants to merge 10 commits into
mainfrom
new-cmdliner-in-tests
Open

Use new cmdliner in tests & dev pkgs#59
mbarbin wants to merge 10 commits into
mainfrom
new-cmdliner-in-tests

Conversation

@mbarbin

@mbarbin mbarbin commented Aug 11, 2026

Copy link
Copy Markdown
Owner

We aim to keep the ability to translate to cmdliner < 2.0 (1.3 was in used) but we'll be testing with the >= 2.1.1 going forward.

mbarbin added 10 commits August 11, 2026 14:57
The project is getting too expensive to maintain if we want to test across all
versions of upstream backend. It's been a while since cmdliner 2.0 went out, it
is time to adopt it in cmdlang.

Note that we still aim to support the translation to work with older versions as
long as the API remains compatible. However we'll be migrating our test suite to
use the latest cmdliner major version only (follow up commits).
This is a mechanical change where we promoted the new output emitted by the new
version of cmdliner.

There are a few more changes require which are left out of scope of that commit
because they will require a bit more care, related to prefix of command and
argument being no longer accepted (follow up work).
This is a tradeof: we miss some behavior of the backend, and we gain more
readability and stability of the tests.
This was wasn't tracked by the incremental build but caught by the CI.
Requiring [cmdliner >= 2.1.1] in the project causes some incompatibility during
CI with [bisect_ppx] whose upstream release requires [cmdliner < 2.0].

There is however a version of bisect_ppx available that is compatible with
cmdliner 2.0, released to the alpha repo.

This is an attempt to fix the CI jobs currently failing.

[ocaml-ci] however lack support for adding opam repo so I am afraid it won't be
able to be fixed.
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.

1 participant