Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Externalise opam admin as a plugin #6114

Open
rjbou opened this issue Jul 24, 2024 · 1 comment
Open

Externalise opam admin as a plugin #6114

rjbou opened this issue Jul 24, 2024 · 1 comment
Labels
KIND: PLUGIN CANDIDATE Feature requests that might best be implemented as plugins to opam

Comments

@rjbou
Copy link
Collaborator

rjbou commented Jul 24, 2024

It is historically in opam code, but it is specific to opam repository management, not package / opam root management. It can safely be externalised as a plugin, in that case it can have its own release cycle.
When modifying opam library, we need to ensure that we don't break opam admin and that it follows opam update, and that can be done via CI jobs.

@rjbou rjbou added the KIND: PLUGIN CANDIDATE Feature requests that might best be implemented as plugins to opam label Dec 16, 2024
@rjbou
Copy link
Collaborator Author

rjbou commented Dec 16, 2024

First tests of extracting the opam admin to its own repo. The code is well separated, it permits to retrieve the full history.
The story/main steps

  • opam-admin repo

    • extract git history of src/client/opamAdmin*.ml
    • extract git history of opam-client.opam to follow version bumps. It needs a rewrite of the opam file just to update the version with the good bump opam-client dependency
    • translate admin reftest to cram tests
    • no work needed on the build system, use directly dune, so write dune files
  • opam repo

    • update doc/faq/etc.
    • remove src/client/opamAdmin*.ml code from opam repo
    • remove ancestor of opam admin command, admin-scripts/ and src/tools/admin_scripts.ml* as they are not more used, and broken (not compiling, not checked)
    • remove admin tests from reftests
    • add a ci job to check opam-admin compilation, and as opam-rt, working with a related branch for the fix
  • discuss/blog post

    • Advertise in advance about the change

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
KIND: PLUGIN CANDIDATE Feature requests that might best be implemented as plugins to opam
Projects
None yet
Development

No branches or pull requests

1 participant