fix(ci): nest backport conflict_resolution under experimental input - #3155
Conversation
The backport workflow passed conflict_resolution as a top-level input to korthout/backport-action, but the action only reads it from inside the experimental JSON object. Passed top-level it was silently ignored (the run logs warn "Unexpected input(s) 'conflict_resolution'"), so the action used the experimental default of "fail": on a cherry-pick conflict it created no pull request and only posted a comment. Move the key into the experimental input so a conflicting backport opens a draft PR with the first conflict committed, giving maintainers something to resolve in place instead of a dead-end comment. Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
|
Note Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe backport workflow's "Create back-port PR" step moves ChangesBackport Workflow Fix
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…Claim readiness and speed up COSI provisioner failover (#3532) ## What this PR does Hand-backport of #3034 to `release-1.5`. The `backport` label was applied at merge time but no backport PR was ever opened, so the change never reached this branch — found by auditing the branch with `cmd/backport-audit`, which reported it as `MISSING`. Every candidate that went missing this way merged before #3155 landed, when `conflict_resolution` was passed as a top-level input instead of nested under `experimental`. The action ignored it and fell back to `fail`, which on a conflicting cherry-pick opens no PR and reports no failure, so these were dropped with no draft to find and no red check to notice. The six original commits are cherry-picked with `-x`, unchanged and in order. No adaptation was needed: the cherry-pick was clean, and the net diff is identical to the change on `main`. ### Verification The two `.diff` files are image patches applied at build time against upstream `container-object-storage-interface`, so what matters is that this branch pins the same upstream source. It does — both `release-1.5` and `main` set `ARG COMMIT_REF=v0.2.2` in `images/objectstorage/Dockerfile`, and the resulting patch set on this branch (`91`, `92`, `93`) is byte-identical to `main`'s. Patch `91` was already present here unchanged, so `92` applies over the same base it does on `main`. The branch differs from `main` only in its builder pins (`golang:1.24` versus `1.26`, unpinned base digests), none of which affect patch application. ### Screenshots Not applicable — no UI change. ### Release note ```release-note fix(objectstorage-controller): converge BucketClaim readiness to the backend Bucket and speed up single-replica COSI provisioner failover ```
…does not crashloop the install gate (#3533) ## What this PR does Hand-backport of #3138 to `release-1.5`. The `backport` label was applied at merge time but no backport PR was ever opened, so the change never reached this branch — found by auditing the branch with `cmd/backport-audit`, which reported it as `MISSING`. Like the other items in that set, it merged before #3155 fixed the bot's `conflict_resolution` input, so the conflicting cherry-pick was dropped with no draft and no failing check. Velero binds its metrics/health endpoint (`:8085`) only after loading plugins and connecting to the API server. Under a heavy parallel platform install the upstream liveness probe starts checking at `initialDelaySeconds=10` and kills the container after `failureThreshold=5`, so velero BackOff-restarts and never escapes the loop inside the install-gate window. Because `backupstrategy-controller` hard-depends on velero, this blocks the gate. The fix adds a `startupProbe`, which holds liveness and readiness off entirely while it is failing, granting `30 * 10s = 300s` of startup grace and then handing over to the unchanged upstream liveness for steady-state crash detection. ### Backport adaptations This branch vendors velero chart **11.0.0** (appVersion 1.17.0) rather than `main`'s 12.0.3 (1.18.1), so three things differ from the original. All are recorded in the commit message as well. - **The chart version is not bumped.** Only the patch re-application is added to `update`. The `helm pull` here was previously unpinned, which would have let `update` float to a chart the patch does not apply to, so it is pinned to `11.0.0` — the version already vendored. That makes the new patch step deterministic and leaves the vendored tree byte-identical. - **The `test:` target is added.** It exists on `main` but not here, so without it the shipped regression guard would never run. - **The image assertions pin this branch's own versions** (velero `v1.17.0`, `plugin-for-aws` `v1.12.1`, kubevirt plugin `v0.8.0`), and the `upgrade-crds` rationale is restated for chart 11.0.0, where that Job still runs a kubectl image — `main`'s comment about the Job running the velero image natively is true for 12.x only. The `startupProbe` hunk itself applies to chart 11.0.0's deployment template unchanged, in the same position inside the `metrics.enabled` gate. ### Verification `helm unittest .` passes 5/5 in `packages/system/velero`. The assertions are mutually corroborating rather than vacuous: the `equal` assertions prove the `startupProbe` path actually renders, and the same paths are asserted absent under `velero.metrics.enabled: false`, proving it follows the same gate as liveness and readiness so disabling metrics can never leave a `startupProbe` pointed at an unbound port. ### Screenshots Not applicable — no UI change. ### Release note ```release-note fix(velero): add a startupProbe so a slow velero server start under heavy parallel install no longer crashloops the container and blocks the install gate ```
What this PR does
The Automatic Backport workflow passed
conflict_resolution: draft_commit_conflictsas a top-level input tokorthout/backport-action, but the action only readsconflict_resolutionfrom inside itsexperimentalJSON input. Passed top-level it was silently ignored — the action run logs warnUnexpected input(s) 'conflict_resolution'— so it fell back to theexperimentaldefault offail. On a cherry-pick conflict the action then created no pull request and only left a "Backport failed" comment on the source PR (this bit #3121 and #3119).This moves the key into the
experimentalinput, so a conflicting backport instead opens a draft PR with the first conflict committed for maintainers to resolve in place.No version bump: the pinned
v3.2.1already supportsdraft_commit_conflicts— the bug was purely the input placement.Release note
Summary by CodeRabbit