[lucicfg] Forbid modifying the graph as a side effect of a 'load'.

All loads must be pure. We now have 'exec's specifically for dirty evaluations.

This is theoretically a breaking change, but no one was relying on loads with
side effects.

R=tandrii@chromium.org
BUG=833946

Change-Id: I3684693a8c7c0a0d6cd01dd8e3271bc34655bb00
Reviewed-on: https://chromium-review.googlesource.com/c/1451669
Commit-Queue: Vadim Shtayura <vadimsh@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
5 files changed
tree: 90faa901f3b90d83380424707550ff69223ea18f
  1. appengine/
  2. auth/
  3. buildbucket/
  4. cipd/
  5. client/
  6. common/
  7. config/
  8. cq/
  9. dm/
  10. examples/
  11. gce/
  12. grpc/
  13. hardcoded/
  14. infra/
  15. logdog/
  16. luci_notify/
  17. lucicfg/
  18. lucictx/
  19. machine-db/
  20. milo/
  21. mmutex/
  22. mp/
  23. scheduler/
  24. scripts/
  25. server/
  26. starlark/
  27. swarming/
  28. tokenserver/
  29. tools/
  30. tumble/
  31. vpython/
  32. web/
  33. .gitattributes
  34. .travis.yml
  35. AUTHORS
  36. codereview.settings
  37. CONTRIBUTING.md
  38. CONTRIBUTORS
  39. LICENSE
  40. OWNERS
  41. pre-commit-go.yml
  42. PRESUBMIT.py
  43. README.md
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.