[buildbucket] Remove global UpdateTime clock.

This removes the hacky global clock thing where Build times were
adjusted at datastore Save time, and makes manipulation of Status
and Time explicit in all the locations where we need to manipulate
them.

To avoid partially updating these fields accidentally, this also
introduces a very simple static analysis test which will identify
direct assignments to Status, StartTime and EndTime and require using
protoutil.SetStatus instead.

R=ddoman, smut, vadimsh, yuanjunh

Change-Id: Ibb2f783dcd18718acedfcc5ad7976cf224c4f98a
Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/luci-go/+/3235717
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: smut <smut@google.com>
Reviewed-by: Scott Lee <ddoman@chromium.org>
14 files changed
tree: 90aaaa937308a178bfd7d6b06afb0d49c2d59a3f
  1. appengine/
  2. auth/
  3. auth_service/
  4. buildbucket/
  5. casviewer/
  6. cipd/
  7. client/
  8. cmdrunner/
  9. common/
  10. config/
  11. cv/
  12. dm/
  13. examples/
  14. gae/
  15. gce/
  16. grpc/
  17. hacks/
  18. hardcoded/
  19. led/
  20. logdog/
  21. luci_notify/
  22. lucicfg/
  23. lucictx/
  24. luciexe/
  25. machine-db/
  26. mailer/
  27. milo/
  28. mmutex/
  29. mp/
  30. resultdb/
  31. scheduler/
  32. scripts/
  33. server/
  34. starlark/
  35. swarming/
  36. tokenserver/
  37. tools/
  38. tumble/
  39. vpython/
  40. web/
  41. .gitallowed
  42. .gitattributes
  43. .golangci.yml
  44. AUTHORS
  45. codereview.settings
  46. CONTRIBUTING.md
  47. CONTRIBUTORS
  48. go.mod
  49. go.sum
  50. LICENSE
  51. OWNERS
  52. PRESUBMIT.py
  53. README.md
  54. tools.go
  55. WATCHLISTS
README.md

luci-go: LUCI services and tools in Go

GoDoc

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

Contributing

Contributing uses the same flow as Chromium contributions.