| """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.22.1") |
| bazel_dep(name = "aspect_rules_js", version = "2.5.0") |
| bazel_dep(name = "aspect_rules_ts", version = "3.7.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_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.14") |
| bazel_dep(name = "platforms", version = "1.0.0") |
| bazel_dep(name = "xds", version = "0.0.0-20251210-ee656c7") |
| |
| 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") |
| |
| gcs_mirror = use_extension("//bazel:gcs_mirror.bzl", "gcs_mirror") |
| |
| #################################################################################################### |
| # aspect_rules_ts setup |
| #################################################################################################### |
| |
| rules_ts_ext = use_extension( |
| "@aspect_rules_ts//ts:extensions.bzl", |
| "ext", |
| dev_dependency = True, |
| ) |
| rules_ts_ext.deps( |
| 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_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_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_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_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_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_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 = "18.15.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 = {}, |
| 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 = "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:b5b6cc9fb4834ea1d2a679134a37066cdf1c7d7492bd76e9d2337f634e09d6ea", |
| 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:b50ff453ff8edf03f7e63e52e7f740107695adade8a5f629d60b5d6b47e4e6f8", |
| 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 the gcr.io/skia-public/base-cipd container, needed by some apps that use the |
| # skia_app_container macro. |
| oci.pull( |
| name = "base-cipd", |
| digest = "sha256:d775388db67ebb4d9cd36a759aaee785a3cf4a3999120f57ed9135e1445eb9d5", |
| image = "gcr.io/skia-public/base-cipd", |
| ) |
| use_repo(oci, "base-cipd") |
| |
| # Pulls the gcr.io/skia-public/cd-base container, needed by some apps that use the |
| # skia_app_container macro. |
| oci.pull( |
| name = "cd-base", |
| digest = "sha256:59412eeaf3336f14a8fef1b0b02134c9877bf5aba16549e8c59d5e4de29719b8", |
| image = "gcr.io/skia-public/cd-base", |
| ) |
| use_repo(oci, "cd-base") |
| |
| # 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") |
| |
| # Pulls the gcr.io/skia-public/fiddler-build-skia image. |
| oci.pull( |
| name = "fiddler-build-skia", |
| digest = "sha256:8eea043f967e6850c3ea97d1b1a6e9a5faa704fdc86138ac5444f56af0b258c5", |
| image = "gcr.io/skia-public/fiddler-build-skia", |
| ) |
| use_repo(oci, "fiddler-build-skia") |
| |
| # docker.io/temporalio/server:1.23.1 as of 12/16/2025. |
| oci.pull( |
| name = "temporal-server", |
| digest = "sha256:6831458b0f15efc3aa9f1df82d9e3da9f78c18e1eb310b67ffb6040362ed2f9d", |
| image = "docker.io/temporalio/server", |
| platforms = ["linux/amd64"], |
| ) |
| use_repo(oci, "temporal-server") |
| |
| # docker.io/temporalio/admin-tools:1.23.1.1-tctl-1.18.1-cli-0.12.0 as of 12/16/2025. |
| oci.pull( |
| name = "temporal-admin-tools", |
| digest = "sha256:c2954b70ed48ba715ba53684e9ee81e094a5619879398042db9cffe7b8aa9d50", |
| image = "docker.io/temporalio/admin-tools", |
| platforms = ["linux/amd64"], |
| ) |
| use_repo( |
| oci, |
| "temporal-admin-tools", |
| "temporal-admin-tools_linux_amd64", |
| "temporal-server_linux_amd64", |
| ) |
| |
| #################################################################################################### |
| # 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_amd64_linux", |
| cipd_package = "infra/3pp/tools/git/linux-amd64", |
| 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\"", |
| ], |
| # From https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/git/linux-amd64/+/version:2.29.2.chromium.6 |
| sha256 = "36cb96051827d6a3f6f59c5461996fe9490d997bcd2b351687d87dcd4a9b40fa", |
| tag = "version:2.29.2.chromium.6", |
| ) |
| use_repo(cipd, "git_amd64_linux") |
| |
| cipd.download_http( |
| name = "git_amd64_windows", |
| cipd_package = "infra/3pp/tools/git/windows-amd64", |
| 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\"", |
| ], |
| # From https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/git/windows-amd64/+/version:2.29.2.chromium.6 |
| sha256 = "9caaf2c6066bdcfa94f917323c4031cf7e32572848f8621ecd0d328babee220a", |
| tag = "version:2.29.2.chromium.6", |
| ) |
| use_repo(cipd, "git_amd64_windows") |
| |
| cipd.download_http( |
| name = "vpython_amd64_linux", |
| cipd_package = "infra/tools/luci/vpython/linux-amd64", |
| # From https://chrome-infra-packages.appspot.com/p/infra/tools/luci/vpython/linux-amd64/+/git_revision:31868238187077557113efa2bd4e2c7e3b3ec970 |
| sha256 = "ec210b3873665208c42e80883546d22d5f448f04e736f1e1fc015da7fc3003a3", |
| tag = "git_revision:31868238187077557113efa2bd4e2c7e3b3ec970", |
| ) |
| use_repo(cipd, "vpython_amd64_linux") |
| |
| cipd.download_http( |
| name = "cpython3_amd64_linux", |
| cipd_package = "infra/3pp/tools/cpython3/linux-amd64", |
| # From https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/cpython3/linux-amd64/+/version:2@3.11.7.chromium.31 |
| sha256 = "0ff2955adf65e2921c4abd8e2848862d3c7731feeda5c506f44e796aa4af2dc7", |
| tag = "version:2@3.11.7.chromium.31", |
| ) |
| use_repo(cipd, "cpython3_amd64_linux") |
| |
| #################################################################################################### |
| # 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", |
| ]), |
| strip_prefix = "external/+gcs_mirror+com_github_temporal", |
| package_dir = "/etc/temporal", |
| visibility = ["//visibility:public"], |
| ) |
| """, |
| sha256 = "3110fa0df19de58d6afa9b1af3dd7274a5e37d5082e424c114d7b29c696ceae1", |
| strip_prefix = "./temporal-1.23.1", |
| url = "https://github.com/temporalio/temporal/archive/refs/tags/v1.23.1.tar.gz", |
| ) |
| use_repo(gcs_mirror, "com_github_temporal") |