Add Convener Approval ability and reject fastapi 0.109.0
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:
- Liaison adds a
Convener Approval
tag to the required MR - Liaison pushes any commit upstream
- LbAPI receives the webhook, checks if the
Convener Approval
exists. If it does not exist, continues as normal - If
Convener Approval
exists, the API adds a newconveners
rule in the MR, that will only allow merging when a convener approves it on GitLab. This is similar to how theExpert only
label works.
On a merge event:
- When merged, the API will check if it is a simulation request and if the
conveners
rule exist. (Aprods not supported) - 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 :)