Releases: bazelbuild/rules_docker
v0.25.0
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
- Remove me from CODEOWNERS by @alexeagle in #2070
- Add @linzhp and @uhthomas as code owners by @uhthomas in #2074
- Fix warning message ref invalid rule by @sluongng in #2079
- Update providers.bzl by @uajith in #2077
- Add .bazelversion by @laurynaslubys in #2066
- feat(*_image): allow setting env vars by @sxlijin in #2031
- Make transitions optional by @laurynaslubys in #2068
- Fix empty container_bundle by @laurynaslubys in #2067
- bazel_gpg: update SHA256 by @sluongng in #2096
- container_push: add doc about no transaction by @sluongng in #2060
- Add a release workflow that with the correct crafted tag of a release… by @ianoc in #2086
- Add md5sums file list to distroless container by @pombredanne in #2065
- Make golden image digests work with Python 3.9 by @bpcreech in #2098
- Support to override ctx.attr.user in the container_image() implementation function (#2081) by @lbcjbb in #2082
- Keep the same behaviour for the 'base' argument between the rule
container_image
and its implementation function (#2083) by @lbcjbb in #2084 - [layer_tools/generate_args_for_image] Inject extra argument to the given callback by @lbcjbb in #2088
- Update container-structure-test binaries to v0.11.0 by @dbrian in #2013
- rules_docker release github workflow by @kriscfoster in #2106
New Contributors
- @uajith made their first contribution in #2077
- @laurynaslubys made their first contribution in #2066
- @sxlijin made their first contribution in #2031
- @ianoc made their first contribution in #2086
- @pombredanne made their first contribution in #2065
- @bpcreech made their first contribution in #2098
- @lbcjbb made their first contribution in #2082
- @dbrian made their first contribution in #2013
- @kriscfoster made their first contribution in #2106
Full Changelog: v0.24.0...v0.25.0
Various updates & fixes
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:
- remove dependency on external python for sha256 (#1993)
- Update rules kotlin (#2030)
- Specifying client config.json with Bazel label (#2032)
- perf: remove no-remote-cache execution requirements (#2043)
- stop printing output on successful operations (#2047)
- Stamp e2e tests (#2000)
- Fix flaky tests. Use jq to sort JSON arrays before comparing them. (#2007)
- Replace python with python3 in incremental_load.sh.tpl (#2051)
- Changing docker client config attributes to Bazel labels (#2042)
- Clean unused package oci/ (#2061)
- Run script allows empty docker_args (#2053)
- Support credential helpers in container_pull (#2034)
Various updates & fixes
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 #1963 (comment) about changes that might be required.
What's Changed
- remove extra redirect hop in docs by @alexeagle in #1893
- chore: enable incompatible_disable_depset_items by @alexeagle in #1977
- feat(): allow rules_docker to work with rules_nodejs 5.x when it updates by @dymart in #1982
- Support for docker run args for docker image targets by @psigen in #1957
- Transition container image target platform by @uhthomas in #1963
- fix: correct link to toolchain documentation by @mgred in #1978
- .bazelrc: remove --incompatible_disable_depset_items by @meteorcloudy in #1987
- Allow support for
WORKSPACE.bazel
files by @UebelAndre in #1992 - Add missing
run_tag
directive. by @psigen in #1995 - Fix pusher flags for --config and --tarball by @jonjohnsonjr in #1998
- Fix unbound variable when running container_image targets by @UebelAndre in #2008
- Enable to run a single e2e test by @mindaugasrukas in #1999
- Replace non existing "build_tar" local tool with a repo target by @mindaugasrukas in #2001
- Show digest of pushed images by @illicitonion in #1737
New Contributors
- @dymart made their first contribution in #1982
- @psigen made their first contribution in #1957
- @uhthomas made their first contribution in #1963
- @mgred made their first contribution in #1978
- @mindaugasrukas made their first contribution in #1999
Full Changelog: v0.22.0...v0.23.0
Various updates & fixes
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 usestamp = "@io_bazel_rules_docker//stamp:never"
- in place of
stamp = True
you should usestamp = "@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
- feat: add timeout attribute to container_pull by @alexeagle in #1960
- Add target as an attribute to dockerfile_build by @jakegut in #1944
- Add digests of the images being used for examples by @tetsuok in #1964
- fix: add label to tar warning message by @mattem in #1967
- Base stamping decisions on --stamp configuration, not attributes on t… by @alexeagle in #1878
- container_push: add skip_unchanged_digest attribute by @sluongng in #1744
- Don't print output of ExtractImageId mnemonics when successful by @alexeagle in #1969
- update distroless images by @dattto in #1971
- container_load: use cfg="exec" instead of cfg="host" by @Yannic in #1976
- container/bundle.bzl: improve bundle rules doc by @sluongng in #1975
- Add generated comment in generated file by @alexeagle in #1894
- Add tool target attribute to docker toolchain by @moshe in #1946
- toolchain: allow to configure build_tar target by @dataoleg in #1937
New Contributors
- @jakegut made their first contribution in #1944
- @tetsuok made their first contribution in #1964
- @mattem made their first contribution in #1967
- @sluongng made their first contribution in #1744
- @dattto made their first contribution in #1971
- @Yannic made their first contribution in #1976
- @moshe made their first contribution in #1946
- @dataoleg made their first contribution in #1937
Full Changelog: v0.21.0...v0.22.0
Various updates & fixes
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:
Various updates & fixes
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:
- Enable experimental_tarball_format for container_bundle. (#1938)
- Cache loaded images for performance improvements. (#1934)
- Update run.bzl (#1933)
- Update Distroless Base Images (#1931)
- Update convert bytes to string for py3 (#1922)
- Setting visibility of image_bzl to public so that it can be used when… (#1917)
- Revert "Pin bazelversion to what's tested on CI (#1873)" (#1886)
- feat(toolchain): add xz_target for remote execution (#1881)
Various updates & fixes
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"],
)
Various updates & fixes
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:
- Revert "Bump pyyaml from 5.1 to 5.4 in /repositories" (#1908)
- Removed python test dependencies from public API (#1905)
- Silence go module warnings in go_repository (#1897)
- Fix path handling in archive.py to always be posix and not native paths (#1892)
- Docgen: use stardoc to generate all container rules docs (#1890)
- Revert "Pin bazelversion to what's tested on CI (#1873)" (#1886)
- Ignore .ijwb folder from git (#1864)
- Only display status for builds on
master
(#1863) - [ci] enable macos on buildkite (#1862)
- Fix URL used to download pip in examples/tests. (#1861)
- [ci] Remove travis badge (#1860)
- Migrate CI targets to buildkite (#1859)
- Don't upload large files to remote-cache (#1856)
- Allow launcher in nodejs (#1854)
- Correct container_py_toolchain target (#1852)
- Update debian9 commit hash to 01267e6 (#1837)
- Propagate tags to app-layers in docker images for all langs (#1836)
- WIP: more containers stardoc stuff (#1835)
- fix tab characters in docstrings (#1834)
- Create docs/ folder (#1832)
- Add stardoc API doc generation (#1830)
Various updates & fixes
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:
-
Update go-containerregsitry dependency to 0.4.1 (#1829)
-
Fixed some missing digests and addressed other warnings (#1819)
-
Fixed broken
//tests/docker/util:all
tests (#1817) -
Update SHA for go-containerregistry (#1815)
-
Removed
bazel_latest
from default dependencies (#1813) -
Use actual sha for static:debug image (and update static:latest) (#1804)
-
make downloading and installing quieter (#1798)
-
fix the build (#1797)
-
Revert "Setup assign-size-label action" (#1786)
-
Introduce github action to mark stale issues/PRs (#1757)
-
Remove warning about go_image on Mac (#1755)
-
Add issue and PR templates (#1754)
-
Invite maintainers from community (#1750)
-
Add Domino Data Lab to list of adopters (#1739)
0.16.0
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:
- Setup assign-size-label action (#1762)
- Introduce github action to mark stale issues/PRs (#1757)
- Remove warning about go_image on Mac (#1755)
- Add issue and PR templates (#1754)
- Revert "Invite maintainers from community (#1750)" (#1753)
- Invite maintainers from community (#1750)
- Add experimental_tarball_format to container_image (#1696)
- Update io_bazel_rules_groovy commit hash to 03c36ef (#1691)
- Introduce output_group for pusher executable (#1685)
- Relax error string matching (#1677)
- Add s390x support to load puller and loader binary (#1661)
- Use bash from the environment instead of absolute path (#1660)
- Add option to push images sequentially in push-all (#1658)
- Update python rules to remove deprecation messages (#1657)
- Update for compatibility with rules_python 0.1 (#1650)
- Update owners (#1646)
- Add s390x support for puller and loader binaries (#1645)
- Support airgapped environment (#1619)
- Add repository_file attribute to the container_pull rule (#1618)
- For gzip operations, use a new Go helper by default instead of which(gzip) (#1613)
- Add Linux ARM64 go pusher and loader binaries to cloudbuild (#1610)
- Fix the root directory when building for Linux on Windows. (#1609)
- Update puller and loader locations and sequencing in cloudbuild (#1608)
- Fix the typos in root README (#1589)
- Add container_run_and_commit_layer rule (#1586)
- Replace dependency on gflags with argparse (#1582)
- Make toolchain_type public (#1580)
- Sync with internal change (#1578)
- Renamed pip_deps to container_pip_deps (#1576)
- Change image rule to copy config instead of symlink (#1571)