commit | 4d7f666a6246c8be1087d7a864b14a8a0688398f | [log] [tgz] |
---|---|---|
author | Patrick Meiring <meiring@google.com> | Wed Nov 29 03:10:50 2023 |
committer | LUCI CQ <infra-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Nov 29 03:10:50 2023 |
tree | 90a5b334edd84e1b7221f720b21bc34415c88f65 | |
parent | 19b0f2e76b34f33f713a6ee9689938e19d0f4bf6 [diff] |
[common] Add ability to synchronise BQ table description, labels. In the process of preparing these updates, it was identified that the current way in which views are always being updated is not necessarily safe, even if all current users are using it safely. After this change, callers must explicitly request synchronisation of all non-schema settings as those updates may not converge in the case of canary + stable deployments with different table specs. It is suggested that such synchronization only occur from a periodic cron job instead of from task queue (whose backend may be sharded over many GAE or GKE instances) to minimise consequences of an edit war if canary + stable have different table specs. The option can not be provided to the EnsureTable method on SchemaApplyer as this cache is designed for use with task queue-driven exports and is not necessary for cron job-driven updates. BUG=None TEST=Integration tests Change-Id: I9f4be4dcfbc47fe8fc8e1201c3e64290e4be2aa5 Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/luci-go/+/5064817 Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> Commit-Queue: Patrick Meiring <meiring@google.com> Reviewed-by: Tuan Nguyen <nqmtuan@google.com>
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.