commit | 94c5c4d166c3755adbaaac323eba57775a164322 | [log] [tgz] |
---|---|---|
author | Vadim Shtayura <vadimsh@chromium.org> | Wed Feb 26 19:25:06 2025 |
committer | LUCI CQ <infra-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Feb 26 19:25:06 2025 |
tree | af4e4e2dafc7f47c4c6e064db059e7508df7dd7b | |
parent | e2dd3a5589b4d00529dd70e8d70b2a896496773d [diff] |
[swarming] Refactor task dimension parsing. This will be reused in /bot/claim implementation to check if a bot actually matches a task. There should be a single place that understands what "|" means, and we actually already have it in filters.go. This CL slightly generalizes model.Filter to also represent "a filter on bots that can run a particular task". This also changes how we check complexity of task dimensions, since the previous checks were weirdly structured and no longer apply to the RBE scheduler anyway. New checks attempt to explain why they exist (mostly we care about not exploding datastore index): as long as the total number of indexed entries within a limit, Swarming doesn't really care how they are distributed across dimension keys. The new limit of 512 max dimension checks is derived from two old limits: maxDimensionKeyCount (32) x maxDimensionValueCount(16). R=chanli@chromium.org BUG=b/355013445 Change-Id: I20e17a36ae6c6aedb380e077da4144d70c401bef Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/luci-go/+/6300924 Commit-Queue: Vadim Shtayura <vadimsh@chromium.org> Reviewed-by: Chan Li <chanli@chromium.org>
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 uses the same flow as Chromium contributions.