paketo-buildpacks / rfcs

Apache License 2.0
19 stars 33 forks source link

Adds new Java RFC for composite draft branches #269

Closed pivotal-david-osullivan closed 1 year ago

pivotal-david-osullivan commented 1 year ago

Readable

Summary

This RFC proposes a change to the pipeline-builder CI which will target the composite/meta buildpack repositories, e.g. paketo-buildpacks/java, and change the branch that component buildpack bump PRs are created against.

Use Cases

This will allow integration tests to be run on merges to the main branch once component buildpack bumps are in and ready for release. This should also reduce the maintenance burden as the component bumps can be auto-merged with review possible before the merge to main.

Checklist

sophiewigmore commented 1 year ago

Notes from working group 12/21 - this is a good opportunity to make the Java and non-Java workflows more similar. This RFC has the potential to make those workflows more separate, so we should think about the ramifications of that.

loewenstein commented 1 year ago

Notes from working group 12/21 - this is a good opportunity to make the Java and non-Java workflows more similar. This RFC has the potential to make those workflows more separate, so we should think about the ramifications of that.

See also my comment on evaluating Renovate, potentially for the whole project.

ryanmoran commented 1 year ago

Jan 4 working group: one of the goals for the new year is to get the java/utilities buildpacks in alignment with the non-java buildpacks. This RFC has project-level changes, so it would be good to get some feedback from people in the Java and non-Java side.

dmikusa commented 1 year ago

@ryanmoran @loewenstein @sophiewigmore - Aside from Renovate, which I'm requesting we table for a separate RFC, I'm not sure I see how this would take the Java buildpacks more out of alignment.

The idea here is to enable a workflow that would allow us to trigger integration tests more easily off the Java composite buildpack. The implementation details may be slightly different, but adding integration tests, which Java buildpacks don't presently have, brings them more inline with other Paketo buildpacks. To me that's win. I'm also hopeful it'll help flush out issues earlier and not in the builder pipelines, which has been a problem.

I believe @pivotal-david-osullivan was going to adjust some of the text based on @robdimsdale's comment, hopefully that'll clarify as well, but if you have any other concerns let me or David know. Thanks

loewenstein commented 1 year ago

@dmikusa My main take on this was

well, the RFC sounds like there is effort involved changing CI and while maybe not too much still significant.

I agree that getting integration tests is very valuable, that's why we started a PR to contribute some ;)

TL;DR If you think spending a little extra now instead of moving straight to Renovate will significantly speed up having integration tests, maybe it's worth it.

dmikusa commented 1 year ago

@loewenstein OK, I resolved that conversation. I do think the best way forward is to keep the scope on this small, get it approved, then we can merge your PR and circle back to Renovate & dependency management.

jpena-r7 commented 1 year ago

Notes from meeting. Looking for comment from @pivotal-david-osullivan to move forward.

pivotal-david-osullivan commented 1 year ago

We should definitely explore Renovate but given the opportunity to add it project-wide, I think the evaluation of it belongs in it's own RFC. I don't expect the implementation work for this RFC, to align Java more closely with non-Java processes, will require significant work compared to adding a new tool that covers dependencies of both component & composite/meta buildpacks.

dmikusa commented 1 year ago

Looks like commenting has settled down. I'd like to start the final call for comments & votes with Feb 7th, 2023 being the final day for comment/vote. Thanks!

dmikusa commented 1 year ago

OK, thanks everyone for the comments and feedback. Votes are in and sufficient to pass. I'll go ahead and merge then assign a RFC number.