opam icon indicating copy to clipboard operation
opam copied to clipboard

GHA: add a job that test opam libs dependencies compilation

Open rjbou opened this issue 9 months ago • 1 comments

In it based on the same mechanism than opam-rt, it permits to keep them synchronised with the current API TODO

  • [ ] add a release step to check CI log for failing projects
  • [ ] add a mechanism to retrieve automatically opam lib rev deps
  • [ ] add a mechanism to eliminate pinned packages that rely on old versions of opam

rjbou avatar Feb 21 '25 12:02 rjbou

Discussion on dev meeting: We don't want to enforce failling jobs on package that we don't maintain, but the information can be used to know which maintainer/project to ping. Ideally, it would be a job that opens an issue on the good repository, or adds a comment in the PR itself. In the meanwhile, we would add 2 sets of dependencies to test:

  • the one that we maintain as opam team or as maintainer (opam-publish, opam-build, etc.) that would hard fail if there in an API breakage
  • the one that we don't maintain that would not make the job fail. It's up to us to go and look at the jobs, especially on releases It would also be nice to have an automatic selection of opam library rev deps from opam repo, but for that we need to add a step that eliminates package that are just incompatible (for ex ocaml-format < 2.3 soent' make sense to test).

main comment updated with TODOs

rjbou avatar Feb 25 '25 16:02 rjbou

https://github.com/arozovyk/opam/pull/3

Added

  • Auto reverse dependencies testing
  • Error tracking (hard fail on packages we maintain, continue and report for others)
  • Summary comment to the PR at the end of the run through github API, citing failing packages, with links to the failing job and the commit

arozovyk avatar Jun 30 '25 12:06 arozovyk

I've extracted commenting in another PR (#6646) to unblock this one.

rjbou avatar Aug 22 '25 16:08 rjbou

There are definitely some parts that can be improved (e.g. every project reinstall their dependencies, even if they have been installed before because a new local switch was created), but it's more than i'm personally willing to invest in that so since it's blocking other PRs i'm fine with it.

Yes, there is some caching that can be added, definitively.

rjbou avatar Aug 26 '25 15:08 rjbou

Thanks!

kit-ty-kate avatar Aug 26 '25 20:08 kit-ty-kate