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

Asynchronous management of a push request #428

Open
JamieSlome opened this issue Jan 29, 2024 · 0 comments
Open

Asynchronous management of a push request #428

JamieSlome opened this issue Jan 29, 2024 · 0 comments
Labels
protocol Everything related with the developer (git) experience

Comments

@JamieSlome
Copy link
Member

JamieSlome commented Jan 29, 2024

Is your feature request related to a problem? Please describe.

When a developer pushes new commits, they are required to subsequently re-push their code once it has received approval from the reviewer, i.e. the commit SHA has been marked as reviewed and approved, and subsequent pushes will result in forwarding the traffic directly to the upstream repository (i.e. GitHub, GitLab, Gitea etc.), instead of blocking it at the proxy layer.

Describe the solution you'd like

Unless a commit or set of commits pushed by the developer fails the "automated" synchronous tests (i.e. server-side push protections), the request should be forwarded to the upstream repository once it has received a review and approval, on behalf of the original developer that submitted the "push request". In simple terms, instead of requiring the developer to re-push, the server manages the initial push by:

  1. Send the request to an assessment service queue; i.e. push the payload to the assessment "lambdas",
  2. Send the request to a delivery service queue, i.e. forward the entire contents of the initial request to the upstream

In terms of security, we could encrypt the contents of the payload at the first stage (addToAssessmentQueue) and decrypt the payload once we are ready to forward the initial request to the upstream repository, at the Delivery Service.

Queue

Developer experience

Ideally, we don't want developers having to do more than a single push for a single commit or set of commits. This strays away from common git practice and is likely to confuse developers.

@JamieSlome JamieSlome added the protocol Everything related with the developer (git) experience label Jan 29, 2024
@JamieSlome JamieSlome changed the title Queue-based management of push request Asynchronous management of push request Jan 29, 2024
@JamieSlome JamieSlome changed the title Asynchronous management of push request Asynchronous management of a push request Jan 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
protocol Everything related with the developer (git) experience
Projects
None yet
Development

No branches or pull requests

1 participant