| CARVIEW |
Navigation Menu
-
-
Notifications
You must be signed in to change notification settings - Fork 14
Releases: bazel-contrib/rules_img
v0.3.3
6bb719fUsing Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.3.3")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "de4b3b2a8bf66358c698099ab6448cb482d77da7a9b113a090072362e676b8b0",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.3.3/rules_img-v0.3.3.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- Create custom launcher binary for every push, load, and deploy by @malt3 in #336
- rename Go package "deploy" -> "deploymetadata" by @malt3 in #347
- rename Go package "push" -> "deploy" by @malt3 in #348
- pass deploy metadata file path via argv by @malt3 in #349
- bazel: upgrade hermetic_launcher to 0.0.3 by @malt3 in #350
- Add per-target prefix to elements in runfiles.root_symlinks by @malt3 in #351
- Add podman support for image loading by @malt3 in #352
- Add generic daemon option for custom container runtimes by @malt3 in #353
- Update container structure test part of migration guide by @malt3 in #354
- image_load: enable use of loader as data dependency in test by @malt3 in #356
- Add layer hints for lazy deploy strategy to optimize data transfer by @malt3 in #357
- prepare 0.3.3 by @malt3 in #359
- Layer transfer statistics by @malt3 in #358
Full Changelog: v0.3.2...v0.3.3
Assets 28
- sha256:e6989658918aa774e02deda3800fc3411f69641debcc5ff27c36b8257df512d115.5 MB
2025-12-18T15:14:49Z - sha256:cf46fb87915d36e5f7c258f707da99ea5075ea99b64da6bd86b9f0b571d69dad15.1 MB
2025-12-18T15:14:49Z - sha256:6c72b00e3668c5421de7922c6abe00fc5dbe14feefeae6b43e01c70e9116bb0515.5 MB
2025-12-18T15:14:49Z - sha256:4af4430e481562077611c88795615181a140f2c6f3db5d59d99f485674eee9e714.6 MB
2025-12-18T15:14:49Z - sha256:0f0f850fd5463508bc5beb06fe68ac57e99fc4513156f5cb5473f20dda88d40115.9 MB
2025-12-18T15:14:49Z - sha256:b4a091997202c81488ba3a19122416653dbffb1474f89ec2f5c5460688af234614.8 MB
2025-12-18T15:14:49Z - sha256:dcf8ae77e2e6721f18dc9f8f7cc3cd1c9dc5d3168b0e5e5a028fb6033fe207b97.26 MB
2025-12-18T15:14:49Z - sha256:3225ee1eeab82d3bef2608102eb6d8eafdeaa69edfcac3249ca659c0469419c76.92 MB
2025-12-18T15:14:49Z - sha256:cfcb0c3dd3cb57a79051ff701bdc64b725b978b6ead2b35bd31672e371448f607.29 MB
2025-12-18T15:14:49Z - sha256:86fa98a647f1811f06308d1ee872afd4df4183e4302817b9def114a888740e4c6.81 MB
2025-12-18T15:14:49Z -
2025-12-18T14:33:48Z -
2025-12-18T14:33:48Z - Loading
v0.3.2
dbaf7f3Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.3.2")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "7960ca8f489464b8cb8387f168f3f2f627bbdab638f03c69a7152c1da72222c3",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.3.2/rules_img-v0.3.2.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- ImageManifestInfo: remove base_image field by @malt3 in #321
- progress bar: fix more visual glitches by @malt3 in #322
- image_layer: avoid hardlink cycles by @malt3 in #324
- tests: add check that ensures layer invariants are intact by @malt3 in #328
- tests: detect regression of self-hardlinks by @malt3 in #331
- prepare 0.3.2 by @malt3 in #332
Full Changelog: v0.3.1...v0.3.2
Assets 28
v0.3.1
Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.3.1")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "c994826cd6a3b419afafbc70add5421b84b02670ec963db88214ebf310167492",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.3.1/rules_img-v0.3.1.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- ci: only use RBE if credentials are available by @malt3 in #286
- export DeployInfo provider by @rafikk in #285
- image_manifest: provide base image in template expansion by @malt3 in #294
- renovate: ensure Bazel lockfile is updated by @malt3 in #302
- pull: allow downloading image without digest by @malt3 in #303
- images.pull module extension by @malt3 in #300
- images module extension: allow downloading blobs from multiple sources by @malt3 in #305
- images.pull: Synchronize all missing facts in parallel by @malt3 in #306
- ci: test against Bazel 9.0.0rc3 by @malt3 in #309
- root module: Build with Bazel 9.0.0rc3 by @malt3 in #292
- pull: succeed if any of the sources serve blob by @malt3 in #317
- images.pull: support mapping repositories with friendly names by @malt3 in #315
- deploy: add multi-writer for progress by @malt3 in #318
Full Changelog: v0.2.12...v0.3.1
Assets 28
v0.3.0
48d711eUsing Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.3.0")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "c528b2de239c78f9d374c81e50c4caa7351269cf7d4ea94bd165adad606c03a4",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.3.0/rules_img-v0.3.0.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- ci: only use RBE if credentials are available by @malt3 in #286
- export DeployInfo provider by @rafikk in #285
- image_manifest: provide base image in template expansion by @malt3 in #294
- renovate: ensure Bazel lockfile is updated by @malt3 in #302
- pull: allow downloading image without digest by @malt3 in #303
- images.pull module extension by @malt3 in #300
- images module extension: allow downloading blobs from multiple sources by @malt3 in #305
- images.pull: Synchronize all missing facts in parallel by @malt3 in #306
- ci: test against Bazel 9.0.0rc3 by @malt3 in #309
- root module: Build with Bazel 9.0.0rc3 by @malt3 in #292
- pull: succeed if any of the sources serve blob by @malt3 in #317
- images.pull: support mapping repositories with friendly names by @malt3 in #315
- deploy: add multi-writer for progress by @malt3 in #318
Full Changelog: v0.2.12...v0.3.0
Assets 23
v0.2.12
Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.2.12")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "c53e0e2d9b1d58ad1dc2a9efe236fc6384fbe67e771959eb98b2a2410b0b8835",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.2.12/rules_img-v0.2.12.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
Full Changelog: v0.2.11...v0.2.12
Assets 28
v0.2.10
Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.2.10")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "6af3a3c22fefa7156be10109b2a052aa373b0b2963e3bbf6f3993807e2510ecc",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.2.10/rules_img-v0.2.10.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- image_layer: determine runfiles repo name based on short_path of File by @malt3 in #248
- repository rules: allow downloading individual blobs by @malt3 in #251
- macos-13 runners are being phased out by @malt3 in #253
- image_layer: include repo mapping manifest next to runfiles by @malt3 in #257
- fix symlink handling by @scaiper in #255
- image_layer: create parent directories in tar layers by @rafikk in #259
- image_layer: make creation of parent directories configurable by @malt3 in #260
- image_layer: allow omitting runfiles by @malt3 in #261
- image_layer: avoid creating ".cas" directory by @malt3 in #262
- Add annotations_file attribute by @malt3 in #263
- Add manifest annotations to oci-layout index.json by @moroten in #267
- image_layer: use correct symlink target for links from root by @malt3 in #268
- Switch to bazel_lib by @malt3 in #264
- pull: configurable Docker config path for lazy layer download by @malt3 in #269
New Contributors
- @scaiper made their first contribution in #255
- @rafikk made their first contribution in #259
- @moroten made their first contribution in #267
Full Changelog: v0.2.9...v0.2.10
Assets 28
v0.2.9
13f3980Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.2.9")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "9dda401538d9ce2326968ff94b5439a4e2a347a6267620e759250686dc278b2f",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.2.9/rules_img-v0.2.9.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- migration guide by @malt3 in #216
- Convert between rules_oci targets and rules_img targets by @malt3 in #218
- CI: test against Bazel 9.0.0rc1 in integration test by @malt3 in #227
- Support oci architecture variant by @malt3 in #223
- pull: use canonical label to refer to @platforms by @malt3 in #231
- img_tool: use shared function to write layer metadata by @malt3 in #232
- docs: explain how rules_img uses platforms by @malt3 in #233
- pull_tool: prepare for blob sharing by @malt3 in #234
- doc: Fix a name error in an example by @jaqx0r in #235
- e2e: add integration test with testcontainers that works on Apple Silicon by @malt3 in #236
- image_load: support adding tags via the command line by @malt3 in #243
- add example of container structure test by @malt3 in #242
New Contributors
Full Changelog: v0.2.8...v0.2.9
Assets 28
v0.2.8
Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.2.8")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "9cc7b0bafb55f4f6fb1e19b038c18b3ec05dfb5b143e72b7078b92263acf72fc",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.2.8/rules_img-v0.2.8.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- Support multiple tags in image_load rule by @malt3 in #194
- Document registry authentication by @malt3 in #196
- containerd image loading platform filtering by @malt3 in #197
- upgrade bazel nightly to 9.0.0-pre.20251022.1 by @malt3 in #210
- Add created attribute to image_manifest rule by @malt3 in #212
- Store Bazel lockfile in Git by @malt3 in #211
- Platform transition on single-platform image_manifest by @malt3 in #208
- feat: add tag_file attribute to image_push and image_load by @malt3 in #213
- Allow for guessing mediaType in more places by @malt3 in #207
Full Changelog: v0.2.7...v0.2.8
Assets 28
v0.2.7
7321ee8Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.2.7")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "0a3514d03e29820acdc027d05317ee7f28f996445c32765116c4261c21a09995",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.2.7/rules_img-v0.2.7.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- Add distroless demo by @malt3 in #148
- enable nogo by @malt3 in #162
- oci_tarball: use forward slash for tar contents by @malt3 in #178
- Correctly handle compression in layer_from_tar by @malt3 in #185
- pull: detect root blob mediaType if missing by @malt3 in #189
- deploy rules: Use extra execution group to obtain "bazel run" tool by @malt3 in #187
Full Changelog: v0.2.6...v0.2.7
Assets 28
v0.2.6
Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.2.6")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "2437a800c7c3369c0091c45aa0de83805ccbde53956658cbf44e9b74dc67e498",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.2.6/rules_img-v0.2.6.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
What's Changed
- Warn about digest mismatch when using docker load by @malt3 in #94
- feat: run Linux CI jobs on Aspect Workflows by @alexeagle in #101
- further fix containerd loading by @TroyKomodo in #106
- GitHub Actions: avoid running on Renovate PRs by default by @malt3 in #125
- use prebuilt protoc toolchain by @malt3 in #127
- release note generator: add categories by @malt3 in #126
- load: move warning to stderr by @TroyKomodo in #129
- load: remove bad log by @TroyKomodo in #131
- Vendor generated Go code by @malt3 in #132
- Separate out "pull_tool" binary by @malt3 in #137
- load: minor improvements by @TroyKomodo in #136
- Support Bazel 9 by @malt3 in #143
- Add support for
--repo_contents_cacheby @malt3 in #144
Full Changelog: v0.2.5...v0.2.6