Fix CI: remove dead volume config, add Kaniko push retry #200
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/ci-kaniko-push-199"
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
backend_optionsvolume mount config from bundle-install step (PVC never configured, making it a no-op)cpcommands that depended on the unconfigured volume--push-retry 3to Kanikoextra_optsto handle transient Harbor connection drops during large blob uploadsCloses #199
Changes
.woodpecker.yaml— removedbackend_options.kubernetes.volumeMountsblock frombundle-installstep, removedcp -a /cache/bundle/...commands, added--push-retry 3to Kaniko extra_opts, removed trailing PVC setup comment blockTest Plan
Review Checklist
.woodpecker.yamlonlyRelated Notes
--push-retry 3retries transient failuresWOODPECKER_BACKEND_K8S_VOLUMESagent configQA Review -- PR #200
Scope: 1 file changed (
.woodpecker.yaml), +1/-27 lines.Findings
No issues found. All four changes are correct and minimal:
Dead
cpcache commands removed --cp -a /cache/bundle/...lines were no-ops since the volume mount was never provisioned. Clean removal, no side effects.Dead
backend_optionsblock removed --kubernetes.volumeMountsreferencingbundle-cachewas inert withoutWOODPECKER_BACKEND_K8S_VOLUMESagent config. No orphaned references remain.--push-retry 3added to Kanikoextra_opts-- Valid Kaniko flag. Appended correctly alongside existing--skip-push-permission-check. This addresses the transient Harbor connection drops on large blob uploads.PVC comment block removed -- 19 lines of dead documentation for infrastructure that was never created. Clean removal.
Checks
.woodpecker.yamlmodified (no Dockerfile, test, or service changes)registry,cache_repo, and secrets settings untouchedCloses #199)VERDICT: PASS
PR #200 Review
DOMAIN REVIEW
Tech stack: Woodpecker CI / Kaniko / Kubernetes
This is a CI pipeline fix targeting
.woodpecker.yaml-- a single-file change with 1 addition and 27 deletions.Changes evaluated:
Dead
cpcache commands removed -- Thecp -a /cache/bundle/. vendor/bundle/and reverse copy commands depended on a volume mount at/cache/bundlethat was never provisioned. The2>/dev/null || truesuffix confirms these were silently no-ops. Correct to remove.Dead
backend_options.kubernetes.volumeMountsblock removed -- This referenced abundle-cachevolume that requiredWOODPECKER_BACKEND_K8S_VOLUMESagent-level configuration that was never set. The PR body correctly traces the origin to PR #188. Correct to remove.--push-retry 3added to Kanikoextra_opts-- This is the substantive fix. The value is appended to the existing--skip-push-permission-checkflag on the same line. Kaniko's--push-retryis a documented flag (added in kaniko v1.9.0; the imagewoodpeckerci/plugin-kaniko:2.3.0bundles kaniko >= 1.14). The retry count of 3 is a reasonable default for transient network failures. This is additive and non-breaking.Trailing PVC setup comment block removed -- These were instructions for provisioning the PVC that was never created. Since the caching approach is fully removed, this cleanup is appropriate.
No concerns with the changes. The dead config removal is safe because the config was provably never operational (volume never provisioned, commands silently failed). The push-retry addition is a standard Kaniko resilience pattern for registry connection instability.
BLOCKERS
None.
NITS
None. The change is minimal, focused, and well-explained in the PR body.
SOP COMPLIANCE
from_secretreferences)Closes #199present in PR bodyPROCESS OBSERVATIONS
--push-retry 3is additive and only activates on transient push failures.VERDICT: APPROVED