tree: d039298fcb8302c1d1b088637dda1b701b9d85e2 [path history] [tgz]
  1. am/
  2. android_ingest/
  3. android_stats/
  4. api/
  5. autoroll/
  6. bash/
  7. bazel/
  8. blamer/
  9. bugs-central/
  10. cabe/
  11. cd/
  12. cdn/
  13. cherrypick-watcher/
  14. cmd/
  15. codereview-watcher/
  16. codesize/
  17. comments/
  18. cq_watcher/
  19. ct/
  20. datahopper/
  21. debugger-app/
  22. demos/
  23. docker/
  24. docker_pushes_watcher/
  25. docs/
  26. docsyserver/
  27. ds/
  28. elements-sk/
  29. email/
  30. external/
  31. fiddlek/
  32. firestore/
  33. get_service_account/
  34. gitsync/
  35. go/
  36. gold-client/
  37. golden/
  38. helloworld/
  39. infra/
  40. infra-sk/
  41. jsdoc/
  42. jsfiddle/
  43. k8s-checker/
  44. k8s-deployer/
  45. kube/
  46. leasing/
  47. licenses/
  48. machine/
  49. make/
  50. mcp/
  51. modules/
  52. named-fiddles/
  53. new_element/
  54. npm-audit-mirror/
  55. perdiff/
  56. perf/
  57. periodic-trigger/
  58. pinpoint/
  59. proberk/
  60. promk/
  61. puppeteer-tests/
  62. sa-keys-checker/
  63. scrap/
  64. scripts/
  65. shaders/
  66. sk/
  67. skbug/
  68. skcq/
  69. skfe/
  70. skolo/
  71. skottie/
  72. static_server/
  73. status/
  74. task_driver/
  75. task_scheduler/
  76. temporal/
  77. test-service/
  78. tool/
  79. tools/
  80. tree_status/
  81. trybot_updater/
  82. .bazelignore
  83. .bazelrc
  84. .bazelversion
  85. .eslintrc.js
  86. .gitattributes
  87. .gitignore
  88. .mockery.yaml
  89. .npmrc
  90. .prettierignore
  91. .prettierrc.json
  92. .puppeteerrc.js
  93. .vpython
  94. BAZEL_CHEATSHEET.md
  95. BUILD.bazel
  96. build_infra_prod.sh
  97. CDB.md
  98. cipd.ensure
  99. codereview.settings
  100. DATASTORE.md
  101. demopage.sh
  102. DEPS
  103. go.mod
  104. go.sum
  105. go_repositories.bzl
  106. karmatest.sh
  107. launch.md
  108. LICENSE
  109. Makefile
  110. OWNERS
  111. package-lock.json
  112. package.json
  113. pnpm-lock.yaml
  114. PRESUBMIT.py
  115. PRIVACY_POLICY.md
  116. README.md
  117. STYLEGUIDE.md
  118. tools.go
  119. tsconfig.json
  120. whitespace.txt
  121. WORKSPACE
README.md

Skia-Buildbot Repository

This repo contains infrastructure code for Skia.

Supported Infrastucture Platforms

The infrastructure code is generally built to run on x86 linux. Running on other platforms may be possible but is not officially supported and success will vary depending on the command.

Getting the Source Code

The main source code repository is a Git repository hosted at https://skia.googlesource.com/buildbot.git. It is possible to check out this repository directly with git clone or via go get.

Using git clone allows you to work in whatever directory you want. You will still need to set GOPATH in order to build some apps (recommended to put this in a cache dir). E.g.:

$ cd ${WORKDIR}
$ git clone https://skia.googlesource.com/buildbot.git
$ export GOPATH=${HOME}/.cache/gopath/$(basename ${WORKDIR})
$ mkdir $GOPATH
$ cd buildbot

Install dependencies

Almost all applications are built with Bazel, and bazelisk is the recommended tool to ensure you have the right version of bazel installed:

go install github.com/bazelbuild/bazelisk@latest
go install github.com/bazelbuild/buildtools/buildifier@latest
go install github.com/kisielk/errcheck@latest
go install golang.org/x/tools/cmd/goimports@latest
go install github.com/mikefarah/yq/v4@latest
go install go.chromium.org/luci/client/cmd/...@latest

Add bazelisk to path

export PATH=$PATH:$(go env GOPATH)/bin

Install other dependencies:

sudo apt-get install jq

Build ~everything

bazelisk build --config=mayberemote //...

Test everything

Set up environ variables

This step might be an optional step, but some test requires these enviornment variables.

Runs

./scripts/run_emulators/run_emulators start

The following are example of environment variables.

Emulators started. Set environment variables as follows:
export DATASTORE_EMULATOR_HOST=localhost:8891
export BIGTABLE_EMULATOR_HOST=localhost:8892
export PUBSUB_EMULATOR_HOST=localhost:8893
export FIRESTORE_EMULATOR_HOST=localhost:8894
export COCKROACHDB_EMULATOR_HOST=localhost:8895

And stores these environment variables to ~/.bashrc file.

Execute tests

bazelisk test --config=mayberemote //...

Generated Code

To update generated code run the following in any directory:

go generate ./...

Running unit tests

Install Cloud SDK.

Use this command to run the presubmit tests:

./run_unittests --small