feat: Add semver/range resolved intermediate as build environment variable#26650
Draft
BadLiveware wants to merge 25 commits intoargoproj:masterfrom
Draft
feat: Add semver/range resolved intermediate as build environment variable#26650BadLiveware wants to merge 25 commits intoargoproj:masterfrom
BadLiveware wants to merge 25 commits intoargoproj:masterfrom
Conversation
✅ Preview Environment deployed on Bunnyshell
See: Environment Details | Pipeline Logs Available commands (reply to this comment):
|
fb94dac to
445cc47
Compare
Keeps track of the intermediate symbol in range revision targets(e.g. v*), and makes its accessible in the build environment. This can be used to keep track of image tags from the intermediate revision(e.g. v* -> v1.0.0 (This is what is now available) -> abc123) Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Without this it is more difficult that necessary to correlate Revision to RevisionResolution. The old Revision is kept in CRDs to avoid breaking changes Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
This update introduces the DOCKER_HOME variable and translates the host KUBECONFIG path to the corresponding container path, ensuring proper environment variable handling during e2e test runs. Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
e36bb1a to
997aec1
Compare
Signed-off-by: Fredrik Larsson <fredrik.larsson@tradera.com>
997aec1 to
58935df
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
When a revision constraint (e.g. v1.*, >=1.0.0, ^1.0.0) is used as a target revision, Argo CD resolves it to a concrete tag before fetching the SHA/digest. Previously this intermediate step information was lost, and only the final SHA was recorded. e.g.
v1.*->v1.0.0(This is lost) ->c74ca22(This is the only thing saved).This PR captures, and records the intermediate resolution and makes it available in both the Application CRD status, and as a build environment variable.
This becomes quite a large change because the resolved revisions are passed around as strings everywhere. I kept the resolved revision outside of
RevisionResolutionbecause of how central it is, but it could just as easily be moved into the new struct. This would carry the benefit of making future changes easier(e.g. adding metadata).Example output:
Mostly useful for git, but works the same for OCI, helm (doesnt show
via)Multiple sources:
Checklist: