cv: split the batch requests so CV can launch >200 builds

Buildbucket batch API only supports 200 requests per batch. However, in
mega cq run, it's possible LUCI CV will need to launch more than 200
builds per CL. This CL split the batch request to buildbucket into
smaller batches where each batch has <200 requests.

R=ddoman

Bug: 1487672
Change-Id: I6a2b6a93075eded9ca564afe6a4440cbf305d2a7
Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/luci-go/+/5096002
Reviewed-by: Scott Lee <ddoman@chromium.org>
Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
2 files changed
tree: 2b308b7b361be915765127977d20f0bbdd66dbea
  1. analysis/
  2. appengine/
  3. auth/
  4. auth_service/
  5. bisection/
  6. build/
  7. buildbucket/
  8. casviewer/
  9. cipd/
  10. cipkg/
  11. client/
  12. common/
  13. config/
  14. config_service/
  15. cv/
  16. deploy/
  17. examples/
  18. gae/
  19. gce/
  20. grpc/
  21. hardcoded/
  22. led/
  23. logdog/
  24. luci_notify/
  25. lucicfg/
  26. lucictx/
  27. luciexe/
  28. mailer/
  29. milo/
  30. mmutex/
  31. provenance/
  32. resultdb/
  33. scheduler/
  34. scripts/
  35. server/
  36. standalone/
  37. starlark/
  38. swarming/
  39. third_party/
  40. tokenserver/
  41. tools/
  42. tree_status/
  43. vpython/
  44. web/
  45. .gitallowed
  46. .gitattributes
  47. .gitignore
  48. .go-lintable
  49. AUTHORS
  50. codereview.settings
  51. CONTRIBUTING.md
  52. CONTRIBUTORS
  53. go.mod
  54. go.sum
  55. LICENSE
  56. OWNERS
  57. PRESUBMIT.py
  58. README.md
  59. tools.go
  60. WATCHLISTS
README.md

luci-go: LUCI services and tools in Go

GoReference

Installing

LUCI Go code is meant to be worked on from an Chromium infra.git checkout, which enforces packages versions and Go toolchain version. First get fetch via depot_tools.git then run:

fetch infra
cd infra/go
eval `./env.py`
cd src/go.chromium.org/luci

It is now possible to directly install tools with go install:

go install go.chromium.org/luci/auth/client/cmd/...@latest
go install go.chromium.org/luci/buildbucket/cmd/...@latest
go install go.chromium.org/luci/cipd/client/cmd/...@latest
go install go.chromium.org/luci/client/cmd/...@latest
go install go.chromium.org/luci/cv/cmd/...@latest
go install go.chromium.org/luci/gce/cmd/...@latest
go install go.chromium.org/luci/grpc/cmd/...@latest
go install go.chromium.org/luci/logdog/client/cmd/...@latest
go install go.chromium.org/luci/luci_notify/cmd/...@latest
go install go.chromium.org/luci/lucicfg/cmd/...@latest
go install go.chromium.org/luci/luciexe/legacy/cmd/...@latest
go install go.chromium.org/luci/mailer/cmd/...@latest
go install go.chromium.org/luci/mmutex/cmd/...@latest
go install go.chromium.org/luci/resultdb/cmd/...@latest
go install go.chromium.org/luci/server/cmd/...@latest
go install go.chromium.org/luci/swarming/cmd/...@latest
go install go.chromium.org/luci/tokenserver/cmd/...@latest
go install go.chromium.org/luci/tools/cmd/...@latest

Contributing

Contributing uses the same flow as Chromium contributions.