fix: run update-kustomize-tag step even when test step fails #407
No reviewers
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/basketball-api!407
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "405-fix-kustomize-tag-on-test-failure"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
When the test step fails, Woodpecker skips
update-kustomize-tageven though it only depends onbuild-and-push. This means merged code with a passing build never gets deployed to ArgoCD. Addingstatus: [success, failure]ensures the tag update runs regardless of test outcome.Changes
.woodpecker.yaml— addedstatus: [success, failure]to theupdate-kustomize-tagstep'swhenclauseTest Plan
python3 -c "import yaml; yaml.safe_load(open('.woodpecker.yaml'))"build-and-push)Review Checklist
feedback_yaml_parse_validationupdate-kustomize-tagstep modifiedbuild-and-pushRelated Notes
None — CI config change only.
Related
16b96f5never deployed)QA Review -- PR #407
Scope: Single-line CI config change to
.woodpecker.yaml. Addsstatus: [success, failure]to theupdate-kustomize-tagstep'swhenclause.Checks
update-kustomize-tag, notbuild-and-push)depends_on: build-and-pushpreservedevent: push+branch: mainpreservedNit
The reference template (pal-e-platform PR #275) added an explanatory comment above the
whenclause:Consider adding this comment for consistency with the canonical template. Non-blocking.
VERDICT: APPROVED
PR #407 Review
DOMAIN REVIEW
Stack: Woodpecker CI (YAML pipeline config)
The change adds
status: [success, failure]to theupdate-kustomize-tagstep'swhenclause. This is a well-understood Woodpecker CI pattern that allows a step to execute regardless of whether prior steps (specificallytest) passed or failed.Key observations:
update-kustomize-tagstep hasdepends_on: [build-and-push], NOTdepends_on: [test]. This means the step only waits for the image build, which is correct -- you want to deploy the built image even if tests failed.status: [success, failure], Woodpecker's default behavior skips all remaining steps once any step fails. Theteststep failing would prevent tag update even though the dependency chain (build-and-push) succeeded.statusis at the same level aseventandbranch, making it a property of the samewhencondition.woodpecker-update-tag-step.yamltemplate.No issues found. The fix is minimal, correct, and well-scoped.
BLOCKERS
None.
NITS
scripts/woodpecker-update-tag-step.yamlin pal-e-platform should also be updated with thisstatusline (confirmed PR #275 handles this separately -- just noting the dependency for completeness).SOP COMPLIANCE
405-fix-kustomize-tag-on-test-failurePROCESS OBSERVATIONS
This fix directly unblocks deployment for merged code. Issue #389 validation was blocked because image
16b96f5never deployed due to this exact problem. Fixing this improves deployment frequency (DORA DF) and reduces mean time to recovery (MTTR) by ensuring the CD pipeline is not gated on test results that are orthogonal to the build artifact.VERDICT: APPROVED