commit | 6d6e73978d408bb12baee39eaf152dd2eeaf7996 | [log] [tgz] |
---|---|---|
author | Yiming Zhou <uwyiming@google.com> | Tue Jun 29 23:44:48 2021 |
committer | Yiming Zhou <uwyiming@google.com> | Thu Jul 08 20:49:45 2021 |
tree | b5e0726d87a6eefb7d461ba15d9e9cfaab99d33b | |
parent | f2239210cd8d0bb717129eff48a99b52db3160df [diff] |
Reland "Update EnableService to use the ServiceUsage Api." This reverts commit d46c6e664dac27cb68ec36c0fb9137f223abc22d. Reason for revert: Reland golang upgrades. Original change's description: > Revert "Update EnableService to use the ServiceUsage Api." > > This reverts commit 17c3c546684ea8bf1aa640d38d01b7873144e1cd. > > Reason for revert: Rolling CELab buildbots back to Go1.11.2 > > Original change's description: > > Update EnableService to use the ServiceUsage Api. > > > > As a result of Go deprecating Dep in favor of Module, CELab can no longer lock the version of its GoogleAPI dependencies. In the latest GoogleAPI, the enable API services has moved from ServiceManagement to ServiceUsage. > > > > This change updates CELab to call ServiceUsage to enable APIs when setting up a project. > > > > Also fixed a unit test that is blocking cl upload. > > > > Bug: 1199031 > > Change-Id: Iabb916dba3e64cb0281712d10903ed0fb3887882 > > Reviewed-on: https://chromium-review.googlesource.com/c/enterprise/cel/+/2827241 > > Reviewed-by: Xiang Ji <jxiang@google.com> > > Bug: 1199031 > Change-Id: I9d7b238748ebaaa1095837281ddd2bc136eeaa57 > Reviewed-on: https://chromium-review.googlesource.com/c/enterprise/cel/+/2881145 > Reviewed-by: Xiang Ji <jxiang@google.com> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bug: 1199031 Change-Id: I5ccf1dbcc5905742fe08895004ff87f117e26295 Reviewed-on: https://chromium-review.googlesource.com/c/enterprise/cel/+/2994810 Reviewed-by: Xiang Ji <jxiang@google.com>
Chrome Enterprise Lab is a set of tools for building enterprise experimental labs quickly and easily. The labs so built can be used for system level end-to-end testing of Google Chrome/Chromium. These system tests are required to avoid enteprise regression under some complex enterprise software & networking configurations, such as Microsoft Active Directory.
Have a peek at the Design document.
Also have a peek at the Code of Conduct.
Most of the code is in Go. See Guide to code to get a head start on the code in this repository.
Go: Download Go from the Go download page. This project requires Go 1.9.4 or later. The build will fail with prior versions.
Depot Tools: Used for managing the checkout and the contributor workflow.
Protocol Buffers Compiler: Protocol buffers are used extensively for wranging all the data that needs to be shuttled around. Run protoc --version
to check the protoc version. The protoc version should be at least 3.5.1. If protoc is not installed, or if the version is less than 3.5.1, download it from https://github.com/protocolbuffers/protobuf/releases.
Remember that you need to copy the contents of the include
directory of the zip file into /usr/local/include/
as well, i.e.
>> cd tmp >> wget https://github.com/protocolbuffers/protobuf/releases/download/v3.14.0/protoc-3.14.0-linux-x86_64.zip >> unzip protoc-3.14.0-linux-x86_64.zip -d protoc >> sudo cp protoc/bin/protoc /usr/local/bin/protoc >> sudo chmod 751 /usr/local/bin/protoc >> cp protoc/ >> sudo mv include/* /usr/local/include/ >> rm -rf protoc3 protoc-3.14.0-linux-x86_64.zip
Dep : Used for Go depedency management. This can be installed automatically by running ./build.py deps --install
from the root of the source tree.
Go support for Protocol Buffers : This can be installed automatically by running ./build.py deps --install
from the root of the source tree.
absl-py: This Python package is used by tests. Install it by running pip install absl-py
.
There are two ways to get the source. One is to use managed deps, and the other is to use plain go get
. The latter workflow doesn't quite work yet due to this repository not being integrated with go.chromium.org
. So this page only mentions the managed dependency workflow.
Setting GO environment variables by adding below lines into ~/.bashrc file
export GOPATH=$HOME/go export GOBIN=$GOPATH/bin export PATH=$PATH:$GOBIN
Clone this repository:
Assumes that $GOPATH
is a single path and not a :
delimited list.
mkdir -p ${GOPATH}/src/chromium.googlesource.com/enterprise cd ${GOPATH}/src/chromium.googlesource.com/enterprise git clone https://chromium.googlesource.com/enterprise/cel cd cel
Get the dependencies:
python build.py deps --install
If you see an error message complaining about protoc missing, see the protoc prerequisites above.
Use the build script:
python build.py build
If you see an error message like google/protobuf/descriptor.proto: File not found
, see the protoc prerequisites (specifically the includes step).
Also make sure that all unit tests for the Go source files are passing.
python build.py test
See CONTRIBUTING.
The CELab deployment binary and its Python test framework is uploaded into CIPD as a package.
Here are the general steps to release the package.