Add pkg/cicd Deployer interface and Github implementation - #437
Merged
Conversation
IsaacJames
force-pushed
the
CI-3637-cicd-package
branch
from
January 6, 2026 11:33
b1d18a9 to
7337f4e
Compare
goelozev
reviewed
Jan 6, 2026
goelozev
left a comment
Member
There was a problem hiding this comment.
Great job on the implementation!
I don't have any comments or suggestions as of now! Let me know when it's ready for another look!
IsaacJames
force-pushed
the
CI-3637-cicd-package
branch
from
January 8, 2026 09:33
7337f4e to
c8b86dc
Compare
IsaacJames
marked this pull request as ready for review
January 8, 2026 09:34
goelozev
approved these changes
Jan 9, 2026
Merged
0x0013
pushed a commit
that referenced
this pull request
Jan 29, 2026
0x0013
pushed a commit
that referenced
this pull request
Mar 13, 2026
0x0013
pushed a commit
that referenced
this pull request
Mar 16, 2026
goelozev
pushed a commit
that referenced
this pull request
Apr 15, 2026
goelozev
pushed a commit
that referenced
this pull request
Apr 15, 2026
goelozev
pushed a commit
that referenced
this pull request
Apr 15, 2026
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.
Introduces a new
pkg/cicdpackage that provides a generic interface for triggering deployments via external CICD systems. This package will be used by the rollback controller to trigger rollback deployments and poll for their completion status.Implementation
pkg/cicd/deployer.goCore interface and types:
Deployerinterface:TriggerDeployment(ctx, req)- Initiates a deployment in the CICD systemGetDeploymentStatus(ctx, deploymentID)- Retrieves current deployment statusName()- Returns a human-readable deployer name for logging/metricsDeploymentRequest- Embeds Rollback and Release resources with provider-specific optionsDeploymentResult- Contains deployment ID, status, message, and URLDeploymentStatus- Enum for Pending, InProgress, Succeeded, Failed, UnknownDeployerError- Wraps errors with retryability informationNoopDeployer- Test implementation that always succeeds immediatelypkg/cicd/github/deployer.goGitHub Deployments API implementation:
githubtype revisionrepositoryoptionpkg/cicd/github/deployer_test.goUnit tests covering deployment triggering, status polling, error handling, and helper functions