Skip to content

Add Convener Approval ability and reject fastapi 0.109.0

Emir Muhammad requested to merge emmuhamm_convener_approval into main

Add optional ability for convener to directly approve request in MR

Tackles #31 (closed)

Looking forward, it might be much simpler for everyone involved if the conveners can sign a simulation request by taking advantage of GitLab's approval system. The convener can approve the request via GitLab approval, and when the request is submitted, the API can check that its been approved and then directly update the relevant request IDs with PPG OK.

As this is both a technical and a management challenge, this is currently an optional ability hidden behind some rather obscure flag, so that it can be safely tested while others can proceed as normal.

Method

On a push event:
  1. Liaison adds a Convener Approval tag to the required MR
  2. Liaison pushes any commit upstream
  3. LbAPI receives the webhook, checks if the Convener Approval exists. If it does not exist, continues as normal
  4. If Convener Approval exists, the API adds a new conveners rule in the MR, that will only allow merging when a convener approves it on GitLab. This is similar to how the Expert only label works.
On a merge event:
  1. When merged, the API will check if it is a simulation request and if the conveners rule exist. (Aprods not supported)
  2. If both are true, then API will update the request IDs to PPG OK

As its currently in the testing phase, this will use Chris Burr's credentials to sign the requests to PPG OK. When its fully tested, this will be swapped to using the first convener approval's credentials, which can be obtained from the GitLab API.

Reject fastapi 0.109.0

There was a starlette update to 0.36.0 that broke the CI in master, leaving this MR unable to be merged. A fix was found to just be downgrading the FastAPI version to the previous version. This was added in this merge request :)

Edited by Emir Muhammad

Merge request reports