Add timeout to the rollout status - #425
Merged
bosesuneha merged 14 commits intoJul 9, 2025
Merged
Conversation
benjaminbob21
marked this pull request as ready for review
July 5, 2025 18:19
Tatsinnit
reviewed
Jul 5, 2025
Tatsinnit
reviewed
Jul 5, 2025
Tatsinnit
reviewed
Jul 5, 2025
Tatsinnit
reviewed
Jul 5, 2025
Tatsinnit
reviewed
Jul 5, 2025
Tatsinnit
reviewed
Jul 5, 2025
Tatsinnit
reviewed
Jul 5, 2025
Tatsinnit
reviewed
Jul 5, 2025
Tatsinnit
reviewed
Jul 5, 2025
Tatsinnit
reviewed
Jul 5, 2025
Tatsinnit
reviewed
Jul 5, 2025
Tatsinnit
reviewed
Jul 5, 2025
There was a problem hiding this comment.
Pull Request Overview
This PR introduces an optional timeout parameter to kubectl operations and rollout status checks, and wires it through deployment, canary, and blue-green strategy helpers, their tests, the GitHub Action entrypoint, and CLI runner.
- Added
timeout?: stringtocheckManifestStabilityand allKubectlmethods. - Propagated
timeoutthrough strategy helpers (deploySMICanary,deployPodCanary, blue-green helpers, etc.),run.ts, and action inputs. - Expanded unit tests to verify timeout is passed correctly and updated
action.ymland integration workflow accordingly.
Reviewed Changes
Copilot reviewed 26 out of 27 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/types/kubectl.ts | Extended Kubectl API with timeout, updated apply, execute, delete, etc. |
| src/utilities/manifestStabilityUtils.ts | Updated checkManifestStability signature to accept timeout. |
| src/run.ts | Passes timeout from action input into core commands. |
| action.yml | Added timeout input definition. |
| .github/workflows/run-integration-tests... | Added SMI setup step; no timeout-related changes. |
| Strategy & helper files & tests | Propagated timeout through all strategy helpers and corresponding tests. |
Comments suppressed due to low confidence (2)
src/types/kubectl.ts:52
- The
timeoutflag is being appended here and again inexecute, which will produce duplicate--timeoutentries. Remove this push and letexecutehandle adding the timeout argument exactly once.
if (timeout) applyArgs.push(`--timeout=${timeout}`)
src/types/kubectl.ts:35
- The method currently pushes the entire
configurationPathsarray as one element. To match test expectations and kubectl syntax, explicitly flatten or join the array (e.g. iterate each path with its own-fflag or comma-join) instead of passing it directly.
public async apply(
Tatsinnit
reviewed
Jul 7, 2025
Tatsinnit
reviewed
Jul 7, 2025
Tatsinnit
approved these changes
Jul 8, 2025
Tatsinnit
left a comment
Member
There was a problem hiding this comment.
💡 Thank you so much for the kind ping around this, looks great! please get reviews from @davidgamero and @bosesuneha for any user scenario missed. thank you!
bosesuneha
reviewed
Jul 8, 2025
bosesuneha
reviewed
Jul 8, 2025
Merged
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.

This PR fixes issue Feature Request: Allow setting timeout in watching rollout status #350 and builds up on adding timeout to the rollout status #353