Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pull request (GitHub) promotion mechanism #640

Closed
jessesuen opened this issue Sep 5, 2023 · 3 comments · Fixed by #1274
Closed

Pull request (GitHub) promotion mechanism #640

jessesuen opened this issue Sep 5, 2023 · 3 comments · Fixed by #1274

Comments

@jessesuen
Copy link
Member

jessesuen commented Sep 5, 2023

Today, we support a git promotion, which will make a commit directly to a branch, followed by the Argo CD sync.

We need to support a promotion that goes through GitOps PR approvals. So instead of doing a direct git commit, the promotion would:

  1. Open a pull request against the branch
  2. Wait for that PR to be merged or rejected
  3. Fail the promotion if the PR was closed without merging
  4. Otherwise, once merged, perform Argo CD sync

To start, we will support GitHub, with support for other git providers later.

@krancour
Copy link
Member

krancour commented Sep 6, 2023

with support for other git providers later.

If we don't highly prioritize those other providers, this might be a really good area to enlist help from the community.

@jessesuen jessesuen removed this from the v0.1.0 milestone Sep 8, 2023
@jessesuen
Copy link
Member Author

@alexmt has questioned what it means for a promotion to be "long-lived". The PR use case is my rationale for the need for long-lived promotion. IMO, I think it's justification enough because the act of waiting for the PR to be merged, and syncing the app, is part of the overall promotion process. Also, with a fire-and-forget-based approach, I don't think we can effectively achieve the semantics of: only one promotion process should be happening at a time.

I think I am willing to cede that testing and analysis is something that probably should not be part of Promotion job (in favor of a more continuous approach), but I think the PR create + wait for merge is strong justification for a long-lived promotion job.

@alexmt - since you had ideas of something more event-driven (fire and forget). I will put the onus on you to describe how you propose the UX to be for the PR use case.

@krancour
Copy link
Member

@jessesuen assigned to you because I think you were already working on this. Correct me if I am wrong.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants