-
Notifications
You must be signed in to change notification settings - Fork 34
Propose following every Ubuntu LTS #310
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
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,37 @@ | ||||||
| # Following the bienial Ubuntu LTS release cycle | ||||||
|
|
||||||
| ## Summary | ||||||
|
|
||||||
| Every other year, Ubuntu releases a new Long Term Support (LTS) version. This proposal is to ensure that Paketo continues to provide the latest Ubuntu-based stackroot file system for our users by producing a new set of builders based on the latest LTS release. | ||||||
| This comprises to provide build and run images, making sure the relevant buildpacks support the new LTS and providing the corresponding builders. | ||||||
|
|
||||||
| In particular, since April 2024, Ubuntu released 24.04 Ubuntu Noble Numbat as the successor of 22.04 Ubuntu Jammy Jellyfish. Work has begun to provide build and run images for the Noble Numbat release. However, not all buildpacks have confirmed support and no builders have been released yet. | ||||||
|
|
||||||
| ## Motivation | ||||||
|
|
||||||
| Users of Paketo rely on us to provide an up-to-date root file system for their applications. This includes the latest security patches and software updates. While Ubuntu LTS releases are supported for 5 years, it is important to provide the latest LTS release to our users as soon as possible to ensure they can benefit from the latest features and security updates. This also provides a longer period of time for users to transition from one release to the next. | ||||||
|
|
||||||
| ## Detailed Explanation | ||||||
|
|
||||||
| In late April of every even year, Ubuntu releases a new LTS version. Once the new LTS version is released, the Stacks team will begin work on providing the new build and run images. Once build and run images are available, the Builders team will begin work on providing the corresponding builders. Once the buildpackless builders are available, the individual buildpack teams will begin to evaluate and test their buildpacks on the new builders and work on fixes or mitigations should they be needed. Once all buildpacks have been confirmed to work on the new builders, the Builders team releases the buildpackfull builders. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we really want to wait until every last buildpack has been verified before we release the builders with buildpacks? If one buildpack team is not responsive, this can delay the whole process with no limit. I could see some other possibilities like:
Thoughts?
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
50% of the buildpacks from what is included on the previous builder, or 50% of the buildpacks from all the buildpacks under the paketo org?
I think it will never exit. Can we omit the beta concept and just publish the builder once we have reach the 50% ?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. After going through Noble, my vote would be to release the builder as soon as we have a single composite that is ready to go. It's frustrating working on a composite buildpack, and having it done, but it can't go into the builder because other buildpack teams haven't verified yet. You can introspect a builder to see what's in it. We document what's in it (README). It should be fairly clear what users should get when they use a builder. I would vote for just releasing what we have when we have it. |
||||||
|
|
||||||
| ## Rationale and Alternatives | ||||||
|
|
||||||
| We could opt to adopt LTS's less frequently or additionally adopt the releases in between LTS releases. However, the former would result in users not having access to the latest features and security updates, while the latter would result in a significant increase in the number of builders we need to maintain. | ||||||
|
|
||||||
| ## Implementation | ||||||
|
|
||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. First is necessary to open an RFC about the new stack
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is also necessary for an RFC about the builder repo |
||||||
| 1. Beginning of April of every even year, the Steering team will create the necessary repositories for stacks and builders. | ||||||
| 2. During the Ubuntu LTS Release Candidate phase or latest once an official release is available, the Stacks team will begin work on providing the new build and run images. | ||||||
| 3. Once the build and run images are available, the Builders team will begin work on providing the corresponding builders. | ||||||
| 4. Once the buildpackless builders are available, the individual buildpack teams will begin to evaluate and test their buildpacks on the new builders. | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| 5. Once all buildpacks have been confirmed to work on the new builders, the Builders team releases the buildpackfull builders. | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The builder also needs to be added on the samples repo for each composite buildpack that the builder works with, example P.R. paketo-buildpacks/samples#1165
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Then the builder needs to be added to the reference page https://paketo.io/docs/reference/builders-reference/ example PR paketo-buildpacks/paketo-website#907
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Final step is the builder needs to be added on the pack CLI on the suggested builders https://github.com/buildpacks/pack/blob/main/internal/builder/trusted_builder.go Examle PR https://github.com/buildpacks/pack/pull/2383/files |
||||||
| 6. We'll announce the availability of the new builders to the community. | ||||||
|
|
||||||
| ## Prior Art | ||||||
|
|
||||||
| * [RFC 0004: Jammy Jellyfish](./stacks/0004-jammy-jellyfish.md) | ||||||
|
|
||||||
| ## Unresolved Questions and Bikeshedding | ||||||
|
|
||||||
| * What if not all buildpack teams have the capacity to test their buildpacks on the new builders before the release of the buildpackfull builders? | ||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this RFC is good time to shape it, as we have the noble builder as an example.