commit | dde1036169e325f6a7602e1cbd96b6b000980c55 | [log] [tgz] |
---|---|---|
author | Robert Iannucci <iannucci@chromium.org> | Fri Sep 20 20:33:57 2024 |
committer | LUCI CQ <infra-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Sep 20 20:33:57 2024 |
tree | 17c3b2dca53e9a6fc8b7ecc39d0ea56e201430f7 | |
parent | 5de885df4b601ebc6cdb24786fd60787b68f5502 [diff] |
[build/properties] More sophisticated input property parsing. Previously when luciexe's parsed input properties they would, by default, error out when they encounter an unrecognized field. However, this makes migration very difficult - if an unaware caller starts passing a new field to an old luciexe, it would result in a hard error. At the same time, we don't want misspelled fields to be silently ignored. This CL makes it so that, when deserializing the input properties, if any property fields do not round-trip from the decoded inputs, they will be logged with Warning (with the option of turning them into a hard error with OptRejectUnknownFields()). This should give us the best default configuration for existing and future luciexe programs. R=azrahman, chanli, fancl Change-Id: I4db6d0a32b155bd8f0c4d7e17cd8446cf93ab8c1 Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/luci-go/+/5876343 Auto-Submit: Robbie Iannucci <iannucci@chromium.org> Commit-Queue: Chan Li <chanli@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.