Upgrade lit v1 to v3.

Lit-Element v3 works better with other UI components like go/md3.

This CL is unfortunately large but most of them are renaming from lit-html to lit/html in BUILD and import. There are three noticeable changes.

1. The eventContext in the RenderOptions is renamed to host, see the example in:
  * infra-sk/modules/ElementSk/ElementSk.ts
2. Type changes, see examples in:
  * am/modules/am.ts
  * debugger-app/modules/commands-sk/commands-sk.ts
3. Additional comments nodes appended automatically, see the example in:
  * perf/modules/regressions-page-sk/regressions-page-sk_test.ts

For the Gold screenshots. They looks good and I also compared them locally with the v1. Note:

1. The theme-chooser-sk didn't get updated in Gold, so even they are significantly different, but the diffs were introduced long before;
2. In the gold_query-dialog-sk_multiple-values-selected, the screenshots were not taken correctly, it needs to wait for all the elements to settle. The test util, like open-wc.org, has good tools to facilitate and we can look into that later.

Bug: b/361365957
Change-Id: I091c919479d3067d5100397af691f4f24b333ab7
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/895021
Reviewed-by: Jeff Yoon <jeffyoon@google.com>
Commit-Queue: Hao Wu <haowoo@google.com>
Reviewed-by: Kaylee Lubick <kjlubick@google.com>
470 files changed
tree: e7fe02728bc418fe0de5967ccc5fdf2ecea65c03
  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. cherrypick-watcher/
  13. cmd/
  14. codereview-watcher/
  15. codesize/
  16. comments/
  17. cq_watcher/
  18. ct/
  19. datahopper/
  20. debugger-app/
  21. demos/
  22. docker/
  23. docker_pushes_watcher/
  24. docs/
  25. docsyserver/
  26. ds/
  27. elements-sk/
  28. email/
  29. external/
  30. fiddlek/
  31. firestore/
  32. get_service_account/
  33. gitsync/
  34. go/
  35. gold-client/
  36. golden/
  37. helloworld/
  38. infra/
  39. infra-sk/
  40. jsdoc/
  41. jsfiddle/
  42. k8s-checker/
  43. k8s-deployer/
  44. kube/
  45. leasing/
  46. licenses/
  47. machine/
  48. make/
  49. modules/
  50. named-fiddles/
  51. new_element/
  52. npm-audit-mirror/
  53. perdiff/
  54. perf/
  55. periodic-trigger/
  56. pinpoint/
  57. proberk/
  58. promk/
  59. puppeteer-tests/
  60. sa-keys-checker/
  61. scrap/
  62. scripts/
  63. shaders/
  64. sk/
  65. skbug/
  66. skcq/
  67. skfe/
  68. skolo/
  69. skottie/
  70. static_server/
  71. status/
  72. task_driver/
  73. task_scheduler/
  74. temporal/
  75. test-service/
  76. tool/
  77. tools/
  78. tree_status/
  79. trybot_updater/
  80. .bazelignore
  81. .bazelrc
  82. .bazelversion
  83. .eslintrc.js
  84. .gitattributes
  85. .gitignore
  86. .mockery.yaml
  87. .npmrc
  88. .prettierignore
  89. .prettierrc.json
  90. .puppeteerrc.js
  91. .vpython
  92. BAZEL_CHEATSHEET.md
  93. BUILD.bazel
  94. build_infra_prod.sh
  95. CDB.md
  96. cipd.ensure
  97. codereview.settings
  98. DATASTORE.md
  99. demopage.sh
  100. DEPS
  101. go.mod
  102. go.sum
  103. go_repositories.bzl
  104. karmatest.sh
  105. launch.md
  106. LICENSE
  107. Makefile
  108. OWNERS
  109. package-lock.json
  110. package.json
  111. pnpm-lock.yaml
  112. PRESUBMIT.py
  113. PRIVACY_POLICY.md
  114. README.md
  115. STYLEGUIDE.md
  116. tools.go
  117. tsconfig.json
  118. whitespace.txt
  119. 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

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