go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/tree_status/README.md (about) 1 # LUCI Tree Status Service 2 3 This service maintains a open/closed status for each "tree" (e.g. chromium). Trees are defined arbitrarily and do not have to correspond 1:1 with a git repo or any other concept. 4 5 Each status update optionally includes a text description of why the tree was open/closed. 6 7 The tree status is generally used to temporarily stop new CLs from being merged while gardeners fix a broken tree. 8 9 ## Prerequisites 10 11 Commands below assume you are running in the infra environment. 12 To enter the infra env (via the infra.git checkout), run: 13 ``` 14 eval infra/go/env.py 15 ``` 16 17 ## Running tests locally 18 19 ``` 20 INTEGRATION_TESTS=1 go test ./... 21 ``` 22 23 ## Running locally 24 25 ``` 26 go run main.go \ 27 -cloud-project luci-tree-status-dev \ 28 -auth-service-host chrome-infra-auth-dev.appspot.com \ 29 -spanner-database projects/luci-tree-status-dev/instances/dev/databases/luci-tree-status-dev \ 30 -frontend-client-id 713057630411-eqah8ap1ptgnf4nnepk10sutqg0msiv1.apps.googleusercontent.com 31 ``` 32 33 You can test the RPCs using the [rpcexplorer](http://127.0.0.1:8800/rpcexplorer). 34 35 ## Deploy demo instance with local changes to AppEngine 36 37 ``` 38 gae.py upload --target-version ${USER} -A luci-tree-status-dev 39 ``` 40 41 ## Deploy to staging 42 43 Tree status is automatically deployed to staging by LUCI CD every time a CL is submitted. 44 45 ## Deploy to prod 46 47 The prod instance of LUCI Tree Status has not yet been created.