Rules Docker Versions Save

Rules for building and handling Docker images with Bazel

v0.25.0

1 year ago

Copy the following into your WORKSPACE file to use rules_docker at release v0.25.0

http_archive(
    name = "io_bazel_rules_docker",
    sha256 = "b1e80761a8a8243d03ebca8845e9cc1ba6c82ce7c5179ce2b295cd36f7e394bf",
    urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.25.0/rules_docker-v0.25.0.tar.gz"],
)

What's Changed

New Contributors

Full Changelog: https://github.com/bazelbuild/rules_docker/compare/v0.24.0...v0.25.0

v0.24.0

2 years ago

Copy the following into your WORKSPACE file to use rules_docker at release v0.24.0

http_archive(
    name = "io_bazel_rules_docker",
    sha256 = "27d53c1d646fc9537a70427ad7b034734d08a9c38924cc6357cc973fed300820",
    strip_prefix = "rules_docker-0.24.0",
    urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.24.0/rules_docker-v0.24.0.tar.gz"],
)

Breaking Changes:

Because of #2042, toolchain_configure's client_config becomes a Bazel label instead of an absolute path. Existing applications have to put their config.json in a Bazel repository, add Bazel rule to export it, and refer it as a label in toolchain_configure.

What's Changed:

  1. remove dependency on external python for sha256 (#1993)
  2. Update rules kotlin (#2030)
  3. Specifying client config.json with Bazel label (#2032)
  4. perf: remove no-remote-cache execution requirements (#2043)
  5. stop printing output on successful operations (#2047)
  6. Stamp e2e tests (#2000)
  7. Fix flaky tests. Use jq to sort JSON arrays before comparing them. (#2007)
  8. Replace python with python3 in incremental_load.sh.tpl (#2051)
  9. Changing docker client config attributes to Bazel labels (#2042)
  10. Clean unused package oci/ (#2061)
  11. Run script allows empty docker_args (#2053)
  12. Support credential helpers in container_pull (#2034)

v0.23.0

2 years ago

Copy the following into your WORKSPACE file to use rules_docker at release v0.23.0

http_archive(
    name = "io_bazel_rules_docker",
    sha256 = "85ffff62a4c22a74dbd98d05da6cf40f497344b3dbf1e1ab0a37ab2a1a6ca014",
    strip_prefix = "rules_docker-0.23.0",
    urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.23.0/rules_docker-v0.23.0.tar.gz"],
)

Breaking Changes

Thanks to @uhthomas we now use Bazel Transitions to request dependencies for the docker target platform. See notes in https://github.com/bazelbuild/rules_docker/pull/1963#issuecomment-997122828 about changes that might be required.

What's Changed

New Contributors

Full Changelog: https://github.com/bazelbuild/rules_docker/compare/v0.22.0...v0.23.0

v0.22.0

2 years ago

Copy the following into your WORKSPACE file to use rules_docker at release v0.22.0

http_archive(
    name = "io_bazel_rules_docker",
    sha256 = "59536e6ae64359b716ba9c46c39183403b01eabfbd57578e84398b4829ca499a",
    strip_prefix = "rules_docker-0.22.0",
    urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.22.0/rules_docker-v0.22.0.tar.gz"],
)

BREAKING CHANGES

Previous releases of rules_docker determined when to make non-deterministic, VCS-stamped outputs based on whether a { character appeared in certain attributes. Some rules had a (deprecated) stamp boolean attribute which affected this behavior all builds of that target. This makes it easy to accidentally bust the Bazel cache, for example a test that depends on a container_image might re-run every time because the image's tag changed with each git SHA.

As of this release, you should run bazel build --stamp enable stamped outputs.

To override this on a single target, the stamp attribute on these three rules is now a trinary, just like in other rulesets like rules_python

  • in place of stamp = False you should use stamp = "@io_bazel_rules_docker//stamp:never"
  • in place of stamp = True you should use stamp = "@io_bazel_rules_docker//stamp:always"
  • if no value for stamp attribute is given, the default is based on the --[no]stamp configuration of the build.

For more ideas on using this, see the blog post by the author of the stamping PR: https://blog.aspect.dev/stamping-bazel-builds-with-selective-delivery

What's Changed

New Contributors

Full Changelog: https://github.com/bazelbuild/rules_docker/compare/v0.21.0...v0.22.0

v0.21.0

2 years ago

Copy the following into your WORKSPACE file to use rules_docker at release v0.21.0

http_archive(
    name = "io_bazel_rules_docker",
    sha256 = "4349f2b0b45c860dd2ffe18802e9f79183806af93ce5921fb12cbd6c07ab69a8",
    strip_prefix = "rules_docker-0.21.0",
    urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.21.0/rules_docker-v0.21.0.tar.gz"],
)

Changes:

  1. Do not use constraints from bazel_tools (#1956)
  2. Update to a more recent rules rust and update to use defs.bzl (#1955)
  3. Upgrade rules scala (#1954)
  4. Temporarily Disable some //test/container tests in Mac (#1952)

v0.20.0

2 years ago

Copy the following into your WORKSPACE file to use rules_docker at release v0.20.0

http_archive(
    name = "io_bazel_rules_docker",
    sha256 = "92779d3445e7bdc79b961030b996cb0c91820ade7ffa7edca69273f404b085d5",
    strip_prefix = "rules_docker-0.20.0",
    urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.20.0/rules_docker-v0.20.0.tar.gz"],
)

Changes:

  1. Enable experimental_tarball_format for container_bundle. (#1938)
  2. Cache loaded images for performance improvements. (#1934)
  3. Update run.bzl (#1933)
  4. Update Distroless Base Images (#1931)
  5. Update convert bytes to string for py3 (#1922)
  6. Setting visibility of image_bzl to public so that it can be used when… (#1917)
  7. Revert "Pin bazelversion to what's tested on CI (#1873)" (#1886)
  8. feat(toolchain): add xz_target for remote execution (#1881)

v0.19.0

2 years ago

Copy the following into your WORKSPACE file to use rules_docker at release v0.19.0

http_archive(
    name = "io_bazel_rules_docker",
    sha256 = "1f4e59843b61981a96835dc4ac377ad4da9f8c334ebe5e0bb3f58f80c09735f4",
    strip_prefix = "rules_docker-0.19.0",
    urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.19.0/rules_docker-v0.19.0.tar.gz"],
)

v0.18.0

2 years ago

Copy the following into your WORKSPACE file to use rules_docker at release v0.18.0

http_archive(
    name = "io_bazel_rules_docker",
    sha256 = "5d31ad261b9582515ff52126bf53b954526547a3e26f6c25a9d64c48a31e45ac",
    strip_prefix = "rules_docker-0.18.0",
    urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.18.0/rules_docker-v0.18.0.tar.gz"],
)

Changes:

  1. Revert "Bump pyyaml from 5.1 to 5.4 in /repositories" (#1908)
  2. Removed python test dependencies from public API (#1905)
  3. Silence go module warnings in go_repository (#1897)
  4. Fix path handling in archive.py to always be posix and not native paths (#1892)
  5. Docgen: use stardoc to generate all container rules docs (#1890)
  6. Revert "Pin bazelversion to what's tested on CI (#1873)" (#1886)
  7. Ignore .ijwb folder from git (#1864)
  8. Only display status for builds on master (#1863)
  9. [ci] enable macos on buildkite (#1862)
  10. Fix URL used to download pip in examples/tests. (#1861)
  11. [ci] Remove travis badge (#1860)
  12. Migrate CI targets to buildkite (#1859)
  13. Don't upload large files to remote-cache (#1856)
  14. Allow launcher in nodejs (#1854)
  15. Correct container_py_toolchain target (#1852)
  16. Update debian9 commit hash to 01267e6 (#1837)
  17. Propagate tags to app-layers in docker images for all langs (#1836)
  18. WIP: more containers stardoc stuff (#1835)
  19. fix tab characters in docstrings (#1834)
  20. Create docs/ folder (#1832)
  21. Add stardoc API doc generation (#1830)

v0.17.0

3 years ago

Copy the following into your WORKSPACE file to use rules_docker at release v0.17.0

http_archive(
    name = "io_bazel_rules_docker",
    sha256 = "59d5b42ac315e7eadffa944e86e90c2990110a1c8075f1cd145f487e999d22b3",
    strip_prefix = "rules_docker-0.17.0",
    urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.17.0/rules_docker-v0.17.0.tar.gz"],
)

Changes:

  1. Update go-containerregsitry dependency to 0.4.1 (#1829)

  2. Fixed some missing digests and addressed other warnings (#1819)

  3. Fixed broken //tests/docker/util:all tests (#1817)

  4. Update SHA for go-containerregistry (#1815)

  5. Removed bazel_latest from default dependencies (#1813)

  6. Use actual sha for static:debug image (and update static:latest) (#1804)

  7. make downloading and installing quieter (#1798)

  8. fix the build (#1797)

  9. Revert "Setup assign-size-label action" (#1786)

  10. Introduce github action to mark stale issues/PRs (#1757)

  11. Remove warning about go_image on Mac (#1755)

  12. Add issue and PR templates (#1754)

  13. Revert "Invite maintainers from community (#1750)" (#1753)

  14. Invite maintainers from community (#1750)

  15. Add Domino Data Lab to list of adopters (#1739)

v0.16.0

3 years ago

Copy the following into your WORKSPACE file to use rules_docker at release v0.16.0

http_archive(
    name = "io_bazel_rules_docker",
    sha256 = "95d39fd84ff4474babaf190450ee034d958202043e366b9fc38f438c9e6c3334",
    strip_prefix = "rules_docker-0.16.0",
    urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.16.0/rules_docker-v0.16.0.tar.gz"],
)

Changes:

  1. Setup assign-size-label action (#1762)
  2. Introduce github action to mark stale issues/PRs (#1757)
  3. Remove warning about go_image on Mac (#1755)
  4. Add issue and PR templates (#1754)
  5. Revert "Invite maintainers from community (#1750)" (#1753)
  6. Invite maintainers from community (#1750)
  7. Add experimental_tarball_format to container_image (#1696)
  8. Update io_bazel_rules_groovy commit hash to 03c36ef (#1691)
  9. Introduce output_group for pusher executable (#1685)
  10. Relax error string matching (#1677)
  11. Add s390x support to load puller and loader binary (#1661)
  12. Use bash from the environment instead of absolute path (#1660)
  13. Add option to push images sequentially in push-all (#1658)
  14. Update python rules to remove deprecation messages (#1657)
  15. Update for compatibility with rules_python 0.1 (#1650)
  16. Update owners (#1646)
  17. Add s390x support for puller and loader binaries (#1645)
  18. Support airgapped environment (#1619)
  19. Add repository_file attribute to the container_pull rule (#1618)
  20. For gzip operations, use a new Go helper by default instead of which(gzip) (#1613)
  21. Add Linux ARM64 go pusher and loader binaries to cloudbuild (#1610)
  22. Fix the root directory when building for Linux on Windows. (#1609)
  23. Update puller and loader locations and sequencing in cloudbuild (#1608)
  24. Fix the typos in root README (#1589)
  25. Add container_run_and_commit_layer rule (#1586)
  26. Replace dependency on gflags with argparse (#1582)
  27. Make toolchain_type public (#1580)
  28. Sync with internal change (#1578)
  29. Renamed pip_deps to container_pip_deps (#1576)
  30. Change image rule to copy config instead of symlink (#1571)