renovate/docs/usage/bazel.md

1.6 KiB

title description
Bazel Bazel dependencies support in Renovate

Bazel

Renovate supports upgrading dependencies in Bazel WORKSPACE files.

How it works

  1. Bazel support is enabled automatically
  2. Renovate will search repositories for any WORKSPACE files in the repository
  3. Existing dependencies will be extracted from git_repository and http_archive declarations
  4. Renovate will replace any old versions with the latest version available

git_repository

Renovate will update any git_repository declaration that has the following:

  1. name
  2. remote matching https://github.com/<owner>/<repo>.git
  3. tag using a valid SemVer

e.g.:

git_repository(
    name = "build_bazel_rules_typescript",
    remote = "https://github.com/bazelbuild/rules_typescript.git",
    tag = "0.6.1",
)

Renovate uses the list of tags on the remote repository (GitHub) to detect a new version.

http_archive and http_file

Renovate will update any http_archive or http_file declaration that has the following:

  1. name
  2. url matching https://github.com/<owner>/<repo>/releases/download/<semver>/<repo>.tar.gz
  3. sha256

e.g.:

http_archive(
    name = "io_bazel_rules_go",
    url = "https://github.com/bazelbuild/rules_go/releases/download/0.7.1/rules_go-0.7.1.tar.gz",
    sha256 = "341d5eacef704415386974bc82a1783a8b7ffbff2ab6ba02375e1ca20d9b031c",
)

Renovate uses the list of releases that it finds at the url to detect a new version.

Future work

Contributions and/or feature requests are welcome to support more patterns or additional use cases.