buildgrid 0.3.4__tar.gz → 0.3.5__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 (437) hide show
  1. {buildgrid-0.3.4 → buildgrid-0.3.5}/PKG-INFO +1 -1
  2. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/bots/service.py +12 -3
  3. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/scheduler/impl.py +30 -38
  4. buildgrid-0.3.5/buildgrid/server/sql/alembic/versions/ff09fbc30c3e_add_bots_version.py +47 -0
  5. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/models.py +1 -0
  6. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/provider.py +6 -1
  7. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/version.py +1 -1
  8. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid.egg-info/PKG-INFO +1 -1
  9. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid.egg-info/SOURCES.txt +1 -0
  10. {buildgrid-0.3.4 → buildgrid-0.3.5}/pyproject.toml +1 -1
  11. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/test_scheduler.py +113 -84
  12. {buildgrid-0.3.4 → buildgrid-0.3.5}/BuildGrid.doap +0 -0
  13. {buildgrid-0.3.4 → buildgrid-0.3.5}/CONTRIBUTING.rst +0 -0
  14. {buildgrid-0.3.4 → buildgrid-0.3.5}/LICENSE +0 -0
  15. {buildgrid-0.3.4 → buildgrid-0.3.5}/MANIFEST.in +0 -0
  16. {buildgrid-0.3.4 → buildgrid-0.3.5}/README.rst +0 -0
  17. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/__init__.py +0 -0
  18. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/__init__.py +0 -0
  19. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/__init__.py +0 -0
  20. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/__init__.py +0 -0
  21. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/__init__.py +0 -0
  22. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/asset/__init__.py +0 -0
  23. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/asset/v1/__init__.py +0 -0
  24. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py +0 -0
  25. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.pyi +0 -0
  26. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py +0 -0
  27. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.pyi +0 -0
  28. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc_aio.py +0 -0
  29. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc_aio.pyi +0 -0
  30. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/execution/__init__.py +0 -0
  31. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/execution/v2/__init__.py +0 -0
  32. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.py +0 -0
  33. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.pyi +0 -0
  34. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc.py +0 -0
  35. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc.pyi +0 -0
  36. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc_aio.py +0 -0
  37. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc_aio.pyi +0 -0
  38. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/logstream/__init__.py +0 -0
  39. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/logstream/v1/__init__.py +0 -0
  40. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/logstream/v1/remote_logstream_pb2.py +0 -0
  41. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/logstream/v1/remote_logstream_pb2.pyi +0 -0
  42. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/logstream/v1/remote_logstream_pb2_grpc.py +0 -0
  43. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/logstream/v1/remote_logstream_pb2_grpc.pyi +0 -0
  44. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/logstream/v1/remote_logstream_pb2_grpc_aio.py +0 -0
  45. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/remote/logstream/v1/remote_logstream_pb2_grpc_aio.pyi +0 -0
  46. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/semver/__init__.py +0 -0
  47. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/semver/semver_pb2.py +0 -0
  48. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/semver/semver_pb2.pyi +0 -0
  49. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/semver/semver_pb2_grpc.py +0 -0
  50. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/semver/semver_pb2_grpc.pyi +0 -0
  51. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/semver/semver_pb2_grpc_aio.py +0 -0
  52. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/bazel/semver/semver_pb2_grpc_aio.pyi +0 -0
  53. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildbox/__init__.py +0 -0
  54. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildbox/execution_stats_pb2.py +0 -0
  55. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildbox/execution_stats_pb2.pyi +0 -0
  56. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildbox/execution_stats_pb2_grpc.py +0 -0
  57. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildbox/execution_stats_pb2_grpc.pyi +0 -0
  58. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildbox/execution_stats_pb2_grpc_aio.py +0 -0
  59. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildbox/execution_stats_pb2_grpc_aio.pyi +0 -0
  60. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/__init__.py +0 -0
  61. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/identity_pb2.py +0 -0
  62. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/identity_pb2.pyi +0 -0
  63. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/identity_pb2_grpc.py +0 -0
  64. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/identity_pb2_grpc.pyi +0 -0
  65. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/identity_pb2_grpc_aio.py +0 -0
  66. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/identity_pb2_grpc_aio.pyi +0 -0
  67. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/introspection_pb2.py +0 -0
  68. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/introspection_pb2.pyi +0 -0
  69. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/introspection_pb2_grpc.py +0 -0
  70. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/introspection_pb2_grpc.pyi +0 -0
  71. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/introspection_pb2_grpc_aio.py +0 -0
  72. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/introspection_pb2_grpc_aio.pyi +0 -0
  73. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/messaging_pb2.py +0 -0
  74. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/messaging_pb2.pyi +0 -0
  75. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/messaging_pb2_grpc.py +0 -0
  76. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/messaging_pb2_grpc.pyi +0 -0
  77. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/messaging_pb2_grpc_aio.py +0 -0
  78. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/messaging_pb2_grpc_aio.pyi +0 -0
  79. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/monitoring_pb2.py +0 -0
  80. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/monitoring_pb2.pyi +0 -0
  81. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/monitoring_pb2_grpc.py +0 -0
  82. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/monitoring_pb2_grpc.pyi +0 -0
  83. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/monitoring_pb2_grpc_aio.py +0 -0
  84. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/monitoring_pb2_grpc_aio.pyi +0 -0
  85. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/query_build_events_pb2.py +0 -0
  86. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/query_build_events_pb2.pyi +0 -0
  87. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/query_build_events_pb2_grpc.py +0 -0
  88. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/query_build_events_pb2_grpc.pyi +0 -0
  89. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/query_build_events_pb2_grpc_aio.py +0 -0
  90. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/query_build_events_pb2_grpc_aio.pyi +0 -0
  91. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/quota_pb2.py +0 -0
  92. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/quota_pb2.pyi +0 -0
  93. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/quota_pb2_grpc.py +0 -0
  94. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/quota_pb2_grpc.pyi +0 -0
  95. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/quota_pb2_grpc_aio.py +0 -0
  96. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/quota_pb2_grpc_aio.pyi +0 -0
  97. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/scheduling_pb2.py +0 -0
  98. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/scheduling_pb2.pyi +0 -0
  99. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/scheduling_pb2_grpc.py +0 -0
  100. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/scheduling_pb2_grpc.pyi +0 -0
  101. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/scheduling_pb2_grpc_aio.py +0 -0
  102. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/build/buildgrid/scheduling_pb2_grpc_aio.pyi +0 -0
  103. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/__init__.py +0 -0
  104. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/__init__.py +0 -0
  105. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/annotations_pb2.py +0 -0
  106. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/annotations_pb2.pyi +0 -0
  107. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/annotations_pb2_grpc.py +0 -0
  108. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/annotations_pb2_grpc.pyi +0 -0
  109. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/annotations_pb2_grpc_aio.py +0 -0
  110. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/annotations_pb2_grpc_aio.pyi +0 -0
  111. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/client_pb2.py +0 -0
  112. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/client_pb2.pyi +0 -0
  113. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/client_pb2_grpc.py +0 -0
  114. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/client_pb2_grpc.pyi +0 -0
  115. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/client_pb2_grpc_aio.py +0 -0
  116. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/client_pb2_grpc_aio.pyi +0 -0
  117. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/field_behavior_pb2.py +0 -0
  118. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/field_behavior_pb2.pyi +0 -0
  119. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/field_behavior_pb2_grpc.py +0 -0
  120. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/field_behavior_pb2_grpc.pyi +0 -0
  121. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/field_behavior_pb2_grpc_aio.py +0 -0
  122. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/field_behavior_pb2_grpc_aio.pyi +0 -0
  123. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/http_pb2.py +0 -0
  124. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/http_pb2.pyi +0 -0
  125. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/http_pb2_grpc.py +0 -0
  126. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/http_pb2_grpc.pyi +0 -0
  127. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/http_pb2_grpc_aio.py +0 -0
  128. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/api/http_pb2_grpc_aio.pyi +0 -0
  129. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/bytestream/__init__.py +0 -0
  130. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/bytestream/bytestream_pb2.py +0 -0
  131. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/bytestream/bytestream_pb2.pyi +0 -0
  132. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/bytestream/bytestream_pb2_grpc.py +0 -0
  133. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/bytestream/bytestream_pb2_grpc.pyi +0 -0
  134. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/bytestream/bytestream_pb2_grpc_aio.py +0 -0
  135. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/bytestream/bytestream_pb2_grpc_aio.pyi +0 -0
  136. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/__init__.py +0 -0
  137. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/__init__.py +0 -0
  138. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/__init__.py +0 -0
  139. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/build_events_pb2.py +0 -0
  140. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/build_events_pb2.pyi +0 -0
  141. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/build_events_pb2_grpc.py +0 -0
  142. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/build_events_pb2_grpc.pyi +0 -0
  143. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/build_events_pb2_grpc_aio.py +0 -0
  144. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/build_events_pb2_grpc_aio.pyi +0 -0
  145. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/build_status_pb2.py +0 -0
  146. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/build_status_pb2.pyi +0 -0
  147. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/build_status_pb2_grpc.py +0 -0
  148. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/build_status_pb2_grpc.pyi +0 -0
  149. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/build_status_pb2_grpc_aio.py +0 -0
  150. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/build_status_pb2_grpc_aio.pyi +0 -0
  151. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/publish_build_event_pb2.py +0 -0
  152. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/publish_build_event_pb2.pyi +0 -0
  153. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/publish_build_event_pb2_grpc.py +0 -0
  154. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/publish_build_event_pb2_grpc.pyi +0 -0
  155. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/publish_build_event_pb2_grpc_aio.py +0 -0
  156. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/build/v1/publish_build_event_pb2_grpc_aio.pyi +0 -0
  157. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/__init__.py +0 -0
  158. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/__init__.py +0 -0
  159. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/bots_pb2.py +0 -0
  160. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/bots_pb2.pyi +0 -0
  161. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/bots_pb2_grpc.py +0 -0
  162. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/bots_pb2_grpc.pyi +0 -0
  163. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/bots_pb2_grpc_aio.py +0 -0
  164. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/bots_pb2_grpc_aio.pyi +0 -0
  165. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/command_pb2.py +0 -0
  166. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/command_pb2.pyi +0 -0
  167. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/command_pb2_grpc.py +0 -0
  168. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/command_pb2_grpc.pyi +0 -0
  169. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/command_pb2_grpc_aio.py +0 -0
  170. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/command_pb2_grpc_aio.pyi +0 -0
  171. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/tasks_pb2.py +0 -0
  172. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/tasks_pb2.pyi +0 -0
  173. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/tasks_pb2_grpc.py +0 -0
  174. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/tasks_pb2_grpc.pyi +0 -0
  175. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/tasks_pb2_grpc_aio.py +0 -0
  176. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/tasks_pb2_grpc_aio.pyi +0 -0
  177. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/worker_pb2.py +0 -0
  178. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/worker_pb2.pyi +0 -0
  179. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/worker_pb2_grpc.py +0 -0
  180. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/worker_pb2_grpc.pyi +0 -0
  181. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/worker_pb2_grpc_aio.py +0 -0
  182. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/devtools/remoteworkers/v1test2/worker_pb2_grpc_aio.pyi +0 -0
  183. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/longrunning/__init__.py +0 -0
  184. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/longrunning/operations_pb2.py +0 -0
  185. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/longrunning/operations_pb2.pyi +0 -0
  186. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/longrunning/operations_pb2_grpc.py +0 -0
  187. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/longrunning/operations_pb2_grpc.pyi +0 -0
  188. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/longrunning/operations_pb2_grpc_aio.py +0 -0
  189. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/longrunning/operations_pb2_grpc_aio.pyi +0 -0
  190. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/__init__.py +0 -0
  191. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/code_pb2.py +0 -0
  192. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/code_pb2.pyi +0 -0
  193. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/code_pb2_grpc.py +0 -0
  194. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/code_pb2_grpc.pyi +0 -0
  195. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/code_pb2_grpc_aio.py +0 -0
  196. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/code_pb2_grpc_aio.pyi +0 -0
  197. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/error_details_pb2.py +0 -0
  198. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/error_details_pb2.pyi +0 -0
  199. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/error_details_pb2_grpc.py +0 -0
  200. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/error_details_pb2_grpc.pyi +0 -0
  201. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/error_details_pb2_grpc_aio.py +0 -0
  202. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/error_details_pb2_grpc_aio.pyi +0 -0
  203. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/status_pb2.py +0 -0
  204. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/status_pb2.pyi +0 -0
  205. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/status_pb2_grpc.py +0 -0
  206. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/status_pb2_grpc.pyi +0 -0
  207. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/status_pb2_grpc_aio.py +0 -0
  208. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/_protos/google/rpc/status_pb2_grpc_aio.pyi +0 -0
  209. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/__init__.py +0 -0
  210. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/actioncache/__init__.py +0 -0
  211. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/actioncache/caches/__init__.py +0 -0
  212. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/actioncache/caches/action_cache_abc.py +0 -0
  213. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/actioncache/caches/lru_cache.py +0 -0
  214. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/actioncache/caches/mirrored_cache.py +0 -0
  215. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/actioncache/caches/redis_cache.py +0 -0
  216. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/actioncache/caches/remote_cache.py +0 -0
  217. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/actioncache/caches/s3_cache.py +0 -0
  218. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/actioncache/caches/sharded_cache.py +0 -0
  219. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/actioncache/caches/with_cache.py +0 -0
  220. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/actioncache/caches/write_once_cache.py +0 -0
  221. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/actioncache/instance.py +0 -0
  222. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/actioncache/service.py +0 -0
  223. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/__init__.py +0 -0
  224. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/cli.py +0 -0
  225. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/commands/__init__.py +0 -0
  226. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/commands/cmd_actioncache.py +0 -0
  227. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/commands/cmd_capabilities.py +0 -0
  228. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/commands/cmd_cas.py +0 -0
  229. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/commands/cmd_cleanup.py +0 -0
  230. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/commands/cmd_execute.py +0 -0
  231. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/commands/cmd_janitor.py +0 -0
  232. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/commands/cmd_logstream.py +0 -0
  233. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/commands/cmd_operation.py +0 -0
  234. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/commands/cmd_quota.py +0 -0
  235. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/commands/cmd_server.py +0 -0
  236. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/commands/rpc_utils.py +0 -0
  237. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/settings/__init__.py +0 -0
  238. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/settings/config.py +0 -0
  239. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/settings/mapper.py +0 -0
  240. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/settings/parser.py +0 -0
  241. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/settings/reference.yml +0 -0
  242. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/app/settings/schema.yml +0 -0
  243. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/auth/__init__.py +0 -0
  244. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/auth/config.py +0 -0
  245. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/auth/enums.py +0 -0
  246. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/auth/exceptions.py +0 -0
  247. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/auth/manager.py +0 -0
  248. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/bots/__init__.py +0 -0
  249. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/bots/instance.py +0 -0
  250. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/build_events/__init__.py +0 -0
  251. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/build_events/service.py +0 -0
  252. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/build_events/storage.py +0 -0
  253. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/capabilities/__init__.py +0 -0
  254. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/capabilities/instance.py +0 -0
  255. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/capabilities/service.py +0 -0
  256. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/__init__.py +0 -0
  257. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/instance.py +0 -0
  258. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/service.py +0 -0
  259. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/__init__.py +0 -0
  260. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/disk.py +0 -0
  261. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/index/__init__.py +0 -0
  262. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/index/index_abc.py +0 -0
  263. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/index/redis.py +0 -0
  264. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/index/sql.py +0 -0
  265. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/lru_memory_cache.py +0 -0
  266. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/redis.py +0 -0
  267. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/remote.py +0 -0
  268. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/replicated.py +0 -0
  269. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/s3.py +0 -0
  270. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/sharded.py +0 -0
  271. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/size_differentiated.py +0 -0
  272. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/sql.py +0 -0
  273. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/storage_abc.py +0 -0
  274. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cas/storage/with_cache.py +0 -0
  275. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cleanup/__init__.py +0 -0
  276. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cleanup/cleanup.py +0 -0
  277. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cleanup/janitor/__init__.py +0 -0
  278. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cleanup/janitor/config.py +0 -0
  279. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cleanup/janitor/index.py +0 -0
  280. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cleanup/janitor/s3.py +0 -0
  281. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cleanup/janitor/sql.py +0 -0
  282. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cleanup/janitor/types.py +0 -0
  283. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/cleanup/janitor/utils.py +0 -0
  284. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/client/__init__.py +0 -0
  285. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/client/actioncache.py +0 -0
  286. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/client/asset.py +0 -0
  287. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/client/auth_token_loader.py +0 -0
  288. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/client/authentication.py +0 -0
  289. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/client/capabilities.py +0 -0
  290. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/client/cas.py +0 -0
  291. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/client/channel.py +0 -0
  292. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/client/interceptors.py +0 -0
  293. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/client/logstream.py +0 -0
  294. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/client/quota.py +0 -0
  295. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/client/retrier.py +0 -0
  296. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/context.py +0 -0
  297. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/controller.py +0 -0
  298. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/decorators/__init__.py +0 -0
  299. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/decorators/authorize.py +0 -0
  300. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/decorators/errors.py +0 -0
  301. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/decorators/instance.py +0 -0
  302. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/decorators/io.py +0 -0
  303. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/decorators/limiter.py +0 -0
  304. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/decorators/metadata.py +0 -0
  305. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/decorators/requestid.py +0 -0
  306. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/decorators/rpc.py +0 -0
  307. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/decorators/time.py +0 -0
  308. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/enums.py +0 -0
  309. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/exceptions.py +0 -0
  310. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/execution/__init__.py +0 -0
  311. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/execution/instance.py +0 -0
  312. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/execution/service.py +0 -0
  313. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/introspection/__init__.py +0 -0
  314. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/introspection/instance.py +0 -0
  315. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/introspection/service.py +0 -0
  316. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/limiter.py +0 -0
  317. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/logging.py +0 -0
  318. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/metadata.py +0 -0
  319. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/metrics_names.py +0 -0
  320. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/metrics_tags.py +0 -0
  321. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/metrics_utils.py +0 -0
  322. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/monitoring.py +0 -0
  323. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/operations/__init__.py +0 -0
  324. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/operations/filtering/__init__.py +0 -0
  325. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/operations/filtering/filter.py +0 -0
  326. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/operations/filtering/filter_grammar.lark +0 -0
  327. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/operations/filtering/interpreter.py +0 -0
  328. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/operations/filtering/parser.py +0 -0
  329. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/operations/filtering/sanitizer.py +0 -0
  330. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/operations/instance.py +0 -0
  331. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/operations/service.py +0 -0
  332. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/quota/__init__.py +0 -0
  333. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/quota/service.py +0 -0
  334. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/redis/__init__.py +0 -0
  335. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/redis/provider.py +0 -0
  336. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/s3/__init__.py +0 -0
  337. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/s3/s3utils.py +0 -0
  338. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/scheduler/__init__.py +0 -0
  339. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/scheduler/assigner.py +0 -0
  340. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/scheduler/cohorts.py +0 -0
  341. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/scheduler/events.py +0 -0
  342. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/scheduler/notifier.py +0 -0
  343. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/scheduler/properties.py +0 -0
  344. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sentry.py +0 -0
  345. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/server.py +0 -0
  346. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/servicer.py +0 -0
  347. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/settings.py +0 -0
  348. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/__init__.py +0 -0
  349. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/README +0 -0
  350. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/env.py +0 -0
  351. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/script.py.mako +0 -0
  352. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/0596ea8f5c61_add_bot_locality_hints_table_and_.py +0 -0
  353. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/0c17a7cb2bc5_initial_database_state.py +0 -0
  354. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/12992085e81a_add_a_job_index_on_worker_name_and_.py +0 -0
  355. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/1f959c3834d3_drop_the_leases_table.py +0 -0
  356. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/22cc661efef9_add_instance_quotas_table.py +0 -0
  357. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/55acd9b4ec38_add_ix_jobs_property_label_stage.py +0 -0
  358. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/55fcf6c874d3_remove_request_metadata_from_operations.py +0 -0
  359. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/5745d1f0e537_drop_unused_indexes_and_create_.py +0 -0
  360. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/5b90ed0e9d0b_drop_ix_jobs_worker_name_stage.py +0 -0
  361. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/85096c931383_drop_ix_jobs_stage_property_label_and_.py +0 -0
  362. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/8f7f43e4a833_add_immutable_jobs_max_capacity_column.py +0 -0
  363. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/8fd7118e215e_add_instanced_job_scheduling_index.py +0 -0
  364. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/90bd87d052a0_add_an_audit_table_for_job_state_changes.py +0 -0
  365. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/910398062924_add_property_labels_table.py +0 -0
  366. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/9e7a59ee4370_add_bot_platform_capabilities_to_the_.py +0 -0
  367. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/9ecd996412a9_add_worker_name_to_jobs_table.py +0 -0
  368. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/b3b9d7300155_add_capacity_to_bots.py +0 -0
  369. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/bde0df23383b_add_cohort_to_bots.py +0 -0
  370. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/d850621a10d8_add_assigner_name_to_jobs.py +0 -0
  371. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/alembic/versions/fb8afebee8e6_add_ix_jobs_worker_name_stage.py +0 -0
  372. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/sql/utils.py +0 -0
  373. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/threading.py +0 -0
  374. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/types.py +0 -0
  375. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/utils/__init__.py +0 -0
  376. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/utils/async_lru_cache.py +0 -0
  377. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/utils/bots.py +0 -0
  378. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/utils/cancellation.py +0 -0
  379. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid/server/utils/digests.py +0 -0
  380. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid.egg-info/dependency_links.txt +0 -0
  381. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid.egg-info/entry_points.txt +0 -0
  382. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid.egg-info/requires.txt +0 -0
  383. {buildgrid-0.3.4 → buildgrid-0.3.5}/buildgrid.egg-info/top_level.txt +0 -0
  384. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/all-in-one.yml +0 -0
  385. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/artifacts.yml +0 -0
  386. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/bots-interface.yml +0 -0
  387. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/cache.yml +0 -0
  388. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/controller.yml +0 -0
  389. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/default.yml +0 -0
  390. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/logstream.yml +0 -0
  391. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/monitoring-controller.yml +0 -0
  392. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/multi-container.yml +0 -0
  393. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/multi-layer-storage.yml +0 -0
  394. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/redis-cache.yml +0 -0
  395. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/s3-indexed-cas.yml +0 -0
  396. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/storage-redis.yml +0 -0
  397. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/storage-s3.yml +0 -0
  398. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/storage.yml +0 -0
  399. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/with-metering.yml +0 -0
  400. {buildgrid-0.3.4 → buildgrid-0.3.5}/data/config/with-pgbouncer.yml +0 -0
  401. {buildgrid-0.3.4 → buildgrid-0.3.5}/docs/Makefile +0 -0
  402. {buildgrid-0.3.4 → buildgrid-0.3.5}/docs/source/data/basic-disk-cas.yml +0 -0
  403. {buildgrid-0.3.4 → buildgrid-0.3.5}/docs/source/data/bazel-example-server.yml +0 -0
  404. {buildgrid-0.3.4 → buildgrid-0.3.5}/docs/source/data/buildstream-example-server.yml +0 -0
  405. {buildgrid-0.3.4 → buildgrid-0.3.5}/docs/source/data/cas-and-ac.yml +0 -0
  406. {buildgrid-0.3.4 → buildgrid-0.3.5}/docs/source/data/cas-example-server.yml +0 -0
  407. {buildgrid-0.3.4 → buildgrid-0.3.5}/docs/source/data/execution-and-bots.yml +0 -0
  408. {buildgrid-0.3.4 → buildgrid-0.3.5}/docs/source/data/postgresql-index-cas-only.yml +0 -0
  409. {buildgrid-0.3.4 → buildgrid-0.3.5}/docs/source/index.rst +0 -0
  410. {buildgrid-0.3.4 → buildgrid-0.3.5}/setup.cfg +0 -0
  411. {buildgrid-0.3.4 → buildgrid-0.3.5}/setup.py +0 -0
  412. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/auth/data/auth.yaml +0 -0
  413. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/auth/data/jwks-valid.json +0 -0
  414. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/auth/data/jwt-hs256-conflicting.secret +0 -0
  415. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/auth/data/jwt-hs256-expired.token +0 -0
  416. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/auth/data/jwt-hs256-matching.secret +0 -0
  417. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/auth/data/jwt-hs256-unbounded.token +0 -0
  418. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/auth/data/jwt-hs256-valid.token +0 -0
  419. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/auth/data/jwt-rs256-conflicting.pub.key +0 -0
  420. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/auth/data/jwt-rs256-expired.token +0 -0
  421. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/auth/data/jwt-rs256-jwk-encrypted.token +0 -0
  422. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/auth/data/jwt-rs256-matching.priv.key +0 -0
  423. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/auth/data/jwt-rs256-matching.pub.key +0 -0
  424. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/auth/data/jwt-rs256-unbounded.token +0 -0
  425. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/auth/data/jwt-rs256-valid.token +0 -0
  426. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/test_async_lru_cache.py +0 -0
  427. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/test_example_configs.py +0 -0
  428. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/test_execution_instance.py +0 -0
  429. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/test_instance_pools.py +0 -0
  430. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/test_job_assigner.py +0 -0
  431. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/test_limiter.py +0 -0
  432. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/test_logging.py +0 -0
  433. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/test_metrics_tags.py +0 -0
  434. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/test_metrics_utils.py +0 -0
  435. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/test_mirrored_cache.py +0 -0
  436. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/test_request_metadata_utils.py +0 -0
  437. {buildgrid-0.3.4 → buildgrid-0.3.5}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: buildgrid
3
- Version: 0.3.4
3
+ Version: 0.3.5
4
4
  Summary: A remote execution service
5
5
  License: Apache License, Version 2.0
6
6
  Project-URL: Homepage, https://buildgrid.build
@@ -120,16 +120,18 @@ class BaseBotsService:
120
120
  orig_leases_count = len(request.bot_session.leases)
121
121
  with scheduler.bot_notifier.subscription(request.bot_session.name) as event:
122
122
  capacity = get_bot_capacity(request.bot_session)
123
- leases = scheduler.synchronize_bot_leases(
123
+ leases, new_version = scheduler.synchronize_bot_leases(
124
124
  request.bot_session.name,
125
125
  request.bot_session.bot_id,
126
126
  request.bot_session.status,
127
+ int(request.bot_session.version) if request.bot_session.version else 0,
127
128
  request.bot_session.leases,
128
129
  lease_id_to_partial_execution_metadata,
129
130
  max_capacity=capacity,
130
131
  )
131
132
  del request.bot_session.leases[:]
132
133
  request.bot_session.leases.extend(leases)
134
+ request.bot_session.version = str(new_version)
133
135
 
134
136
  LOGGER.debug("Completed initial lease synchronization.", tags=bot_log_tags(request.bot_session))
135
137
 
@@ -231,11 +233,18 @@ class BaseBotsService:
231
233
 
232
234
  # Synchronize the lease again to pick up db changes.
233
235
  LOGGER.debug("Synchronizing leases after job assignment wait.", tags=bot_log_tags(bot_session))
234
- if leases := scheduler.synchronize_bot_leases(
235
- bot_session.name, bot_session.bot_id, bot_session.status, bot_session.leases, max_capacity=capacity
236
+ if leases_version := scheduler.synchronize_bot_leases(
237
+ bot_session.name,
238
+ bot_session.bot_id,
239
+ bot_session.status,
240
+ int(bot_session.version) if bot_session.version else 0,
241
+ bot_session.leases,
242
+ max_capacity=capacity,
236
243
  ):
244
+ leases, new_version = leases_version
237
245
  del bot_session.leases[:]
238
246
  bot_session.leases.extend(leases)
247
+ bot_session.version = str(new_version)
239
248
 
240
249
 
241
250
  class BotsService(BotsServicer, BaseBotsService, InstancedServicer[BotsInterface]):
@@ -918,7 +918,7 @@ class Scheduler:
918
918
  update_query = (
919
919
  update(BotEntry)
920
920
  .where(BotEntry.bot_id == job.worker_name)
921
- .values(capacity=BotEntry.capacity + 1)
921
+ .values(capacity=BotEntry.capacity + 1, version=BotEntry.version + 1)
922
922
  .returning(BotEntry.cohort)
923
923
  )
924
924
  if cohort := session.execute(update_query).scalar_one_or_none():
@@ -1127,6 +1127,7 @@ class Scheduler:
1127
1127
 
1128
1128
  bot.lease_id = job.name
1129
1129
  bot.last_update_timestamp = datetime.utcnow()
1130
+ bot.version += 1
1130
1131
 
1131
1132
  # Reduce the capacity by 1, to prevent overallocation to this specific bot
1132
1133
  bot.capacity -= 1
@@ -1999,10 +2000,11 @@ class Scheduler:
1999
2000
  bot_name: str,
2000
2001
  bot_id: str,
2001
2002
  bot_status: int,
2003
+ bot_version: int,
2002
2004
  bot_session_leases: Sequence[Lease],
2003
2005
  partial_execution_metadata: dict[str, ExecutedActionMetadata] | None = None,
2004
2006
  max_capacity: int = 1,
2005
- ) -> list[Lease]:
2007
+ ) -> tuple[list[Lease], int]:
2006
2008
  log_tags = {
2007
2009
  "instance_name": try_current_instance(),
2008
2010
  "request.bot_id": bot_id,
@@ -2071,8 +2073,6 @@ class Scheduler:
2071
2073
  # release locks
2072
2074
  session.commit()
2073
2075
 
2074
- # Backwards compatibility: Activate any pending leases for this bot
2075
- self._activate_bot_pending_leases(bot_id, instance_restricted_bot)
2076
2076
  # Report completed leases
2077
2077
  if completed_leases or self.proactive_fetch_to_capacity:
2078
2078
  active_leases = self._synchronize_completed_leases(
@@ -2080,47 +2080,38 @@ class Scheduler:
2080
2080
  )
2081
2081
 
2082
2082
  # Synchronize active lease from scheduler
2083
- return self._synchronize_active_leases(bot_id, instance_restricted_bot, active_leases, log_tags)
2083
+ return self._synchronize_active_leases(
2084
+ bot_name,
2085
+ bot_id,
2086
+ bot_version,
2087
+ instance_restricted_bot,
2088
+ active_leases,
2089
+ log_tags,
2090
+ )
2084
2091
 
2085
2092
  except (BotSessionMismatchError, BotSessionClosedError) as e:
2086
2093
  self.close_bot_sessions(bot_name)
2087
2094
  raise e
2088
2095
 
2089
- def _activate_bot_pending_leases(self, bot_id: str, instance_restricted_bot: bool) -> None:
2090
- # Activate any pending leases for a bot that may have been assigned by an old version of scheduler
2091
- with self._sql.session() as session:
2092
- pending_leases_stmt = (
2093
- select(JobEntry)
2094
- .where(
2095
- JobEntry.worker_name == bot_id,
2096
- JobEntry.assigned.is_(True),
2097
- JobEntry.stage == OperationStage.QUEUED.value,
2098
- )
2099
- .with_for_update(skip_locked=True)
2100
- )
2101
-
2102
- # If this bot is instance-restricted, only look for jobs in the current instance.
2103
- if instance_restricted_bot:
2104
- pending_leases_stmt = pending_leases_stmt.where(self._job_in_instance_pool())
2105
-
2106
- for job in session.execute(pending_leases_stmt).scalars().all():
2107
- log_tags = {
2108
- "instance_name": job.instance_name,
2109
- "request.bot_id": bot_id,
2110
- "db.lease_id": job.name,
2111
- "db.lease_state": job.lease_state(),
2112
- "db.job_stage": job.stage,
2113
- }
2114
- LOGGER.info("Activating pending lease for bot.", tags=log_tags)
2115
- job.stage = OperationStage.EXECUTING.value
2116
- self._create_logstream_for_job(job, log_tags)
2117
- self._notify_job_updated(job.name, session)
2118
-
2119
2096
  def _synchronize_active_leases(
2120
- self, bot_id: str, instance_restricted_bot: bool, active_leases: list[Lease], log_tags: Tags
2121
- ) -> list[Lease]:
2097
+ self,
2098
+ bot_name: str,
2099
+ bot_id: str,
2100
+ bot_version: int,
2101
+ instance_restricted_bot: bool,
2102
+ active_leases: list[Lease],
2103
+ log_tags: Tags,
2104
+ ) -> tuple[list[Lease], int]:
2122
2105
  synchronized_leases = []
2106
+ new_bot_version = bot_version
2123
2107
  with self._sql.session() as session:
2108
+ if db_bot_version := session.execute(
2109
+ select(BotEntry.version).where(BotEntry.name == bot_name)
2110
+ ).scalar_one_or_none():
2111
+ new_bot_version = db_bot_version
2112
+ if db_bot_version == bot_version:
2113
+ return active_leases, bot_version
2114
+
2124
2115
  bot_jobs_stmt = select(JobEntry).where(
2125
2116
  JobEntry.worker_name == bot_id,
2126
2117
  JobEntry.stage >= OperationStage.QUEUED.value,
@@ -2248,7 +2239,7 @@ class Scheduler:
2248
2239
 
2249
2240
  synchronized_leases.append(job.to_lease_proto())
2250
2241
 
2251
- return synchronized_leases
2242
+ return synchronized_leases, new_bot_version
2252
2243
 
2253
2244
  def _synchronize_completed_leases(
2254
2245
  self,
@@ -2305,6 +2296,7 @@ class Scheduler:
2305
2296
 
2306
2297
  # Adjust bot capacity
2307
2298
  bot.capacity += num_synced
2299
+ bot.version += 1
2308
2300
 
2309
2301
  # Determine how many jobs to proactively fetch
2310
2302
  fetch_limit = bot.capacity if self.proactive_fetch_to_capacity else num_synced
@@ -0,0 +1,47 @@
1
+ # Copyright (C) 2025 Bloomberg LP
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # <http://www.apache.org/licenses/LICENSE-2.0>
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ """Add bots.version
16
+
17
+ Revision ID: ff09fbc30c3e
18
+ Revises: 8f7f43e4a833
19
+ Create Date: 2025-12-17 13:09:00.326376
20
+
21
+ """
22
+
23
+ import sqlalchemy as sa
24
+ from alembic import op
25
+
26
+
27
+ # revision identifiers, used by Alembic.
28
+ revision = "ff09fbc30c3e"
29
+ down_revision = "8f7f43e4a833"
30
+ branch_labels = None
31
+ depends_on = None
32
+
33
+
34
+ def upgrade() -> None:
35
+ # ### commands auto generated by Alembic - please adjust! ###
36
+ with op.batch_alter_table("bots", schema=None) as batch_op:
37
+ batch_op.add_column(sa.Column("version", sa.BigInteger(), server_default=sa.text("0"), nullable=False))
38
+
39
+ # ### end Alembic commands ###
40
+
41
+
42
+ def downgrade() -> None:
43
+ # ### commands auto generated by Alembic - please adjust! ###
44
+ with op.batch_alter_table("bots", schema=None) as batch_op:
45
+ batch_op.drop_column("version")
46
+
47
+ # ### end Alembic commands ###
@@ -283,6 +283,7 @@ class BotEntry(Base):
283
283
  bot_status: Mapped[int]
284
284
  lease_id: Mapped[str | None]
285
285
  capacity: Mapped[int] = mapped_column(server_default=text("1"))
286
+ version: Mapped[int] = mapped_column(BigInteger, server_default=text("0"))
286
287
 
287
288
  # Auditing data
288
289
  expiry_time: Mapped[datetime.datetime] = mapped_column(index=True)
@@ -407,7 +407,12 @@ class SqlProvider:
407
407
  if transient_dberr:
408
408
  LOGGER.warning("Rolling back database session due to transient database error.", exc_info=True)
409
409
  else:
410
- LOGGER.error("Error committing database session. Rolling back.", exc_info=True)
410
+ # Only log full stacktrace if exception is not expected to be suppressed
411
+ log_stacktrace = type(e) not in exceptions_to_not_raise_on
412
+ if log_stacktrace:
413
+ LOGGER.error("Error committing database session. Rolling back.", exc_info=True)
414
+ else:
415
+ LOGGER.warning(f"Error committing database session. Rolling back: {repr(e)}")
411
416
  if type(e) not in exceptions_to_not_raise_on:
412
417
  if transient_dberr:
413
418
  # Ask the client to retry when the pool is expected to be healthy again
@@ -13,4 +13,4 @@
13
13
  # limitations under the License.
14
14
 
15
15
 
16
- __version__ = "0.3.4"
16
+ __version__ = "0.3.5"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: buildgrid
3
- Version: 0.3.4
3
+ Version: 0.3.5
4
4
  Summary: A remote execution service
5
5
  License: Apache License, Version 2.0
6
6
  Project-URL: Homepage, https://buildgrid.build
@@ -375,6 +375,7 @@ buildgrid/server/sql/alembic/versions/b3b9d7300155_add_capacity_to_bots.py
375
375
  buildgrid/server/sql/alembic/versions/bde0df23383b_add_cohort_to_bots.py
376
376
  buildgrid/server/sql/alembic/versions/d850621a10d8_add_assigner_name_to_jobs.py
377
377
  buildgrid/server/sql/alembic/versions/fb8afebee8e6_add_ix_jobs_worker_name_stage.py
378
+ buildgrid/server/sql/alembic/versions/ff09fbc30c3e_add_bots_version.py
378
379
  buildgrid/server/utils/__init__.py
379
380
  buildgrid/server/utils/async_lru_cache.py
380
381
  buildgrid/server/utils/bots.py
@@ -21,7 +21,7 @@ build-backend = 'setuptools.build_meta'
21
21
 
22
22
  [project]
23
23
  name = "buildgrid"
24
- version = "0.3.4"
24
+ version = "0.3.5"
25
25
  requires-python = ">=3.11"
26
26
  description = "A remote execution service"
27
27
  readme = "README.rst"