blob: a1c245ab4765179b96b64ca5e549b63176bd6722 [file]
"""Bazel Modules used by the Skia Infra repository."""
module(
name = "skia-infra",
version = "0.0.0",
)
bazel_dep(name = "aspect_bazel_lib", version = "2.21.1")
bazel_dep(name = "aspect_rules_esbuild", version = "0.25.0")
bazel_dep(name = "aspect_rules_js", version = "2.5.0")
bazel_dep(name = "aspect_rules_ts", version = "3.7.0")
bazel_dep(name = "aspect_rules_swc", version = "2.0.0")
bazel_dep(name = "buildifier_prebuilt", version = "8.2.1")
bazel_dep(name = "rules_go", version = "0.58.3") # Needs to go before Gazelle.
bazel_dep(name = "gazelle")
# This version of Gazelle has been patched with directives for
# go.chromium.org/luci and github.com/bazelbuild/remote-apis-sdks. We should be
# able to remove this git_override when the next version of gazelle is released
# to the Bazel Central Registry.
git_override(
module_name = "gazelle",
commit = "58be1038215b0cff6604a1d31f45ae3770a99a75",
remote = "https://github.com/bazel-contrib/bazel-gazelle",
)
bazel_dep(name = "protobuf", version = "33.0", repo_name = "com_google_protobuf")
bazel_dep(name = "rules_browsers", version = "0.2.0")
bazel_dep(name = "rules_apko", version = "1.4.0")
bazel_dep(name = "rules_distroless", version = "0.6.1")
bazel_dep(name = "rules_nodejs", version = "6.5.0")
bazel_dep(name = "rules_pkg", version = "1.1.0")
bazel_dep(name = "rules_proto", version = "7.1.0")
bazel_dep(name = "rules_python", version = "1.6.0")
bazel_dep(name = "rules_shell", version = "0.6.1")
bazel_dep(name = "bazel_skylib", version = "1.8.2")
bazel_dep(name = "rules_oci", version = "2.2.7")
bazel_dep(name = "googleapis", version = "0.0.0-20251127-8cd3749f")
bazel_dep(name = "grpc", version = "1.76.0.bcr.1")
bazel_dep(name = "abseil-cpp", version = "20250814.1")
bazel_dep(name = "rules_cc", version = "0.2.15")
bazel_dep(name = "platforms", version = "1.0.0")
bazel_dep(name = "xds", version = "0.0.0-20251210-ee656c7")
bazel_dep(name = "protoc-gen-validate", version = "1.2.1.bcr.2")
http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")
git_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
git_repository(
name = "swiftshader",
build_file_content = """
filegroup(
name = "all_files",
srcs = glob(["include/**/*"]),
visibility = ["//visibility:public"]
)
""",
commit = "3c4bdf66d81d01a215b88bfea3ac4cc8ca507779",
remote = "https://swiftshader.googlesource.com/SwiftShader",
)
gcs_mirror = use_extension("//bazel:gcs_mirror.bzl", "gcs_mirror")
####################################################################################################
# rules_apko setup
####################################################################################################
apko = use_extension("@rules_apko//apko:extensions.bzl", "apko")
apko.toolchain(apko_version = "0.22.0")
apko.translate_lock(
name = "basealpine-apk-install",
lock = "@@//kube/basealpine:basealpine.lock.json",
)
use_repo(apko, "basealpine-apk-install")
####################################################################################################
# aspect_rules_ts setup
####################################################################################################
rules_ts_ext = use_extension(
"@aspect_rules_ts//ts:extensions.bzl",
"ext",
dev_dependency = True,
)
rules_ts_ext.deps(
ts_integrity = "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
ts_version_from = "//:package.json",
)
use_repo(rules_ts_ext, "npm_typescript")
####################################################################################################
# Go setup
####################################################################################################
go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps")
go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk")
go_deps.from_file(go_mod = "//:go.mod")
use_repo(
go_deps,
"com_github_a8m_envsubst",
"com_github_aclements_go_moremath",
"com_github_bazelbuild_buildtools",
"com_github_bazelbuild_remote_apis",
"com_github_bazelbuild_remote_apis_sdks",
"com_github_blakesmith_ar",
"com_github_bradfitz_gomemcache",
"com_github_ccoveille_go_safecast_v2",
"com_github_cenkalti_backoff",
"com_github_cenkalti_backoff_v4",
"com_github_cockroachdb_cockroach_go_v2",
"com_github_davecgh_go_spew",
"com_github_dustin_go_humanize",
"com_github_fatih_color",
"com_github_fiorix_go_web",
"com_github_flynn_json5",
"com_github_go_chi_chi_v5",
"com_github_go_python_gpython",
"com_github_golang_groupcache",
"com_github_golang_mock",
"com_github_golang_protobuf",
"com_github_google_go_cmp",
"com_github_google_go_github_v29",
"com_github_google_go_licenses_v2",
"com_github_google_shlex",
"com_github_google_uuid",
"com_github_googleapis_gax_go_v2",
"com_github_googlecloudplatform_opentelemetry_operations_go_exporter_trace",
"com_github_gorilla_securecookie",
"com_github_grpc_ecosystem_grpc_gateway_v2",
"com_github_hako_durafmt",
"com_github_hashicorp_go_multierror",
"com_github_hashicorp_golang_lru",
"com_github_invopop_jsonschema",
"com_github_jackc_pgconn",
"com_github_jackc_pgerrcode",
"com_github_jackc_pgtype",
"com_github_jackc_pgx_v4",
"com_github_jcgregorio_logger",
"com_github_jeffail_gabs_v2",
"com_github_kballard_go_shellquote",
"com_github_kisielk_errcheck",
"com_github_mark3labs_mcp_go",
"com_github_masterminds_semver",
"com_github_masterminds_sprig",
"com_github_miekg_dns",
"com_github_mikefarah_yq_v4",
"com_github_nfnt_resize",
"com_github_nlpodyssey_gopickle",
"com_github_olekukonko_tablewriter",
"com_github_otiai10_copy",
"com_github_patrickmn_go_cache",
"com_github_pkg_errors",
"com_github_pmezard_go_difflib",
"com_github_prometheus_client_golang",
"com_github_protocolbuffers_txtpbfmt",
"com_github_r3labs_sse_v2",
"com_github_redis_go_redis_v9",
"com_github_rs_cors",
"com_github_sbinet_npyio",
"com_github_shirou_gopsutil",
"com_github_skia_dev_google_api_go_client",
"com_github_skia_dev_protoc_gen_twirp_typescript",
"com_github_spf13_cobra",
"com_github_stretchr_testify",
"com_github_syndtr_goleveldb",
"com_github_tarm_serial",
"com_github_texttheater_golang_levenshtein",
"com_github_twitchtv_twirp",
"com_github_unrolled_secure",
"com_github_urfave_cli_v2",
"com_github_vektra_mockery_v2",
"com_github_willf_bitset",
"com_github_xeipuuv_gojsonschema",
"com_github_yannh_kubeconform",
"com_github_yusufpapurcu_wmi",
"com_github_zeebo_bencode",
"com_google_cloud_go",
"com_google_cloud_go_auth",
"com_google_cloud_go_bigquery",
"com_google_cloud_go_bigtable",
"com_google_cloud_go_binaryauthorization",
"com_google_cloud_go_compute_metadata",
"com_google_cloud_go_containeranalysis",
"com_google_cloud_go_datastore",
"com_google_cloud_go_firestore",
"com_google_cloud_go_iam",
"com_google_cloud_go_logging",
"com_google_cloud_go_monitoring",
"com_google_cloud_go_pubsub",
"com_google_cloud_go_redis",
"com_google_cloud_go_secretmanager",
"com_google_cloud_go_spanner",
"com_google_cloud_go_storage",
"in_gopkg_fsnotify_v1",
"in_gopkg_olivere_elastic_v5",
"in_gopkg_yaml_v2",
"in_gopkg_yaml_v3",
"io_k8s_api",
"io_k8s_apimachinery",
"io_k8s_client_go",
"io_k8s_kubectl",
"io_k8s_sigs_yaml",
"io_opencensus_go",
"io_opencensus_go_contrib_exporter_stackdriver",
"io_opentelemetry_go_otel",
"io_opentelemetry_go_otel_bridge_opencensus",
"io_opentelemetry_go_otel_sdk",
"io_temporal_go_api",
"io_temporal_go_sdk",
"io_temporal_go_sdk_contrib_opentelemetry",
"net_howett_plist",
"org_chromium_go_luci",
"org_golang_google_api",
"org_golang_google_genai",
"org_golang_google_genproto",
"org_golang_google_genproto_googleapis_api",
"org_golang_google_genproto_googleapis_rpc",
"org_golang_google_grpc",
"org_golang_google_grpc_cmd_protoc_gen_go_grpc",
"org_golang_google_protobuf",
"org_golang_x_exp",
"org_golang_x_net",
"org_golang_x_oauth2",
"org_golang_x_sync",
"org_golang_x_sys",
"org_golang_x_term",
"org_golang_x_text",
"org_golang_x_time",
"org_golang_x_tools",
)
inject_repo(
go_deps,
googleapis = "googleapis",
grpc = "grpc",
protobuf = "com_google_protobuf",
rules_go = "rules_go",
)
go_sdk.from_file(
go_mod = "//:go.mod",
)
use_repo(go_sdk, go_sdk = "go_default_sdk")
register_toolchains("@rules_go//go/toolchain:all")
####################################################################################################
# pnpm setup
####################################################################################################
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
node.toolchain(node_version = "20.19.0")
use_repo(node, "nodejs_toolchains")
use_repo(node, "nodejs")
pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm")
pnpm.pnpm(
name = "pnpm",
pnpm_version = "10.13.1",
)
use_repo(pnpm, "pnpm")
npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
npm.npm_translate_lock(
name = "npm",
additional_file_contents = {},
bins = {
"ts-proto": [
"protoc-gen-ts_proto=./protoc-gen-ts_proto",
],
},
custom_postinstalls = {},
data = [
"//:package.json",
],
dev = False,
external_repository_action_cache = ".aspect/rules/external_repository_action_cache",
lifecycle_hooks = {
"*": [
"preinstall",
"install",
"postinstall",
],
},
lifecycle_hooks_envs = {},
lifecycle_hooks_execution_requirements = {
"*": [
"no-sandbox",
],
},
no_optional = False,
npm_package_lock = "//:package-lock.json",
npm_package_target_name = "{dirname}",
npmrc = "//:.npmrc",
package_visibility = {},
patch_args = {
"*": [
"-p0",
],
},
patches = {},
pnpm_lock = "//:pnpm-lock.yaml",
preupdate = [],
prod = False,
quiet = False,
update_pnpm_lock = True,
verify_node_modules_ignored = "//:.bazelignore",
)
use_repo(
npm,
"npm",
)
####################################################################################################
# rules_python setup
####################################################################################################
python_version = "3.11"
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
configure_coverage_tool = True,
ignore_root_user_error = True,
python_version = python_version,
)
use_repo(python, "python_3_11")
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
download_only = True,
extra_pip_args = ["--index-url=https://pypi.org/simple"],
hub_name = "pypi",
python_version = python_version,
requirements_lock = "//:requirements.txt",
)
use_repo(pip, "pypi")
####################################################################################################
# rules_distroless setup
####################################################################################################
apt = use_extension("@rules_distroless//apt:extensions.bzl", "apt")
# These are sets of packages installed in various images.
apt.install(
name = "autoroll-be-apt-install",
lock = "@@//autoroll:autoroll-be.lock.json",
manifest = "//autoroll:autoroll-be.yaml",
)
use_repo(apt, "autoroll-be-apt-install")
apt.install(
name = "base-cipd-apt-install",
lock = "@@//kube/base-cipd:base-cipd.lock.json",
manifest = "//kube/base-cipd:base-cipd.yaml",
)
use_repo(apt, "base-cipd-apt-install")
apt.install(
name = "fiddler-base-apt-install",
lock = "@@//fiddlek:fiddler-base.lock.json",
manifest = "//fiddlek:fiddler-base.yaml",
)
use_repo(apt, "fiddler-base-apt-install")
apt.install(
name = "cd-apt-install",
lock = "@@//cd:cd.lock.json",
manifest = "//cd:cd.yaml",
)
use_repo(apt, "cd-apt-install")
apt.install(
name = "docsyserver-apt-install",
lock = "@@//docsyserver:docsyserver.lock.json",
manifest = "//docsyserver:docsyserver.yaml",
)
use_repo(apt, "docsyserver-apt-install")
apt.install(
name = "task-scheduler-jc-apt-install",
lock = "@@//task_scheduler:task-scheduler-jc.lock.json",
manifest = "//task_scheduler:task-scheduler-jc.yaml",
)
use_repo(apt, "task-scheduler-jc-apt-install")
####################################################################################################
# Bazelisk
####################################################################################################
# This is sort of a circular dependency, but some of our Docker images need a
# copy of Bazelisk to perform builds. It's convenient to define that here.
http_file(
name = "bazelisk",
downloaded_file_path = "bazelisk",
executable = True,
sha256 = "e1508323f347ad1465a887bc5d2bfb91cffc232d11e8e997b623227c6b32fb76",
url = "https://github.com/bazelbuild/bazelisk/releases/download/v1.27.0/bazelisk-linux-amd64",
)
######################
# Docker containers. #
######################
oci = use_extension("@rules_oci//oci:extensions.bzl", "oci")
# This is a pinned version of JS fiddle - we use the canvaskit.js/canvaskit.wasm inside it
# when running apps (e.g. skottie.skia.org) locally. All our apps (except debugger) use the stock
# version of CanvasKit, so they can share this. If there is an update to CanvasKit APIs and we want
# to test them out locally, we should update this to a newer version. See the k8s-config repo
# for a recent commit to use. You can also get the latest sha256 by either:
# 1. Running `docker pull gcr.io/skia-public/jsfiddle-final:latest` and looking for the sha256
# in the log. This requires docker to be installed and authenticated through gcloud.
# 2. Going to https://skia.googlesource.com/k8s-config/+/refs/heads/main/skia-infra-public/jsfiddle.yaml
# and looking for sha256 on the jsfiddle-final image.
oci.pull(
name = "pinned_jsfiddle",
digest = "sha256:5568aeae86571887e422aec871893a7df9aec305279979b73f335b77a22ee9c1",
image = "gcr.io/skia-public/jsfiddle-final",
)
use_repo(oci, "pinned_jsfiddle")
# Debugger's version of CanvasKit is built with different flags
oci.pull(
name = "pinned_debugger",
digest = "sha256:1f375eaf54a0636b509e8e6e1eb19b4d134a055093cde37c3aac37171d25a107",
image = "gcr.io/skia-public/debugger-app-final",
)
use_repo(oci, "pinned_debugger")
# This is an arbitrary version of the public Alpine image. Given our current rules, we must pull
# a docker container and extract some files, even if we are just building local versions (e.g.
# of debugger or skottie), so this is the image for that.
oci.pull(
name = "empty_container",
digest = "sha256:1e014f84205d569a5cc3be4e108ca614055f7e21d11928946113ab3f36054801",
image = "index.docker.io/alpine",
)
use_repo(oci, "empty_container")
# Pulls the gcr.io/skia-public/basealpine container, needed by the skia_app_container macro.
oci.pull(
name = "basealpine",
digest = "sha256:5474db9668fb91cbf71b160e41047ca48a7686a25b7e3d38da9f1c720683e2c7",
image = "gcr.io/skia-public/basealpine",
)
use_repo(oci, "basealpine")
# Pulls a specific version of Alpine to be used as a base for basealpine.
oci.pull(
name = "alpine",
digest = "sha256:e0baf8c394150ac5a14925e179100519f5e37c53547f647acbd9f8eb3e5c4528",
image = "alpine:3.22",
)
use_repo(oci, "alpine")
# Pulls the debian:testing-slim image, needed by the skia_app_container macro.
# Note: if using apt.install in conjunction with this or any other base image,
# the archive version in the YAML file must be compatible with this image.
oci.pull(
name = "debian-testing-slim",
digest = "sha256:fc00cc6049937150a6ae6403d0ab99db9583eafc9252b448ecec5011f62a3602",
image = "debian:testing-slim",
platforms = ["linux/amd64"],
)
use_repo(oci, "debian-testing-slim")
# Pulls the gcr.io/skia-public/docsyserver-base container, needed by docsyserver.
oci.pull(
name = "docsyserver-base",
digest = "sha256:c92739a43735be44a28135c9eac75753c64c2d3b9ba5c97efcaf57d5bd2ab12a",
image = "gcr.io/skia-public/docsyserver-base",
)
use_repo(oci, "docsyserver-base")
# Pulls the envoyproxy/envoy-alpine:v1.16.1 container, needed by skfe.
oci.pull(
name = "envoy_alpine",
digest = "sha256:061559f887b6b7980ea1ebb5af636079858d8b0f51cd803b9fe16f87811ff7d3",
image = "index.docker.io/envoyproxy/envoy-alpine",
)
use_repo(oci, "envoy_alpine")
# Pulls the node alpine container, needed by npm-audit-mirror.
oci.pull(
name = "node_alpine",
digest = "sha256:1e168eaa83acc4b002f7b91bd3584f6800c84737337fe665224c963ed6b5b1c0", # index.docker.io/node:current-alpine3.21 as of Oct 2, 2025.
image = "docker.io/library/node",
)
use_repo(oci, "node_alpine")
# Pulls the https://gcr.io/cloud-builders/kubectl container, needed by apps that use kubectl.
oci.pull(
name = "kubectl",
digest = "sha256:63553d791cbdd3aa9fc2bc0b3a6a6d33130c1b8927b2db368c756aa45c89a356", # 25 Oct 2023
image = "gcr.io/cloud-builders/kubectl",
)
use_repo(oci, "kubectl")
# Pulls the gcr.io/google.com/cloudsdktool/cloud-sdk:latest container needed by Perf backup.
oci.pull(
name = "cloudsdk",
digest = "sha256:900b74f1fb2c9f93c6d4b121a7f23981143496f36aacb72e596ccaedad640cf1", # @latest as of Apr 27, 2022.
image = "gcr.io/google.com/cloudsdktool/cloud-sdk",
)
use_repo(oci, "cloudsdk")
# Pulls the google-go.pkg.dev/golang image.
oci.pull(
name = "golang",
digest = "sha256:80ccdc8f8ac8d819cdbc15a33334125e0288c09ac030307dcd893d2b5c6179ae",
image = "google-go.pkg.dev/golang",
)
use_repo(oci, "golang")
# docker.io/temporalio/server:1.29.2 as of 07/08/2026.
oci.pull(
name = "temporal-server",
digest = "sha256:846c6f50f53ac39ff7399ab9e20e583b993b14c1bca4c3d77dab87b8c2821055",
image = "docker.io/temporalio/server",
platforms = ["linux/amd64"],
)
use_repo(oci, "temporal-server")
# docker.io/temporalio/admin-tools:1.29.1-tctl-1.18.4-cli-1.5.0 as of 07/08/2026.
oci.pull(
name = "temporal-admin-tools",
digest = "sha256:67ee116b6442fd467168081509debecd61bafa506f56aa78e0ee6b6ad3c54691",
image = "docker.io/temporalio/admin-tools",
platforms = ["linux/amd64"],
)
# docker.io/temporalio/ui:2.44.0 (compatible with 1.29.2) as of 07/08/2026.
oci.pull(
name = "temporal-ui",
digest = "sha256:8c43757f169c94051398fa2abcf8fca05405ca492d0b44cff0ed059537cd33de",
image = "docker.io/temporalio/ui",
platforms = ["linux/amd64"],
)
use_repo(
oci,
"debian-testing-slim_linux_amd64",
"temporal-admin-tools",
"temporal-admin-tools_linux_amd64",
"temporal-server_linux_amd64",
"temporal-ui",
"temporal-ui_linux_amd64",
)
####################################################################################################
# CA Certificates
####################################################################################################
gcs_mirror.http_archive(
name = "ca-certificates",
build_file_content = "exports_files([\"data.tar.xz\"])",
sha256 = "0b5970c26e74d254bb2a59100d7b9d0612ea0b60bd78987cd71e0aebae5221d7",
url = "https://snapshot-cloudflare.debian.org/archive/debian/20260421T143351Z/pool/main/c/ca-certificates/ca-certificates_20260223_all.deb",
)
use_repo(gcs_mirror, "ca-certificates")
####################################################################################################
# bazel_skylib
####################################################################################################
# These are used for unit tests.
register_toolchains(
"@bazel_skylib//toolchains/unittest:cmd_toolchain",
)
####################################################################################################
# CIPD packages.
####################################################################################################
cipd = use_extension("//bazel/external:cipd_install.bzl", "cipd")
cipd.download_http(
name = "git",
cipd_package = "infra/3pp/tools/git/${platform}",
platform_to_sha256 = {
"linux-amd64": "558e89bd164fd5d4d2bb88a95cdd7df1811ca5c64314a53991aab9a150f2a5a9",
"linux-arm64": "4688e877cb4bb4323e5355d3af856cb20aee8490684c292107498a1485d140d5",
"mac-amd64": "dca86a00c9dfdfda4de274d19761270bfdf502543c8f8215e41890b04ebde266",
"mac-arm64": "cdaf2b744496079740b19bb2e56a65b04d71bebddc8b309dbed0640bce5a8993",
"windows-amd64": "66f63edaa34a43bd9cbe8a3054b15f98e468b903f6d4962700b503f5ddd947d4",
},
postinstall_cmds_posix = [
"mkdir etc",
"bin/git config --system user.name \"Bazel Test User\"",
"bin/git config --system user.email \"bazel-test-user@example.com\"",
],
postinstall_cmds_win = [
"mkdir etc",
"bin/git.exe config --system user.name \"Bazel Test User\"",
"bin/git.exe config --system user.email \"bazel-test-user@example.com\"",
],
tag = "version:3@2.55.0.chromium.11",
)
use_repo(cipd, "git_linux-amd64", "git_windows-amd64")
cipd.download_http(
name = "git_wrapper",
cipd_package = "infra/tools/git/${platform}",
platform_to_sha256 = {
"linux-amd64": "bd92aa173c3a1c87b2239a0962faa91601d7ff68d3653fa0ba7d0e94c9625420",
"linux-arm64": "eb078334640b4227828ced26bb630e1d63716266c1576531f417f079013afc8d",
"mac-amd64": "6cf954186c8eb69636d5a05edcd0ddfd17203c01318c7f47f47beccc95f9c4c1",
"mac-arm64": "493d41dcc6c56aa5f03e92cb7d2e8ed2c77bb4bf93ff0e19821a78a8b7d1a218",
"windows-amd64": "941548d997d632e18e43beb60f5c5cbca5acf54b303e4e54ac5244c235d8cb97",
},
tag = "git_revision:0163b19b4ab1d7a304639a403b8ff9d35ab9dca0",
)
use_repo(cipd, "git_wrapper_linux-amd64")
cipd.download_http(
name = "luci-auth",
cipd_package = "infra/tools/luci-auth/${platform}",
platform_to_sha256 = {
"linux-amd64": "703485b3bbfd59235c5b27ff649447955b87ecf3c286908c4ca849a6fc9d625b",
"linux-arm64": "8a2d8dab0d45fe693176315acdb24421efae77bfa97cd7724565d13de3aee0b5",
"mac-amd64": "beb1a2e33ba771f80d77e3224ba53275ab63fc1b586914c2dc2a9dd250b606fa",
"mac-arm64": "96abdb2a56a4f63d14e8655690a5db989e8ab25e08c2c63186651da8d2d89cb6",
"windows-amd64": "f7481f52ca685f279c368f298949902210ab79821386f88efe9cb262090d1edc",
},
tag = "git_revision:9429fac3f8d3e6389ffdafd9d9fa1eb791dd0fe9",
)
use_repo(cipd, "luci-auth_linux-amd64")
cipd.download_http(
name = "docker-credential-luci",
cipd_package = "infra/tools/luci/docker-credential-luci/${platform}",
platform_to_sha256 = {
"linux-amd64": "1ad5ccdfb711e7f468706aa2687da901723fcf2dc3faadead1546968475cf292",
"linux-arm64": "07ccf65ca476e74d309bf39d23d2a13e9b94a9d357c30eb12146cb191c5eca40",
"mac-amd64": "a68e51ccb5a3d5a5648b12c2cf944edf9522fe9c1bbf4b25c20a3a7b279dc811",
"mac-arm64": "640022927e4c653c64bf7844e40c67fb6c566dd5a4f0a7df67384dfe98a25686",
"windows-amd64": "3fe7b463e8c09c6b805c24296ef840cf0ff6a039c1915d87811d5c8ade6dc076",
},
tag = "git_revision:b2fad5ab18774b86d84aa867287bfb4f2394893b",
)
use_repo(cipd, "docker-credential-luci_linux-amd64")
cipd.download_http(
name = "git-credential-luci",
cipd_package = "infra/tools/luci/git-credential-luci/${platform}",
platform_to_sha256 = {
"linux-amd64": "c1d049d7e68c42fd729cfb9d5111d62be9cad2fc75d31019909ee26fb8b17f16",
"linux-arm64": "1aaa798b8fd6b06a0d8c419935b39657a89298a76e5ad1d43c283454515833fe",
"mac-amd64": "a4d7180ac393bf435d6a7eed1095ff84048ba4d45e71a619114efffc57c8afd5",
"mac-arm64": "7a26556a8e1e6dc8a76abeed5e84de045d9a445b8941b35e7f1f4c639de96f91",
"windows-amd64": "9b6a1344bd137f2299932c106311943cad8d50f8fd568feea04fde0b9ed07125",
},
tag = "git_revision:9429fac3f8d3e6389ffdafd9d9fa1eb791dd0fe9",
)
use_repo(cipd, "git-credential-luci_linux-amd64")
cipd.download_http(
name = "isolate",
cipd_package = "infra/tools/luci/isolate/${platform}",
platform_to_sha256 = {
"linux-amd64": "3def790a6259ef6053c8d51d29b74d12a2cdfe9d5ca9eb3aaaa769690c779cdc",
"linux-arm64": "5c4dc4a199fdc848d38b67afbe43f9390c1ca2c82b8cf8ece9f8acb3cf21a531",
"mac-amd64": "0b2932377d88ac1a9ccee10a327b69b32ddeec273da93aa52b5b6557ba0fe2b2",
"mac-arm64": "215e6f44c1c601ac300a6d111077ee56c4f4929aa979d546f7760164094b4214",
"windows-amd64": "604e39502e5f1fcfebcbae85c5f608bc449403e0b8943c06ab5c473b5770e865",
},
tag = "git_revision:9429fac3f8d3e6389ffdafd9d9fa1eb791dd0fe9",
)
use_repo(cipd, "isolate_linux-amd64")
cipd.download_http(
name = "lucicfg",
cipd_package = "infra/tools/luci/lucicfg/${platform}",
platform_to_sha256 = {
"linux-amd64": "6667cb3f83444f2d9343fa691d1fd9909e952e3973c818d5c032218557f7e779",
"linux-arm64": "f0c2a7298daedbe41b685070933af03d9fda66665dc2ef34cf372ba8b2f36e62",
"mac-amd64": "216280316136ea253811b172a858453f5ec18dd5f4916e461f1ece23744ce466",
"mac-arm64": "d1b4b401c164c5ce70d1d62ecc64fa43efeb34dea91986d49c8e73351f9d49bb",
"windows-amd64": "21458cdac92c2668be5435770ba26a4c773947479b30048f27093f4d811157e7",
},
tag = "git_revision:9429fac3f8d3e6389ffdafd9d9fa1eb791dd0fe9",
)
use_repo(cipd, "lucicfg_linux-amd64")
cipd.download_http(
name = "swarming",
cipd_package = "infra/tools/luci/swarming/${platform}",
platform_to_sha256 = {
"linux-amd64": "d3de1d8653fddc7badf84626db1596d149eee0a066e279d131580d26ac44b1e6",
"linux-arm64": "109f3fb1d72a18c00124226e04ff06aaf607b85dac97deda1b74673836e5c588",
"mac-amd64": "8a792c09060fb62210b7349b00ec30594e489bf9e80ef03dc42c0fcac0dedff4",
"mac-arm64": "dcc16ae66b533aac270375608040b3231c1135331823b6e6b9a84fe9d190da39",
"windows-amd64": "3994885e66dd9295ea4edbcc496c8e14cd6aef3ac61a64d896ec434893d7f4fb",
},
tag = "git_revision:9429fac3f8d3e6389ffdafd9d9fa1eb791dd0fe9",
)
use_repo(cipd, "swarming_linux-amd64")
cipd.download_http(
name = "vpython3",
cipd_package = "infra/tools/luci/vpython3/${platform}",
platform_to_sha256 = {
"linux-amd64": "f536c34ffca9c6c2bd73d06403b667b9d250917cf2d58070671ab6a89af47e7d",
"linux-arm64": "668b06d25ca2893e6545dd6db35486dfb1a89f86169b1116e385c34de5d27cd2",
"mac-amd64": "40637e208b8452bd1ad322e562d5588cf605d70d68dfd415adde77e479e6bb2b",
"mac-arm64": "0ade0d2e63b9143a495d78f594622909c5dd0ca0aa4b083b08015ab2664be150",
"windows-amd64": "06eedab6785cf4a55a97ae8437a72fed9cac513c8f2d469266901538ee1399b5",
},
tag = "git_revision:7af4577a75d54724a2dbd92b17da3a579d6f8f1d",
)
use_repo(cipd, "vpython3_linux-amd64")
cipd.download_http(
name = "gsutil",
cipd_package = "skia/bots/gsutil",
sha256 = "ce033513e57dae147ad2c87acb2c62e5766d8323e0f5b75de8c71cd64e390d9b",
tag = "version:6",
)
use_repo(cipd, "gsutil")
cipd.download_http(
name = "patch_linux_amd64",
cipd_package = "skia/bots/patch_linux_amd64",
sha256 = "757fd36db06f291f77a91aa314b855af449665a606d627ce16c36813464e1df6",
tag = "version:0",
)
use_repo(cipd, "patch_linux_amd64")
cipd.download_http(
name = "goldctl",
cipd_package = "skia/tools/goldctl/${platform}",
platform_to_sha256 = {
"linux-amd64": "6b23483d4f3ec50a6bb5c9726473f8e93c00800d5d9ca8ba722de796a76c3f58",
"linux-arm64": "5a416a59a8ff75dd0e73d071b7ece6cb21a3fcf417ce88aa84db5bd8a1d8170f",
"mac-amd64": "fbe7692a3ebfdec23dfbe01e589e08f47d323347e9270f02d512d3421c9175ab",
"mac-arm64": "990eabbd6126da3172a83c8b84d07c331a441472847395c1c8cc71fcef8dec04",
"windows-amd64": "51b7a15e29c9e4452cf576670ea3af69f4aff444fbd48cec9724986100843783",
},
tag = "git_revision:0163b19b4ab1d7a304639a403b8ff9d35ab9dca0",
)
use_repo(cipd, "goldctl_linux-amd64")
cipd.download_http(
name = "cpython3",
cipd_package = "infra/3pp/tools/cpython3/${platform}",
platform_to_sha256 = {
"linux-amd64": "e5a5c27b7abd15474bb8144ab0ef54339e42db52d9a23d83ccd23c060403043c",
"linux-arm64": "3e3598e1b9a174cbf6d08ef2e0b14a4dc20b31036e4b0c654fe7a051aa5906ad",
"mac-amd64": "5818d8234bb4d0d2827693b769ff2477bfe95dc57e6e454a2a558443b29d0bec",
"mac-arm64": "7f2af7aafc3e969d1e872bcc8a51e539f47cb6c392879e6871dba3edb0210830",
"windows-amd64": "c21719e6fee4808c200014a5b117ebb7e65dc673685cd9c3df445c09b65b9e2f",
},
tag = "version:3@3.13.14.chromium.1",
)
use_repo(cipd, "cpython3_linux-amd64")
cipd.download_http(
name = "bazel_build_all",
cipd_package = "skia/tools/bazel_build_all/${platform}",
platform_to_sha256 = {
"linux-amd64": "2b0a12446f882e625567b9df520e60e49d014fc5443e807de925584c047cc599",
"linux-arm64": "64bff796aa7f45491c1ae69b0ce8a6059556d2290bb92c444513bfd135075153",
"mac-amd64": "e02d74594d6733e78fd4c9c15801ce2424e0d1aa2cbbe00ad8922a7ae30b3265",
"mac-arm64": "9ccad4e5dd0cc0a116010a3dfd6d6c6e3c6cede5dd1e11072f29de83e47b5c2e",
"windows-amd64": "8884864c98d43b714b213516486bcc0c056ba77d3ea56ef972c35a48837b5004",
},
tag = "git_revision:3a8800d3d80a0bb53325d39b76d03653a2c30994",
)
use_repo(cipd, "bazel_build_all_linux-amd64")
cipd.download_http(
name = "bazel_test_all",
cipd_package = "skia/tools/bazel_test_all/${platform}",
platform_to_sha256 = {
"linux-amd64": "c6ffde14ef4a2f1d20a102215af79131558ad3f59f72aeda37393920143d24ae",
"linux-arm64": "6518b6690cd290c45542c704d7ee06847f4819128abced033cd9ba2a501963a9",
"mac-amd64": "8644c9d357a572e708ef5a6974eb402daca5f82acb430c342ce6841652ac7630",
"mac-arm64": "4ea1261eeb1edaf2ef2613687e56c90a38db39a3a0cd6c2323207ad8cdcaafe8",
"windows-amd64": "7b10f1b0124b6483ce2d6f53061e698c342a5f24a09e66751d13a74818bc9d59",
},
tag = "git_revision:3a8800d3d80a0bb53325d39b76d03653a2c30994",
)
use_repo(cipd, "bazel_test_all_linux-amd64")
cipd.download_http(
name = "command_wrapper",
cipd_package = "skia/tools/command_wrapper/${platform}",
platform_to_sha256 = {
"linux-amd64": "723655ddc9cc28c4b7ce2e6cacc4001ed5f05ee9e82839a8ebed1023a35338c3",
"linux-arm64": "552c29eadb37fa31a5ffe3c5fe35a571788b548bd3664f42715968e25f64b8e8",
"mac-amd64": "20968f2df9fcb7aa6380d4cbb6139b6679b40a1ff087f3754ba7a2ab04ae9c36",
"mac-arm64": "5af332c74604fdfe717eae8dd15930bdfa31e7bdd2c777566f66fb40f02cc426",
"windows-amd64": "4f25e1451fb6be791a4196e5564d46a40ff8c3c32758693954abca12654b24a8",
},
tag = "git_revision:3a8800d3d80a0bb53325d39b76d03653a2c30994",
)
use_repo(cipd, "command_wrapper_linux-amd64")
cipd.download_http(
name = "presubmit",
cipd_package = "skia/tools/presubmit/${platform}",
platform_to_sha256 = {
"linux-amd64": "6c6a625fd142d26c700d1c778a651b7f1416d73b3818920ce6b7fc965adb787c",
"linux-arm64": "04d74401fff2fe643cad1237f8f74481bf6c097dee116b00b23bdc1ebb65480a",
"mac-amd64": "66440a12388c4626cd4e705f7607c6e0a1d6091d5b0b78d4a7636f4df4729edd",
"mac-arm64": "e0b88bbd3936b3a5cf446083a6fa980fcfd2a60e3abd99315585673c5a379f7b",
"windows-amd64": "52b65cc94523a5dff3bf4c3b7fc74b9bbd6b623d7d1c804b03000e133f0e8bb5",
},
tag = "git_revision:3a8800d3d80a0bb53325d39b76d03653a2c30994",
)
use_repo(cipd, "presubmit_linux-amd64")
cipd.download_http(
name = "cipd",
cipd_package = "infra/tools/cipd/${platform}",
platform_to_sha256 = {
"linux-amd64": "4aabffaf66cf53af0d4ca2a48430cc6cc5ef6321af05481f0ee499dacae724f7",
"linux-arm64": "d9a93e11e2a3b8f1a0b0db8cb04e869afe03ab3f2c06664d81d5d1fcfbdb0b67",
"mac-amd64": "259cde5e7776bdeb671b099be9d9038e5f254415da5c0ebd7be24c36ba1d64ae",
"mac-arm64": "c51f6339d164789b156a1a7de5c3af3006ea7f0f3907bf97b381ab92defe5f92",
"windows-amd64": "8b402dd0b0e67a4c8e2547971452dd8d9552b1a240dc2865205a9c15da420f62",
},
tag = "git_revision:9429fac3f8d3e6389ffdafd9d9fa1eb791dd0fe9",
)
use_repo(cipd, "cipd_linux-amd64")
cipd.download_http(
name = "kitchen",
cipd_package = "infra/tools/luci/kitchen/${platform}",
platform_to_sha256 = {
"linux-amd64": "288109e77c401a74af2827eb0513b5b4225ef8bfdd0db38d629242ce51fbad0d",
"linux-arm64": "9b902d6b46ab5f0294f5a0e565c239eca66b1cceb1f5c3bde744966dabcf18c7",
"mac-amd64": "1aef56276685b369e23c0daec19fe2e7ab9e4ce247092592b05545040ed72117",
"mac-arm64": "6ac9349dbe2685552e10d8e37526476e14b5e6bd92ba04dd417557c880ba6fd2",
"windows-amd64": "d6658a04c6c8de65bd7939557c612db8b6890af28db17ffc68042b012b35e682",
},
tag = "git_revision:0163b19b4ab1d7a304639a403b8ff9d35ab9dca0",
)
use_repo(cipd, "bazel_build_all_linux-arm64", "bazel_build_all_mac-amd64", "bazel_build_all_mac-arm64", "bazel_build_all_windows-amd64", "bazel_test_all_linux-arm64", "bazel_test_all_mac-amd64", "bazel_test_all_mac-arm64", "bazel_test_all_windows-amd64", "cipd_linux-arm64", "cipd_mac-amd64", "cipd_mac-arm64", "cipd_windows-amd64", "command_wrapper_linux-arm64", "command_wrapper_mac-amd64", "command_wrapper_mac-arm64", "command_wrapper_windows-amd64", "cpython3_linux-arm64", "cpython3_mac-amd64", "cpython3_mac-arm64", "cpython3_windows-amd64", "docker-credential-luci_linux-arm64", "docker-credential-luci_mac-amd64", "docker-credential-luci_mac-arm64", "docker-credential-luci_windows-amd64", "git-credential-luci_linux-arm64", "git-credential-luci_mac-amd64", "git-credential-luci_mac-arm64", "git-credential-luci_windows-amd64", "git_linux-arm64", "git_mac-amd64", "git_mac-arm64", "git_wrapper_linux-arm64", "git_wrapper_mac-amd64", "git_wrapper_mac-arm64", "git_wrapper_windows-amd64", "goldctl_linux-arm64", "goldctl_mac-amd64", "goldctl_mac-arm64", "goldctl_windows-amd64", "isolate_linux-arm64", "isolate_mac-amd64", "isolate_mac-arm64", "isolate_windows-amd64", "kitchen_linux-amd64", "kitchen_linux-arm64", "kitchen_mac-amd64", "kitchen_mac-arm64", "kitchen_windows-amd64", "luci-auth_linux-arm64", "luci-auth_mac-amd64", "luci-auth_mac-arm64", "luci-auth_windows-amd64", "lucicfg_linux-arm64", "lucicfg_mac-amd64", "lucicfg_mac-arm64", "lucicfg_windows-amd64", "presubmit_linux-arm64", "presubmit_mac-amd64", "presubmit_mac-arm64", "presubmit_windows-amd64", "swarming_linux-arm64", "swarming_mac-amd64", "swarming_mac-arm64", "swarming_windows-amd64", "vpython3_linux-arm64", "vpython3_mac-amd64", "vpython3_mac-arm64", "vpython3_windows-amd64")
####################################################################################################
# GCloud SDK.
####################################################################################################
http_archive(
name = "gcloud_linux",
build_file_content = """
filegroup(
name = "all_files",
srcs = glob(["**/*"]),
visibility = ["//visibility:public"]
)
""",
sha256 = "2ab0f75435a9ada0b7400500adbfbdfeceab2a6330c4043f68c543fc5c5c14da",
url = "https://storage.googleapis.com/cloud-sdk-release/google-cloud-cli-564.0.0-linux-x86_64.tar.gz",
)
####################################################################################################
# protoc.
####################################################################################################
# The following archives were taken from
# https://github.com/protocolbuffers/protobuf/releases/tag/v21.12.
PROTOC_BUILD_FILE_CONTENT = """
exports_files(["bin/protoc"], visibility = ["//visibility:public"])
"""
gcs_mirror.http_archive(
name = "protoc_linux_x64",
build_file_content = PROTOC_BUILD_FILE_CONTENT,
sha256 = "3a4c1e5f2516c639d3079b1586e703fc7bcfa2136d58bda24d1d54f949c315e8",
url = "https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protoc-21.12-linux-x86_64.zip",
)
use_repo(gcs_mirror, "protoc_linux_x64")
gcs_mirror.http_archive(
name = "protoc_mac_x64",
build_file_content = PROTOC_BUILD_FILE_CONTENT,
sha256 = "9448ff40278504a7ae5139bb70c962acc78c32d8fc54b4890a55c14c68b9d10a",
url = "https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protoc-21.12-osx-x86_64.zip",
)
use_repo(gcs_mirror, "protoc_mac_x64")
####################################################################################################
# pgadapter.
####################################################################################################
http_archive(
name = "pgadapter",
build_file_content = """
filegroup(
name = "all_files",
srcs = glob(["**/*"]),
visibility = ["//visibility:public"]
)
""",
sha256 = "2dbb655dddc113eb14659e121839a9d3a5de34544ce88a1dd4dd88c23d436ae3",
urls = ["https://storage.googleapis.com/pgadapter-jar-releases/pgadapter-v0.47.1.tar.gz"],
)
####################################################################################################
# CockroachDB (used as an "emulator" for tests).
####################################################################################################
gcs_mirror.http_archive(
name = "cockroachdb_linux",
build_file_content = """
filegroup(
name = "all_files",
srcs = glob(["**/*"]),
visibility = ["//visibility:public"]
)
""",
sha256 = "05293e76dfb6443790117b6c6c05b1152038b49c83bd4345589e15ced8717be3",
strip_prefix = "cockroach-v21.1.9.linux-amd64",
url = "https://binaries.cockroachdb.com/cockroach-v21.1.9.linux-amd64.tgz",
)
use_repo(gcs_mirror, "cockroachdb_linux")
####################################################################################################
# bazel-toolchains rbe_configs_gen (prebuilt).
####################################################################################################
# Read the instructions in //bazel/rbe/generated/README.md before updating this repository.
http_archive(
name = "bazel_toolchains",
sha256 = "179ec02f809e86abf56356d8898c8bd74069f1bd7c56044050c2cd3d79d0e024",
strip_prefix = "bazel-toolchains-4.1.0",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/releases/download/4.1.0/bazel-toolchains-4.1.0.tar.gz",
"https://github.com/bazelbuild/bazel-toolchains/releases/download/4.1.0/bazel-toolchains-4.1.0.tar.gz",
],
)
rbe_exec_properties = use_extension("//bazel/external:rbe_exec_properties.bzl", "rbe_exec_properties")
rbe_exec_properties.setup(name = "exec_properties")
use_repo(rbe_exec_properties, "exec_properties")
gcs_mirror.http_file(
name = "rbe_configs_gen_linux_amd64",
downloaded_file_path = "rbe_configs_gen",
executable = True,
no_extension = True,
sha256 = "1206e8a79b41cb22524f73afa4f4ee648478f46ef6990d78e7cc953665a1db89",
url = "https://github.com/bazelbuild/bazel-toolchains/releases/download/v5.1.2/rbe_configs_gen_linux_amd64",
)
use_repo(gcs_mirror, "rbe_configs_gen_linux_amd64")
####################################################################################################
# Google Cloud SDK (needed for the Google Cloud Emulators).
####################################################################################################
google_cloud_sdk = use_extension("//bazel/external:google_cloud_sdk.bzl", "google_cloud_sdk")
google_cloud_sdk.download(name = "google_cloud_sdk")
use_repo(google_cloud_sdk, "google_cloud_sdk")
####################################################################################################
# Google Chrome and Fonts (needed for Karma and Puppeteer tests, respectively).
####################################################################################################
# TODO(borenet): we should be able to use this from rules_browsers.
google_chrome = use_extension("//bazel/external:google_chrome.bzl", "google_chrome")
google_chrome.download(name = "google_chrome")
use_repo(google_chrome, "google_chrome")
####################################################################################################
# Temporal repo, used to package DB schemas into the temporal-server image.
####################################################################################################
gcs_mirror.http_archive(
name = "com_github_temporal",
build_file_content = """
load("@rules_pkg//:pkg.bzl", "pkg_tar")
pkg_tar(
name = "schemas",
srcs = glob([
"schema/postgresql/v96/**/*.sql",
"schema/postgresql/v96/**/*.json",
"schema/postgresql/v12/**/*.sql",
"schema/postgresql/v12/**/*.json",
], allow_empty = True),
strip_prefix = "external/+gcs_mirror+com_github_temporal",
package_dir = "/etc/temporal",
visibility = ["//visibility:public"],
)
""",
sha256 = "386b33f987bc930036d9e765dad5aa4fbd867ac2c132ce76795f071cd988215a",
strip_prefix = "./temporal-1.29.2",
url = "https://github.com/temporalio/temporal/archive/refs/tags/v1.29.2.tar.gz",
)
use_repo(gcs_mirror, "com_github_temporal")
gcs_mirror.http_file(
name = "swiftshader_libglesv2",
downloaded_file_path = "libGLESv2.so",
no_extension = True,
sha256 = "ad44026cb104b3283c738e7678b3dad5c834f551f47d855200ab3332e83e34a9",
url = "https://cdn.skia.org/swiftshader/libGLESv2.so",
)
use_repo(gcs_mirror, "swiftshader_libglesv2")
gcs_mirror.http_file(
name = "swiftshader_libegl",
downloaded_file_path = "libEGL.so",
no_extension = True,
sha256 = "5e0a2b662e532c53a1bd87397704507dfa1d31a53ab9d8ae37de1b9a01498ea6",
url = "https://cdn.skia.org/swiftshader/libEGL.so",
)
use_repo(gcs_mirror, "swiftshader_libegl")
#########
# docsy #
#########
docsy = use_extension("//bazel/external/docsy:docsy.bzl", "docsy")
use_repo(docsy, "docsy")
# Docsy is a Hugo module.
http_archive(
name = "hugo",
build_file_content = """
filegroup(
name = "file",
srcs = ["hugo"],
visibility = ["//visibility:public"]
)
""",
sha256 = "9f57338fc76f4ac363b0ac35f393294a26522bb179fb4c3f19855a68ab55476a",
url = "https://github.com/gohugoio/hugo/releases/download/v0.91.0/hugo_extended_0.91.0_Linux-64bit.tar.gz",
)