chore(DO-7930): sync with cloudposse upstream to inherit deployment-id support - #3
Open
gokul-das-ext wants to merge 5 commits into
Open
chore(DO-7930): sync with cloudposse upstream to inherit deployment-id support#3gokul-das-ext wants to merge 5 commits into
gokul-das-ext wants to merge 5 commits into
Conversation
* chore: upgrade actions to Node 24 runtime (SHA-pinned) * chore: bump wait-commit-status to v0.2.2 (node24, SHA-pinned)
…dupe (#92) ArgoCD's notification `oncePer` trigger dedupes on whichever field it is pointed at. Keying it on the application commit means a rollback -- replaying a commit ArgoCD has already notified for -- is silently suppressed, so the rollback reports no status at all. Add an optional `deployment-id` input whose value is written to the generated `config.yaml` as `deployment_id`, giving `oncePer` a field that is unique per deploy attempt rather than per code state. The value is stamped with `yq` and `strenv` rather than interpolated into the YAML literal, so IDs that would otherwise be type-coerced or break the document (`01234`, `true`, values containing `:`) round-trip correctly, and the input never reaches the shell command string. Left at its empty default the step is skipped entirely and the key is omitted, keeping `config.yaml` byte-identical for existing callers. This matters because the action only commits to the GitOps repo when the rendered output actually changes -- always emitting the key would push a config-only commit, and an ArgoCD sync, for every app on upgrade. Covered by the helm raw tests in both directions: the value round-trips through the committed `config.yaml` when passed, and the key is absent when it is not.
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.
Summary
cloudposse/github-action-deploy-argocd@maininto our fork'smain, bringing in feat: add deployment-id input for per-attempt ArgoCD notification dedupe cloudposse/github-action-deploy-argocd#92 (merged as9db127d, released asv1.11.0) — theirdeployment-idinput implementation.DO-7299ARM64 fix (Setup helmfilestep) — confirmed no conflicts, the two changes touch non-overlapping parts ofaction.yml.deployment-idpatch — closing that in favor of this.Why not just point at cloudposse directly?
cloudposse/github-action-deploy-argocd@v1.11.0still usesmamezou-tech/setup-helmfile@v2.2.0, which hardcodeslinux_amd64and has no ARM64 support.example-eks-project(and other apps) actively run their ArgoCD deploy jobs onruns-on/pool=small-arm64— dropping the fork entirely would break helmfile setup on those runners. This sync keeps our ARM64 fix while adopting upstream's betterdeployment-idimplementation (yq + strenv stamping, conditional on non-empty — avoids the type-coercion risk and the spurious extra-commit-on-upgrade issue our own #2 had).Verification
action.ymldiff confirms both the ARM64Setup helmfilestep and cloudposse'sStamp deployment idstep are present post-merge.test-helm-raw.ymlasserting round-trip,test-helm-raw-default-kube-version.ymlassertinghas("deployment_id") == falsewhen omitted) comes along with the merge.🤖 Generated with Claude Code