zuul/zuul
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
..
ansible Merge "Support emitting warnings via zuul_return" 2021-02-24 17:59:03 +00:00
cmd Use ZooKeeperClient.fromConfig in tests 2021-02-22 09:29:53 -08:00
connection Allow to reuse the code handling the branch cache 2020-11-10 03:23:07 +01:00
driver Allow refreshing volatile data in canMerge check 2021-03-01 18:45:02 +00:00
execution_context Add wrapper driver execution context 2017-08-18 16:35:12 -07:00
executor Merge "Defer setting build pause to event queue" 2021-02-27 00:37:11 +00:00
lib Add optional support for circular dependencies 2021-03-01 19:42:56 +01:00
manager Add optional support for circular dependencies 2021-03-01 19:42:56 +01:00
merger merger cat: remove self._update duplicates 2021-02-24 17:48:08 +01:00
reporter Add optional support for circular dependencies 2021-03-01 19:42:56 +01:00
source Allow refreshing volatile data in canMerge check 2021-03-01 18:45:02 +00:00
sphinx docs: remove zuuldocs domain 2020-08-04 16:10:09 +10:00
trigger Annotate logs in the zuul driver with event ids 2019-05-17 06:06:11 +02:00
web Use ZooKeeperClient.fromConfig in tests 2021-02-22 09:29:53 -08:00
zk Use ZooKeeperClient.fromConfig in tests 2021-02-22 09:29:53 -08:00
__init__.py Initial commit. 2012-05-29 14:49:32 -07:00
_setup_hook.py Revert "Revert "Create zuul/web/static on demand"" 2020-07-07 19:53:33 +02:00
change_matcher.py Match tag items against containing branches 2020-03-06 13:29:18 -08:00
configloader.py Add optional support for circular dependencies 2021-03-01 19:42:56 +01:00
exceptions.py web: add tenant and project scoped, JWT-protected actions 2019-07-10 12:11:14 +02:00
model.py Add optional support for circular dependencies 2021-03-01 19:42:56 +01:00
nodepool.py Prepare Zookeeper for scale-out scheduler 2021-02-15 14:44:18 +01:00
rpcclient.py Add client_id to RPC client 2020-01-28 10:16:19 +01:00
rpclistener.py Merge "Enhance logging of status_get requests" 2021-02-27 02:24:18 +00:00
scheduler.py Add optional support for circular dependencies 2021-03-01 19:42:56 +01:00
version.py Report git sha in status page version 2018-04-27 10:21:43 -07:00