You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Investigating build latencies and realized we export app image and cache image serially at the moment. I know there is a change in progress to export app and cache image in parallel. Ideally lifecycle should be able to signal the platform asap after the app image is ready and for also consistency, asap after the cache image is ready. The underlying reason is that platform could relay the signal to any service that wants to deploy the app image as soon as app image is ready and without waiting for build to complete aka cache image export to complete. I know cache image export is last step in build today and as per lifecycle logic we don't fail the build if we fail to export the cache image today [https://github.com/buildpacks/lifecycle/blob/main/cmd/lifecycle/exporter.go#L229].
Proposal
If lifecycle/exporter could write some status like "APP_IMAGE_READY" (in the context of corresponding build/execution) as soon as app image is ready[1] (w/o waiting for cache image export) to CNB_PLATFORM_DIR from which our platform which can be relayed to interested services who can then immediately deploy app image and don't necessarily need to wait for cache image export. ... [1] https://github.com/buildpacks/lifecycle/blob/main/cmd/lifecycle/exporter.go#L227
Open to alternatives and there is also some discussion in #1167 (comment)
Note that this behavior should be controlled by a flag input from platform based on if/whether platform supports this/wants to utilize this or not.
Summary
Investigating build latencies and realized we export app image and cache image serially at the moment. I know there is a change in progress to export app and cache image in parallel. Ideally lifecycle should be able to signal the platform asap after the app image is ready and for also consistency, asap after the cache image is ready. The underlying reason is that platform could relay the signal to any service that wants to deploy the app image as soon as app image is ready and without waiting for build to complete aka cache image export to complete. I know cache image export is last step in build today and as per lifecycle logic we don't fail the build if we fail to export the cache image today [https://github.com/buildpacks/lifecycle/blob/main/cmd/lifecycle/exporter.go#L229].
Proposal
If lifecycle/exporter could write some status like "APP_IMAGE_READY" (in the context of corresponding build/execution) as soon as app image is ready[1] (w/o waiting for cache image export) to CNB_PLATFORM_DIR from which our platform which can be relayed to interested services who can then immediately deploy app image and don't necessarily need to wait for cache image export. ... [1] https://github.com/buildpacks/lifecycle/blob/main/cmd/lifecycle/exporter.go#L227
Open to alternatives and there is also some discussion in #1167 (comment)
Note that this behavior should be controlled by a flag input from platform based on if/whether platform supports this/wants to utilize this or not.
Related
RFC #___
Context
#1167 (comment)
The text was updated successfully, but these errors were encountered: