buildgrid 0.2.51__tar.gz → 0.2.53__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. {buildgrid-0.2.51 → buildgrid-0.2.53}/PKG-INFO +1 -1
  2. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/scheduler/impl.py +21 -12
  3. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/version.py +1 -1
  4. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid.egg-info/PKG-INFO +1 -1
  5. {buildgrid-0.2.51 → buildgrid-0.2.53}/pyproject.toml +1 -1
  6. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/test_scheduler.py +36 -0
  7. {buildgrid-0.2.51 → buildgrid-0.2.53}/BuildGrid.doap +0 -0
  8. {buildgrid-0.2.51 → buildgrid-0.2.53}/CONTRIBUTING.rst +0 -0
  9. {buildgrid-0.2.51 → buildgrid-0.2.53}/LICENSE +0 -0
  10. {buildgrid-0.2.51 → buildgrid-0.2.53}/MANIFEST.in +0 -0
  11. {buildgrid-0.2.51 → buildgrid-0.2.53}/README.rst +0 -0
  12. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/__init__.py +0 -0
  13. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/__init__.py +0 -0
  14. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/__init__.py +0 -0
  15. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/__init__.py +0 -0
  16. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/__init__.py +0 -0
  17. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/asset/__init__.py +0 -0
  18. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/asset/v1/__init__.py +0 -0
  19. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py +0 -0
  20. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.pyi +0 -0
  21. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py +0 -0
  22. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.pyi +0 -0
  23. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc_aio.py +0 -0
  24. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc_aio.pyi +0 -0
  25. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/execution/__init__.py +0 -0
  26. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/execution/v2/__init__.py +0 -0
  27. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.py +0 -0
  28. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.pyi +0 -0
  29. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc.py +0 -0
  30. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc.pyi +0 -0
  31. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc_aio.py +0 -0
  32. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc_aio.pyi +0 -0
  33. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/logstream/__init__.py +0 -0
  34. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/logstream/v1/__init__.py +0 -0
  35. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/logstream/v1/remote_logstream_pb2.py +0 -0
  36. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/logstream/v1/remote_logstream_pb2.pyi +0 -0
  37. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/logstream/v1/remote_logstream_pb2_grpc.py +0 -0
  38. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/logstream/v1/remote_logstream_pb2_grpc.pyi +0 -0
  39. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/logstream/v1/remote_logstream_pb2_grpc_aio.py +0 -0
  40. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/remote/logstream/v1/remote_logstream_pb2_grpc_aio.pyi +0 -0
  41. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/semver/__init__.py +0 -0
  42. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/semver/semver_pb2.py +0 -0
  43. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/semver/semver_pb2.pyi +0 -0
  44. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/semver/semver_pb2_grpc.py +0 -0
  45. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/semver/semver_pb2_grpc.pyi +0 -0
  46. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/semver/semver_pb2_grpc_aio.py +0 -0
  47. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/bazel/semver/semver_pb2_grpc_aio.pyi +0 -0
  48. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildbox/__init__.py +0 -0
  49. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildbox/execution_stats_pb2.py +0 -0
  50. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildbox/execution_stats_pb2.pyi +0 -0
  51. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildbox/execution_stats_pb2_grpc.py +0 -0
  52. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildbox/execution_stats_pb2_grpc.pyi +0 -0
  53. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildbox/execution_stats_pb2_grpc_aio.py +0 -0
  54. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildbox/execution_stats_pb2_grpc_aio.pyi +0 -0
  55. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/__init__.py +0 -0
  56. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/identity_pb2.py +0 -0
  57. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/identity_pb2.pyi +0 -0
  58. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/identity_pb2_grpc.py +0 -0
  59. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/identity_pb2_grpc.pyi +0 -0
  60. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/identity_pb2_grpc_aio.py +0 -0
  61. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/identity_pb2_grpc_aio.pyi +0 -0
  62. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/introspection_pb2.py +0 -0
  63. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/introspection_pb2.pyi +0 -0
  64. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/introspection_pb2_grpc.py +0 -0
  65. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/introspection_pb2_grpc.pyi +0 -0
  66. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/introspection_pb2_grpc_aio.py +0 -0
  67. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/introspection_pb2_grpc_aio.pyi +0 -0
  68. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/messaging_pb2.py +0 -0
  69. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/messaging_pb2.pyi +0 -0
  70. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/messaging_pb2_grpc.py +0 -0
  71. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/messaging_pb2_grpc.pyi +0 -0
  72. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/messaging_pb2_grpc_aio.py +0 -0
  73. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/messaging_pb2_grpc_aio.pyi +0 -0
  74. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/monitoring_pb2.py +0 -0
  75. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/monitoring_pb2.pyi +0 -0
  76. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/monitoring_pb2_grpc.py +0 -0
  77. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/monitoring_pb2_grpc.pyi +0 -0
  78. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/monitoring_pb2_grpc_aio.py +0 -0
  79. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/monitoring_pb2_grpc_aio.pyi +0 -0
  80. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/query_build_events_pb2.py +0 -0
  81. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/query_build_events_pb2.pyi +0 -0
  82. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/query_build_events_pb2_grpc.py +0 -0
  83. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/query_build_events_pb2_grpc.pyi +0 -0
  84. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/query_build_events_pb2_grpc_aio.py +0 -0
  85. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/query_build_events_pb2_grpc_aio.pyi +0 -0
  86. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/quota_pb2.py +0 -0
  87. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/quota_pb2.pyi +0 -0
  88. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/quota_pb2_grpc.py +0 -0
  89. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/quota_pb2_grpc.pyi +0 -0
  90. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/quota_pb2_grpc_aio.py +0 -0
  91. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/quota_pb2_grpc_aio.pyi +0 -0
  92. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/scheduling_pb2.py +0 -0
  93. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/scheduling_pb2.pyi +0 -0
  94. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/scheduling_pb2_grpc.py +0 -0
  95. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/scheduling_pb2_grpc.pyi +0 -0
  96. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/scheduling_pb2_grpc_aio.py +0 -0
  97. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/build/buildgrid/scheduling_pb2_grpc_aio.pyi +0 -0
  98. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/__init__.py +0 -0
  99. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/__init__.py +0 -0
  100. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/annotations_pb2.py +0 -0
  101. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/annotations_pb2.pyi +0 -0
  102. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/annotations_pb2_grpc.py +0 -0
  103. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/annotations_pb2_grpc.pyi +0 -0
  104. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/annotations_pb2_grpc_aio.py +0 -0
  105. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/annotations_pb2_grpc_aio.pyi +0 -0
  106. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/client_pb2.py +0 -0
  107. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/client_pb2.pyi +0 -0
  108. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/client_pb2_grpc.py +0 -0
  109. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/client_pb2_grpc.pyi +0 -0
  110. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/client_pb2_grpc_aio.py +0 -0
  111. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/client_pb2_grpc_aio.pyi +0 -0
  112. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/field_behavior_pb2.py +0 -0
  113. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/field_behavior_pb2.pyi +0 -0
  114. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/field_behavior_pb2_grpc.py +0 -0
  115. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/field_behavior_pb2_grpc.pyi +0 -0
  116. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/field_behavior_pb2_grpc_aio.py +0 -0
  117. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/field_behavior_pb2_grpc_aio.pyi +0 -0
  118. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/http_pb2.py +0 -0
  119. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/http_pb2.pyi +0 -0
  120. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/http_pb2_grpc.py +0 -0
  121. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/http_pb2_grpc.pyi +0 -0
  122. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/http_pb2_grpc_aio.py +0 -0
  123. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/api/http_pb2_grpc_aio.pyi +0 -0
  124. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/bytestream/__init__.py +0 -0
  125. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/bytestream/bytestream_pb2.py +0 -0
  126. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/bytestream/bytestream_pb2.pyi +0 -0
  127. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/bytestream/bytestream_pb2_grpc.py +0 -0
  128. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/bytestream/bytestream_pb2_grpc.pyi +0 -0
  129. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/bytestream/bytestream_pb2_grpc_aio.py +0 -0
  130. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/bytestream/bytestream_pb2_grpc_aio.pyi +0 -0
  131. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/__init__.py +0 -0
  132. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/__init__.py +0 -0
  133. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/__init__.py +0 -0
  134. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/build_events_pb2.py +0 -0
  135. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/build_events_pb2.pyi +0 -0
  136. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/build_events_pb2_grpc.py +0 -0
  137. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/build_events_pb2_grpc.pyi +0 -0
  138. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/build_events_pb2_grpc_aio.py +0 -0
  139. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/build_events_pb2_grpc_aio.pyi +0 -0
  140. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/build_status_pb2.py +0 -0
  141. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/build_status_pb2.pyi +0 -0
  142. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/build_status_pb2_grpc.py +0 -0
  143. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/build_status_pb2_grpc.pyi +0 -0
  144. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/build_status_pb2_grpc_aio.py +0 -0
  145. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/build_status_pb2_grpc_aio.pyi +0 -0
  146. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/publish_build_event_pb2.py +0 -0
  147. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/publish_build_event_pb2.pyi +0 -0
  148. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/publish_build_event_pb2_grpc.py +0 -0
  149. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/publish_build_event_pb2_grpc.pyi +0 -0
  150. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/publish_build_event_pb2_grpc_aio.py +0 -0
  151. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/build/v1/publish_build_event_pb2_grpc_aio.pyi +0 -0
  152. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/__init__.py +0 -0
  153. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/__init__.py +0 -0
  154. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/bots_pb2.py +0 -0
  155. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/bots_pb2.pyi +0 -0
  156. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/bots_pb2_grpc.py +0 -0
  157. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/bots_pb2_grpc.pyi +0 -0
  158. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/bots_pb2_grpc_aio.py +0 -0
  159. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/bots_pb2_grpc_aio.pyi +0 -0
  160. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/command_pb2.py +0 -0
  161. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/command_pb2.pyi +0 -0
  162. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/command_pb2_grpc.py +0 -0
  163. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/command_pb2_grpc.pyi +0 -0
  164. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/command_pb2_grpc_aio.py +0 -0
  165. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/command_pb2_grpc_aio.pyi +0 -0
  166. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/tasks_pb2.py +0 -0
  167. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/tasks_pb2.pyi +0 -0
  168. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/tasks_pb2_grpc.py +0 -0
  169. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/tasks_pb2_grpc.pyi +0 -0
  170. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/tasks_pb2_grpc_aio.py +0 -0
  171. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/tasks_pb2_grpc_aio.pyi +0 -0
  172. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/worker_pb2.py +0 -0
  173. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/worker_pb2.pyi +0 -0
  174. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/worker_pb2_grpc.py +0 -0
  175. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/worker_pb2_grpc.pyi +0 -0
  176. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/worker_pb2_grpc_aio.py +0 -0
  177. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/worker_pb2_grpc_aio.pyi +0 -0
  178. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/longrunning/__init__.py +0 -0
  179. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/longrunning/operations_pb2.py +0 -0
  180. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/longrunning/operations_pb2.pyi +0 -0
  181. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/longrunning/operations_pb2_grpc.py +0 -0
  182. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/longrunning/operations_pb2_grpc.pyi +0 -0
  183. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/longrunning/operations_pb2_grpc_aio.py +0 -0
  184. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/longrunning/operations_pb2_grpc_aio.pyi +0 -0
  185. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/__init__.py +0 -0
  186. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/code_pb2.py +0 -0
  187. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/code_pb2.pyi +0 -0
  188. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/code_pb2_grpc.py +0 -0
  189. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/code_pb2_grpc.pyi +0 -0
  190. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/code_pb2_grpc_aio.py +0 -0
  191. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/code_pb2_grpc_aio.pyi +0 -0
  192. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/error_details_pb2.py +0 -0
  193. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/error_details_pb2.pyi +0 -0
  194. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/error_details_pb2_grpc.py +0 -0
  195. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/error_details_pb2_grpc.pyi +0 -0
  196. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/error_details_pb2_grpc_aio.py +0 -0
  197. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/error_details_pb2_grpc_aio.pyi +0 -0
  198. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/status_pb2.py +0 -0
  199. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/status_pb2.pyi +0 -0
  200. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/status_pb2_grpc.py +0 -0
  201. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/status_pb2_grpc.pyi +0 -0
  202. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/status_pb2_grpc_aio.py +0 -0
  203. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/_protos/google/rpc/status_pb2_grpc_aio.pyi +0 -0
  204. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/__init__.py +0 -0
  205. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/actioncache/__init__.py +0 -0
  206. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/actioncache/caches/__init__.py +0 -0
  207. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/actioncache/caches/action_cache_abc.py +0 -0
  208. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/actioncache/caches/lru_cache.py +0 -0
  209. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/actioncache/caches/mirrored_cache.py +0 -0
  210. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/actioncache/caches/redis_cache.py +0 -0
  211. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/actioncache/caches/remote_cache.py +0 -0
  212. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/actioncache/caches/s3_cache.py +0 -0
  213. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/actioncache/caches/sharded_cache.py +0 -0
  214. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/actioncache/caches/with_cache.py +0 -0
  215. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/actioncache/caches/write_once_cache.py +0 -0
  216. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/actioncache/instance.py +0 -0
  217. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/actioncache/service.py +0 -0
  218. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/__init__.py +0 -0
  219. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/cli.py +0 -0
  220. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/commands/__init__.py +0 -0
  221. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/commands/cmd_actioncache.py +0 -0
  222. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/commands/cmd_capabilities.py +0 -0
  223. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/commands/cmd_cas.py +0 -0
  224. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/commands/cmd_cleanup.py +0 -0
  225. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/commands/cmd_execute.py +0 -0
  226. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/commands/cmd_janitor.py +0 -0
  227. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/commands/cmd_logstream.py +0 -0
  228. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/commands/cmd_operation.py +0 -0
  229. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/commands/cmd_quota.py +0 -0
  230. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/commands/cmd_server.py +0 -0
  231. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/commands/rpc_utils.py +0 -0
  232. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/settings/__init__.py +0 -0
  233. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/settings/config.py +0 -0
  234. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/settings/mapper.py +0 -0
  235. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/settings/parser.py +0 -0
  236. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/settings/reference.yml +0 -0
  237. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/app/settings/schema.yml +0 -0
  238. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/auth/__init__.py +0 -0
  239. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/auth/config.py +0 -0
  240. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/auth/enums.py +0 -0
  241. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/auth/exceptions.py +0 -0
  242. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/auth/manager.py +0 -0
  243. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/bots/__init__.py +0 -0
  244. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/bots/instance.py +0 -0
  245. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/bots/service.py +0 -0
  246. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/build_events/__init__.py +0 -0
  247. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/build_events/service.py +0 -0
  248. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/build_events/storage.py +0 -0
  249. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/capabilities/__init__.py +0 -0
  250. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/capabilities/instance.py +0 -0
  251. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/capabilities/service.py +0 -0
  252. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/__init__.py +0 -0
  253. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/instance.py +0 -0
  254. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/service.py +0 -0
  255. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/__init__.py +0 -0
  256. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/disk.py +0 -0
  257. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/index/__init__.py +0 -0
  258. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/index/index_abc.py +0 -0
  259. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/index/redis.py +0 -0
  260. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/index/sql.py +0 -0
  261. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/index/sql_dialect_delegates/__init__.py +0 -0
  262. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/index/sql_dialect_delegates/postgresqldelegate.py +0 -0
  263. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/index/sql_dialect_delegates/sqlitedelegate.py +0 -0
  264. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/lru_memory_cache.py +0 -0
  265. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/redis.py +0 -0
  266. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/remote.py +0 -0
  267. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/replicated.py +0 -0
  268. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/s3.py +0 -0
  269. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/sharded.py +0 -0
  270. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/size_differentiated.py +0 -0
  271. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/sql.py +0 -0
  272. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/storage_abc.py +0 -0
  273. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cas/storage/with_cache.py +0 -0
  274. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cleanup/__init__.py +0 -0
  275. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cleanup/cleanup.py +0 -0
  276. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cleanup/janitor/__init__.py +0 -0
  277. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cleanup/janitor/config.py +0 -0
  278. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cleanup/janitor/index.py +0 -0
  279. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cleanup/janitor/s3.py +0 -0
  280. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cleanup/janitor/sql.py +0 -0
  281. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cleanup/janitor/types.py +0 -0
  282. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/cleanup/janitor/utils.py +0 -0
  283. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/client/__init__.py +0 -0
  284. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/client/actioncache.py +0 -0
  285. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/client/asset.py +0 -0
  286. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/client/auth_token_loader.py +0 -0
  287. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/client/authentication.py +0 -0
  288. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/client/capabilities.py +0 -0
  289. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/client/cas.py +0 -0
  290. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/client/channel.py +0 -0
  291. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/client/interceptors.py +0 -0
  292. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/client/logstream.py +0 -0
  293. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/client/quota.py +0 -0
  294. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/client/retrier.py +0 -0
  295. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/context.py +0 -0
  296. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/controller.py +0 -0
  297. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/decorators/__init__.py +0 -0
  298. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/decorators/authorize.py +0 -0
  299. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/decorators/errors.py +0 -0
  300. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/decorators/instance.py +0 -0
  301. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/decorators/io.py +0 -0
  302. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/decorators/limiter.py +0 -0
  303. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/decorators/metadata.py +0 -0
  304. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/decorators/requestid.py +0 -0
  305. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/decorators/rpc.py +0 -0
  306. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/decorators/time.py +0 -0
  307. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/enums.py +0 -0
  308. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/exceptions.py +0 -0
  309. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/execution/__init__.py +0 -0
  310. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/execution/instance.py +0 -0
  311. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/execution/service.py +0 -0
  312. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/introspection/__init__.py +0 -0
  313. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/introspection/instance.py +0 -0
  314. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/introspection/service.py +0 -0
  315. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/limiter.py +0 -0
  316. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/logging.py +0 -0
  317. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/metadata.py +0 -0
  318. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/metrics_names.py +0 -0
  319. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/metrics_tags.py +0 -0
  320. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/metrics_utils.py +0 -0
  321. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/monitoring.py +0 -0
  322. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/operations/__init__.py +0 -0
  323. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/operations/filtering/__init__.py +0 -0
  324. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/operations/filtering/filter.py +0 -0
  325. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/operations/filtering/filter_grammar.lark +0 -0
  326. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/operations/filtering/interpreter.py +0 -0
  327. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/operations/filtering/parser.py +0 -0
  328. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/operations/filtering/sanitizer.py +0 -0
  329. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/operations/instance.py +0 -0
  330. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/operations/service.py +0 -0
  331. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/quota/__init__.py +0 -0
  332. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/quota/service.py +0 -0
  333. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/redis/__init__.py +0 -0
  334. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/redis/provider.py +0 -0
  335. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/s3/__init__.py +0 -0
  336. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/s3/s3utils.py +0 -0
  337. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/scheduler/__init__.py +0 -0
  338. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/scheduler/assigner.py +0 -0
  339. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/scheduler/cohorts.py +0 -0
  340. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/scheduler/events.py +0 -0
  341. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/scheduler/notifier.py +0 -0
  342. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/scheduler/properties.py +0 -0
  343. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sentry.py +0 -0
  344. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/server.py +0 -0
  345. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/servicer.py +0 -0
  346. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/settings.py +0 -0
  347. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/__init__.py +0 -0
  348. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/README +0 -0
  349. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/env.py +0 -0
  350. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/script.py.mako +0 -0
  351. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/0596ea8f5c61_add_bot_locality_hints_table_and_.py +0 -0
  352. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/0c17a7cb2bc5_initial_database_state.py +0 -0
  353. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/12992085e81a_add_a_job_index_on_worker_name_and_.py +0 -0
  354. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/1f959c3834d3_drop_the_leases_table.py +0 -0
  355. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/22cc661efef9_add_instance_quotas_table.py +0 -0
  356. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/55acd9b4ec38_add_ix_jobs_property_label_stage.py +0 -0
  357. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/55fcf6c874d3_remove_request_metadata_from_operations.py +0 -0
  358. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/5745d1f0e537_drop_unused_indexes_and_create_.py +0 -0
  359. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/5b90ed0e9d0b_drop_ix_jobs_worker_name_stage.py +0 -0
  360. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/85096c931383_drop_ix_jobs_stage_property_label_and_.py +0 -0
  361. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/8fd7118e215e_add_instanced_job_scheduling_index.py +0 -0
  362. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/90bd87d052a0_add_an_audit_table_for_job_state_changes.py +0 -0
  363. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/910398062924_add_property_labels_table.py +0 -0
  364. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/9e7a59ee4370_add_bot_platform_capabilities_to_the_.py +0 -0
  365. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/9ecd996412a9_add_worker_name_to_jobs_table.py +0 -0
  366. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/b3b9d7300155_add_capacity_to_bots.py +0 -0
  367. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/bde0df23383b_add_cohort_to_bots.py +0 -0
  368. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/d850621a10d8_add_assigner_name_to_jobs.py +0 -0
  369. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/alembic/versions/fb8afebee8e6_add_ix_jobs_worker_name_stage.py +0 -0
  370. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/models.py +0 -0
  371. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/provider.py +0 -0
  372. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/sql/utils.py +0 -0
  373. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/threading.py +0 -0
  374. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/types.py +0 -0
  375. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/utils/__init__.py +0 -0
  376. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/utils/async_lru_cache.py +0 -0
  377. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/utils/bots.py +0 -0
  378. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/utils/cancellation.py +0 -0
  379. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid/server/utils/digests.py +0 -0
  380. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid.egg-info/SOURCES.txt +0 -0
  381. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid.egg-info/dependency_links.txt +0 -0
  382. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid.egg-info/entry_points.txt +0 -0
  383. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid.egg-info/requires.txt +0 -0
  384. {buildgrid-0.2.51 → buildgrid-0.2.53}/buildgrid.egg-info/top_level.txt +0 -0
  385. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/all-in-one.yml +0 -0
  386. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/artifacts.yml +0 -0
  387. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/bots-interface.yml +0 -0
  388. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/cache.yml +0 -0
  389. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/controller.yml +0 -0
  390. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/default.yml +0 -0
  391. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/logstream.yml +0 -0
  392. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/monitoring-controller.yml +0 -0
  393. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/multi-container.yml +0 -0
  394. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/multi-layer-storage.yml +0 -0
  395. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/redis-cache.yml +0 -0
  396. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/s3-indexed-cas.yml +0 -0
  397. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/storage-redis.yml +0 -0
  398. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/storage-s3.yml +0 -0
  399. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/storage.yml +0 -0
  400. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/with-metering.yml +0 -0
  401. {buildgrid-0.2.51 → buildgrid-0.2.53}/data/config/with-pgbouncer.yml +0 -0
  402. {buildgrid-0.2.51 → buildgrid-0.2.53}/docs/Makefile +0 -0
  403. {buildgrid-0.2.51 → buildgrid-0.2.53}/docs/source/data/basic-disk-cas.yml +0 -0
  404. {buildgrid-0.2.51 → buildgrid-0.2.53}/docs/source/data/bazel-example-server.yml +0 -0
  405. {buildgrid-0.2.51 → buildgrid-0.2.53}/docs/source/data/buildstream-example-server.yml +0 -0
  406. {buildgrid-0.2.51 → buildgrid-0.2.53}/docs/source/data/cas-and-ac.yml +0 -0
  407. {buildgrid-0.2.51 → buildgrid-0.2.53}/docs/source/data/cas-example-server.yml +0 -0
  408. {buildgrid-0.2.51 → buildgrid-0.2.53}/docs/source/data/execution-and-bots.yml +0 -0
  409. {buildgrid-0.2.51 → buildgrid-0.2.53}/docs/source/data/postgresql-index-cas-only.yml +0 -0
  410. {buildgrid-0.2.51 → buildgrid-0.2.53}/docs/source/index.rst +0 -0
  411. {buildgrid-0.2.51 → buildgrid-0.2.53}/setup.cfg +0 -0
  412. {buildgrid-0.2.51 → buildgrid-0.2.53}/setup.py +0 -0
  413. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/auth/data/auth.yaml +0 -0
  414. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/auth/data/jwks-valid.json +0 -0
  415. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/auth/data/jwt-hs256-conflicting.secret +0 -0
  416. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/auth/data/jwt-hs256-expired.token +0 -0
  417. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/auth/data/jwt-hs256-matching.secret +0 -0
  418. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/auth/data/jwt-hs256-unbounded.token +0 -0
  419. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/auth/data/jwt-hs256-valid.token +0 -0
  420. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/auth/data/jwt-rs256-conflicting.pub.key +0 -0
  421. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/auth/data/jwt-rs256-expired.token +0 -0
  422. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/auth/data/jwt-rs256-jwk-encrypted.token +0 -0
  423. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/auth/data/jwt-rs256-matching.priv.key +0 -0
  424. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/auth/data/jwt-rs256-matching.pub.key +0 -0
  425. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/auth/data/jwt-rs256-unbounded.token +0 -0
  426. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/auth/data/jwt-rs256-valid.token +0 -0
  427. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/test_async_lru_cache.py +0 -0
  428. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/test_example_configs.py +0 -0
  429. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/test_execution_instance.py +0 -0
  430. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/test_instance_pools.py +0 -0
  431. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/test_job_assigner.py +0 -0
  432. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/test_limiter.py +0 -0
  433. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/test_logging.py +0 -0
  434. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/test_metrics_tags.py +0 -0
  435. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/test_metrics_utils.py +0 -0
  436. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/test_mirrored_cache.py +0 -0
  437. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/test_request_metadata_utils.py +0 -0
  438. {buildgrid-0.2.51 → buildgrid-0.2.53}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: buildgrid
3
- Version: 0.2.51
3
+ Version: 0.2.53
4
4
  Summary: A remote execution service
5
5
  License: Apache License, Version 2.0
6
6
  Project-URL: Homepage, https://buildgrid.build
@@ -1048,7 +1048,7 @@ class Scheduler:
1048
1048
  BotEntry.name.ilike(f"%{name_filter}%"),
1049
1049
  BotEntry.bot_id.ilike(f"%{name_filter}%"),
1050
1050
  ),
1051
- BotEntry.instance_name == current_instance(),
1051
+ self._bot_in_instance_pool(),
1052
1052
  )
1053
1053
  stmt = stmt.order_by(BotEntry.bot_id)
1054
1054
 
@@ -1949,7 +1949,9 @@ class Scheduler:
1949
1949
  )
1950
1950
 
1951
1951
  @timed(METRIC.SCHEDULER.ASSIGNMENT_DURATION)
1952
- def _fetch_job_for_bot(self, session: Session, bot: BotEntry, log_tags: Tags) -> JobEntry | None:
1952
+ def _fetch_job_for_bot(
1953
+ self, session: Session, bot: BotEntry, usage_diffs: InstanceQuotaUsageDiffs, log_tags: Tags
1954
+ ) -> JobEntry | None:
1953
1955
  # Attempt to fetch a new job for a bot to work on.
1954
1956
  # This can help if there are usually more jobs available than bots.
1955
1957
 
@@ -1959,15 +1961,22 @@ class Scheduler:
1959
1961
  if bot.instance_name != "*":
1960
1962
  job_statement = job_statement.where(self._job_in_instance_pool())
1961
1963
 
1962
- # Prioritize instance where usage <= max_quota - bot.capacity
1963
- # `- bot.capacity` to avoid over-assigning jobs to bots when nearing quota limits
1964
- instances_query = select(InstanceQuota.instance_name).where(
1965
- InstanceQuota.bot_cohort == bot.cohort,
1966
- InstanceQuota.current_usage <= InstanceQuota.max_quota - bot.capacity,
1967
- )
1968
- instances = session.execute(instances_query).scalars().all()
1969
- if instances:
1970
- job_statement = job_statement.where(JobEntry.instance_name.in_(instances))
1964
+ if bot.cohort:
1965
+ # Prioritize instance where usage <= max_quota - bot.capacity
1966
+ # `- bot.capacity` to avoid over-assigning jobs to bots when nearing quota limits
1967
+ instances_query = select(InstanceQuota.instance_name).where(
1968
+ InstanceQuota.bot_cohort == bot.cohort,
1969
+ InstanceQuota.current_usage <= InstanceQuota.max_quota - bot.capacity,
1970
+ )
1971
+ instances: set[str] = set()
1972
+ instances.update(session.execute(instances_query).scalars().all())
1973
+ # Always allow scheduling more jobs of an instance if we're returning usage
1974
+ instances.update(
1975
+ {instance for (cohort, instance), diff in usage_diffs.items() if cohort == bot.cohort and diff < 0}
1976
+ )
1977
+
1978
+ if instances:
1979
+ job_statement = job_statement.where(JobEntry.instance_name.in_(instances))
1971
1980
 
1972
1981
  if next_job := session.execute(job_statement).scalar_one_or_none():
1973
1982
  log_tags["db.next_job_name"] = next_job.name
@@ -2321,7 +2330,7 @@ class Scheduler:
2321
2330
 
2322
2331
  for _ in range(fetch_limit):
2323
2332
  # Try to fill up the newly free capacity with new jobs.
2324
- if new_job := self._fetch_job_for_bot(session, bot, log_tags):
2333
+ if new_job := self._fetch_job_for_bot(session, bot, usage_diffs, log_tags):
2325
2334
  if bot.cohort:
2326
2335
  usage_diffs[(bot.cohort, new_job.instance_name)] += 1
2327
2336
  synchronized_leases.append(new_job.to_lease_proto())
@@ -13,4 +13,4 @@
13
13
  # limitations under the License.
14
14
 
15
15
 
16
- __version__ = "0.2.51"
16
+ __version__ = "0.2.53"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: buildgrid
3
- Version: 0.2.51
3
+ Version: 0.2.53
4
4
  Summary: A remote execution service
5
5
  License: Apache License, Version 2.0
6
6
  Project-URL: Homepage, https://buildgrid.build
@@ -21,7 +21,7 @@ build-backend = 'setuptools.build_meta'
21
21
 
22
22
  [project]
23
23
  name = "buildgrid"
24
- version = "0.2.51"
24
+ version = "0.2.53"
25
25
  requires-python = ">=3.11"
26
26
  description = "A remote execution service"
27
27
  readme = "README.rst"
@@ -1341,6 +1341,42 @@ def test_bot_proactively_fetch(controller_postgres):
1341
1341
  assert jobs[1].worker_name == bot_id
1342
1342
 
1343
1343
 
1344
+ def test_bot_proactively_fetch_near_max_quota(controller_postgres):
1345
+ scheduler: Scheduler = controller_postgres.execution_instance.scheduler
1346
+ # Create quota configs for two instances, allowing only 1 concurrent job each
1347
+ scheduler.put_instance_quota("sql", "linux", 1, 1)
1348
+ scheduler.put_instance_quota("other", "linux", 1, 1)
1349
+
1350
+ # Enqueue 2 jobs
1351
+ bot_name, bot_id, _, _ = mock_queue_job_action(scheduler, do_not_cache=True, skip_cache_lookup=True, assign=False)
1352
+ _ = mock_queue_job_action(scheduler, do_not_cache=True, skip_cache_lookup=True, assign=False)
1353
+ scheduler.assign_job_by_priority() # successful
1354
+ scheduler.assign_job_by_priority(failure_backoff=60) # failure, adding `schedule_after`
1355
+
1356
+ leases = scheduler.synchronize_bot_leases(bot_name, bot_id, BotStatus.OK.value, [])
1357
+ assert len(leases) == 1
1358
+ leases[0].state = LeaseState.COMPLETED.value
1359
+ leases = scheduler.synchronize_bot_leases(bot_name, bot_id, BotStatus.OK.value, leases)
1360
+ assert len(leases)
1361
+
1362
+ with scheduler._sql.session() as session:
1363
+ jobs = session.execute(select(JobEntry)).scalars().all()
1364
+ assert len(jobs) == 2
1365
+ assert jobs[0].stage == OperationStage.COMPLETED.value
1366
+ # Assert that the second job is scheduled
1367
+ assert jobs[1].assigned
1368
+ assert jobs[1].worker_name == bot_id
1369
+
1370
+ # Assert that the bot has no more capacity to fetch more jobs
1371
+ bot_entry = session.execute(select(BotEntry).where(BotEntry.name == bot_name)).scalar_one()
1372
+ assert bot_entry.capacity == 0
1373
+
1374
+ # Check usage is recorded correctly
1375
+ usage = scheduler.get_instance_quota("sql", "linux")
1376
+ assert usage is not None
1377
+ assert usage.current_usage == 1
1378
+
1379
+
1344
1380
  def test_schedule_by_instances(controller_postgres):
1345
1381
  scheduler: Scheduler = controller_postgres.execution_instance.scheduler
1346
1382
 
File without changes
File without changes
File without changes
File without changes
File without changes