b7eaeadf3f
This CL adds the task driver and plumbing necessary to run CI tasks that upload build statistics to https://codesize.skia.org. For now, a single CodeSize-dm-Debian10-Clang-x86_64-Release task is defined, which as the name suggests: - Depends on Build-Debian10-Clang-x86_64-Release. - Takes the "dm" binary built by the aforementioned job. - Runs Bloaty against said binary. - Uploads the Bloaty output, along with a JSON file with metadata, to the GCS bucket where https://codesize.skia.org gets its data from. If one wishes to upload codesize statistics for another binary, the steps are as follows: - Identify the target binary, for example "fm". - Identify a compile task that builds said binary with the desired settings, for example "Build-Debian10-Clang-x86_64-Debug". - Add a new job in //infra/bots/jobs.json named "CodeSize-<binary>-<compile task>", where <compile task> is the name of the compile task without the "Build-" prefix, for example "CodeSize-fm-Debian10-Clang-x86_64-Debug". - Run "make train" from the //infra/bots directory. Eventually the codesize.skia.org webserver will automatically pick up the output of any such CodeSize-* task and show it in the UI, with no additional steps needed. One caveat is that the binary file name, and therefore the "<binary>" part of the task name, cannot contain dashes. This is due to how //infra/bots/gen_tasks_logic.go works. See comments in said Go file for ideas on how to work around this if we ever need to. Bug: skia:12151 Change-Id: If406944ca7660c4dd15c8e6b8f34e48c65cbbe2f Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502788 Reviewed-by: Kevin Lubick <kjlubick@google.com> Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Leandro Lovisolo <lovisolo@google.com> |
||
---|---|---|
.. | ||
bots | ||
canvaskit | ||
cmake | ||
config | ||
cross-compile/docker/cross-linux-arm64 | ||
docker | ||
gcc | ||
lottiecap | ||
pathkit | ||
project-config | ||
wasm-common | ||
README.md | ||
skcq.json |
This directory contains infra-specific files. The branch-config/ directory contains configs that are specific to the main branch (e.g. config for the CQ committing to the main branch), while project-config/ directory contains project-wide configuration (e.g. list of buckets for cr-buildbucket service and list of refs known to the infra services).