zuul/zuul/driver/github
Simon Westphahl 29592c9531 Allow refreshing volatile data in canMerge check
On GitHub we cannot reliably update all information that's needed for
doing a canmerge check using events. Namely completely missing events
on branch protection changes and ambiguous status events that might
match several changes due to its data model to have statuses on the
commit instead the pr. This was no problem in the past since this
information was only used during the enqueue phase which is directly
after the event preprocessing phase.

However with circular dependencies we re-do the can merge check just
before merging again and need to act on recent data. Therefore add an
allow_refresh flag that makes it possible to refresh the volatile
parts of the data we don't get events for. This is only used on GitHub
for now as the other drivers are either correctly updating their
states using events or didn't yet optimize to not do api calls within
the main loop yet (pagure).

Change-Id: I89ff158642fe32c5004ef62c2e25399110564252
2021-03-01 18:45:02 +00:00
..
graphql Fetch can-merge info when updating a pull-request 2020-09-23 12:03:55 +02:00
__init__.py Status branch protection checking for github 2018-06-04 15:47:01 +02:00
githubconnection.py Allow refreshing volatile data in canMerge check 2021-03-01 18:45:02 +00:00
githubmodel.py Move driver specific change status field to driver 2020-09-23 10:04:41 +00:00
githubreporter.py Save superfluous api requests in check run reporting 2020-11-04 08:52:28 +01:00
githubsource.py Allow refreshing volatile data in canMerge check 2021-03-01 18:45:02 +00:00
githubtrigger.py Implement basic github checks API workflow 2020-02-19 13:31:49 +01:00