Clone this repo:
  1. 055b072 [cipd] Refactor 'cipd describe' implementation in preparation for v2. by Vadim Shtayura · 19 minutes ago master
  2. 44debe8 [cipd] Implement 'search' subcommand using v2 API. by Vadim Shtayura · 2 hours ago
  3. 8191153 [buildbucket] Document importance of role enum tag numbers by Nodir Turakulov · 5 hours ago
  4. 1569ad4 [cipd] Implement 'instances' subcommand using v2 API. by Vadim Shtayura · 5 hours ago
  5. 4255bf7 [cipd] Implement 'pkg-fetch' and 'ensure' subcommands using v2 API. by Vadim Shtayura · 6 hours ago

luci-go: LUCI services and tools in Go

GoDoc Build Status Coverage Status

Installing

go get -u go.chromium.org/luci/client/cmd/...
go get -u go.chromium.org/luci/server/cmd/...

Code layout

  • /appengine/... contains AppEngine server code. It imports packages from /common/... and /server/....
  • /client/... contains all client code.
  • /common/... contains code and structures shared between all of /appengine/..., /client/... and /server/...; for example, the structures used by the server APIs. These are inherently APIs.
  • /deploytool/... contains the LUCI cloud services deployment tool.
  • /logdog/... contains LogDog client and server code, as well as APIs, protobufs, and support libraries.
  • /server/... contains standalone server code. Its packages are reusable by /appengine/....
  • /tools/... contains support tools used by other LUCI components.

Versioning

  • Branch go1 contains the stable code.
  • Branch master constains the latest code.

Contributing

  • Sign the Google CLA.
  • Make sure your user.email and user.name are configured in git config.
  • Install test-only packages: go get -u -t go.chromium.org/luci/client/...
  • Install the pcg git hook: go get -u github.com/maruel/pre-commit-go/cmd/... && pcg

Run the following to setup the code review tool and create your first review:

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/src/depot_tools
export PATH="$PATH:$HOME/src/depot_tools"
cd $GOROOT/go.chromium.org/luci
git checkout -b work origin/master

# hack hack
git commit -a -m "This is awesome"

# We use Gerrit for code review. Visit
# https://chromium-review.googlesource.com/new-password
# and follow instructions.

git cl upload -s --r-owners
# This will upload your change to Gerrit and pick a random owner (as defined
# in the OWNERS file) for review.
# Wait for approval and submit your code through Commit Queue.
# Commit queue will test your change on multiple platforms and land it
# automatically.

# Once you get a review with comments, you can do additional commits to your
# feature branch, and then upload again to update the review in gerrit.
$ git cl upload

Use git cl help and git cl help <cmd> for more details.