-
Notifications
You must be signed in to change notification settings - Fork 113
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
Use single step for all four Buildpacks lifecycle phases #491
Use single step for all four Buildpacks lifecycle phases #491
Conversation
A quick question, do we need to update the buildpacks step in this ADR document?: https://github.com/shipwright-io/build/blob/master/docs/proposals/buildstrategy-steps-resources.md#example Or just keep as before is enough? |
Hm, good question. The proposal describes the distinction between strategy administrators and users, and discusses how we assign resources from the build strategy steps into container resources in the TaskRun. It also uses a What do you think @qu1queee ? Should I update the sample in your proposal ? |
We could keep the proposal as is since this change doesn't fundamentally change how a |
@sbose78 I added the performance comparison results to the PR description. |
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.
This looks good, not approving yet because either bot will merge this and there are two minor questions might be important. Can you pls add https://github.com/buildpacks/rfcs/blob/main/text/0026-lifecycle-all.md in your PR description pls, for future references.
samples/buildstrategy/buildpacks-v3/buildstrategy_buildpacks-v3_cr.yaml
Outdated
Show resolved
Hide resolved
f8a9225
to
5955ad6
Compare
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.
Looks solid, thanks for the Verbesserung.
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: qu1queee The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
FIxes #455
The change updates the buildstrategies for Buildpacks, Heroku as well as Paketo, to use a single step for the four lifecycle phases. It is inspired by the Tekton catalog entry for Buildpacks. It uses the functionality introduced by /cnb/lifecycle/creator.
I am using the resources of one old step now for the merged step.
I did some performance tests. The old build strategy assigns different resources to the different steps: prepare, detect and restore got 0.1 CPU cores and 128 MiB memory; build and export received 0.5 CPU cores and 512 MiB memory. The new build strategy with just one step for the Buildpacks lifecycle continued to assign 0.1 CPU cores and 128 MiB memory to the prepare step while the buildpacks step received 0.5 CPU cores and 512 MiB memory. The source code came from cf-acceptance-tests. The Buildpacks builder image was 0.1.35-full. I triggered ten buildruns at the same time. Four runtimes were tested:
To confirm no difference with larger load, a single comparison with 30 parallel builds: