Build speed: components/supervisor:docker and glitpod-cli #13228
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This uses the Leeway package version when populating
versions.txt
- the motivation for this change is to improve build speed. When we useargdeps
the package build cache will be invalidated whenever the argument changes. So having an argdeps onversion
means that we'll rebuildcomponents/gitpod-cli:version
andcomponents/gitpod-cli:app
on every CI build. Becausecomponents/supervisor:docker
depends oncomponents/gitpod-cli:app
it means we'll rebuild that every time too.This will reduce our build speeds by 38s (based on the example shown below).
Discussion: I went with using the Leeway package version. We could also use the git commit (
__git_commit
) or even useversion
but then just know it will only be bumped when the package is actually modified. We could also include all three.⬆️ Update: We decided on using the git commit instead here.
Related Issue(s)
Fixes #12823
How to test
With the changes in this PR I triggered two commits to show that it no longer rebuilds components that didn't change. The arrows in the before images indicate what we'll no longer be rebuilding every time.
Before: Images

After: Images

Release Notes
Documentation
N/A
Werft options:
If enabled this will build
install/preview
Valid options are
all
,workspace
,webapp
,ide