4c972f00bd
The canMerge check is executed whenever zuul tests if a change can enter a gate pipeline. This is part of the critical path in the event handling of the scheduler and therefore must be as fast as possible. Currently this takes five requests for doing its work and also transfers large amounts of data that is unneeded: * get pull request * get branch protection settings * get commits * get status of latest commit * get check runs of latest commit Especially when Github is busy this can slow down zuul's event processing considerably. This can be optimized using graphql to only query the data we need with a single request. This reduces requests and load on Github and speeds up event processing in the scheduler. Since this is the first usage of graphql this also sets up needed testing infrastructure using graphene to mock the github api with real test data. Change-Id: I77be4f16cf7eb5c8035ce0312f792f4e8d4c3e10
39 lines
759 B
Plaintext
39 lines
759 B
Plaintext
pbr>=1.1.0
|
|
# Early virtualenv 20 had bad file location assumptions
|
|
virtualenv!=20.0.0,!=20.0.1
|
|
|
|
github3.py>=1.1.0
|
|
PyYAML>=3.1.0
|
|
paramiko>=2.0.1
|
|
GitPython>=2.1.8,<3.0.0
|
|
python-daemon>=2.0.4,<2.1.0
|
|
extras
|
|
statsd>=3.0
|
|
voluptuous>=0.10.2
|
|
gear>=0.13.0,<1.0.0,!=0.15.0
|
|
apscheduler>=3.0
|
|
PrettyTable>=0.6,<0.8
|
|
babel>=1.0
|
|
netaddr
|
|
kazoo
|
|
sqlalchemy
|
|
alembic
|
|
cryptography>=1.6
|
|
cachecontrol
|
|
cachetools
|
|
pyjwt
|
|
iso8601
|
|
psutil
|
|
fb-re2>=1.0.6
|
|
paho-mqtt
|
|
cherrypy
|
|
ws4py
|
|
routes
|
|
pathspec
|
|
jsonpath-rw
|
|
urllib3!=1.25.4,!=1.25.5 # https://github.com/urllib3/urllib3/pull/1684
|
|
# TODO(tobiash): cheroot 8.1.0 introduced a regression when handling concurrent
|
|
# requests. Remove the following line when this issue is resolved:
|
|
# https://github.com/cherrypy/cheroot/issues/263
|
|
cheroot<8.1.0
|