-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Bulk-remove build tag from ppx dependencies #12013
Conversation
This removes the {build} tag from all ppx dependencies, as ppxs often have runtime libraries and aren't true build-only dependencies, causing spurious build failures after upgrades of ppx packages. See ocaml#11852
❌ opam-lint errors 58b25cd
✅ Installability check (8835 → 8835) |
I'm not sure about the reasoning in the referenced issue. Applying the same argument to build systems (version x may lead to invalid code, version (x+1) fixes this behaviour), should all the I can see the value, being able to derive from |
I tend to agree, but this PR only changes ppx dependencies, which need to trigger rebuilds after upgrades as they usually contain runtime libraries. |
@copy I see your point, but I am not sure about this. For example |
@mseri Indeed, I also included ppxs that don't have runtime libraries, as per this comment:
However, I'd glady revert to the less controversial change of only changing ppxs that have runtime libraries. |
👍 Let’s get more opinions before reverting anything |
I agree with this change. That said, this does not solve the issue in the long term as people will still continue submitting packages with |
I also agree with this change; we should err on the side of being conservative with recompiles and doing more if there's a risk of missing a material change. Instead of or as well as a discuss thread, I think we should get into the habit of adding checks to the Camelus bot to automate this as part of the lint step. |
Is there anything missing from this PR to be merged? Any interjections? I had a quick look over the failures and they mostly come from failing old packages (that were touched by this PR), network errors and already broken packages. |
Merging as this seems to be a safe thing to do. |
See the discussion in #11852
This PR removes the
build
tag from ppx dependencies in all packages in the opam universe.It removes the
build
tag from these dependencies:Which was found using:
ppx_core
,ppx_driver
,ppx_metaquot
,ppx_type_conv
andppx_type_conv
were excluded because they are deprecated and unlikely to see further updates.
Removal of the build tag was performed using two sed scripts, which I suggest
to be reviewed:
After executing these scripts the above
grep
command returns nothing.