Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency rules_oci to v2 #585

Merged
merged 2 commits into from
Sep 16, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 5, 2024

This PR contains the following updates:

Package Type Update Change
rules_oci http_archive major v1.7.6 -> v2.0.0

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

bazel-contrib/rules_oci (rules_oci)

v2.0.0

Compare Source

BREAKING CHANGES

  • Uncompressed archives in the tars attribute is no longer compressed when creating the image, this might make images bigger compared to 1.x. Use pkg_tar#extension or tar#compress attribute to compress the layers beforehand.
### For pkg_tar
pkg_tar(
  extension = "tar.gz"
)

### For tar
tar(
   compress = "gzip"
)
  • Digests of images created 1.x rules_oci will not match 2.x rules_oci, as we are no longer using crane to create the images. However, images should stay the same semantically. You can use diffoci to make sure they are the same semantically!
  • Default output of oci_tarball is no longer a tarball, use a filegroup target to get the tarball. See https://github.com/bazel-contrib/rules_oci/pull/548
  • oci_tarball is renamed to oci_load to better reflect it's purpose.
  • Bazel 5 is no longer supported, and tested by the CI, we will not be accepting fixes for it.

SIGNIFICANT CHANGES

  • OCIImage action no longer spins an ephemeral registry instance to mutate images locally, making it slightly faster. See design document
  • oci_image now supports zstd compression
  • Now oci_pull fetches blobs in parallel on Bazel >= 7.1

API Removals

  • oci_pull no longer has a config_path attribute, use config attribute instead. It was deprecated in 1.x.

Using bzlmod with Bazel 6 or later:

  1. Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_oci", version = "2.0.0")

### For testing, we also recommend https://registry.bazel.build/modules/container_structure_test

oci = use_extension("@​rules_oci//oci:extensions.bzl", "oci")

### Declare external images you need to pull, for example: 
oci.pull(
    name = "distroless_base",

### 'latest' is not reproducible, but it's convenient.
### During the build we print a WARNING message that includes recommended 'digest' and 'platforms'

### values which you can use here in place of 'tag' to pin for reproducibility.
    tag = "latest",
    image = "gcr.io/distroless/base",
    platforms = ["linux/amd64"],
)

### For each oci.pull call, repeat the "name" here to expose them as dependencies.
use_repo(oci, "distroless_base")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_oci",
    sha256 = "d007e6c96eb62c88397b68f329e4ca56e0cfe31204a2c54b0cb17819f89f83c8",
    strip_prefix = "rules_oci-2.0.0",
    url = "https://github.com/bazel-contrib/rules_oci/releases/download/v2.0.0/rules_oci-v2.0.0.tar.gz",
)

load("@​rules_oci//oci:dependencies.bzl", "rules_oci_dependencies")

rules_oci_dependencies()

load("@​rules_oci//oci:repositories.bzl", "oci_register_toolchains")

oci_register_toolchains(name = "oci")

### You can pull your base images using oci_pull like this:
load("@​rules_oci//oci:pull.bzl", "oci_pull")

oci_pull(
    name = "distroless_base",
    digest = "sha256:ccaef5ee2f1850270d453fdf700a5392534f8d1a8ca2acda391fbb6a06b81c86",
    image = "gcr.io/distroless/base",
    platforms = [
        "linux/amd64",
        "linux/arm64",
    ],
)

What's Changed

New Contributors

Full Changelog: bazel-contrib/rules_oci@v1.7.5...v2.0.0

v1.8.0

Compare Source

Using bzlmod with Bazel 6 or later:

  1. Add common --enable_bzlmod to .bazelrc.

  2. Add to your MODULE.bazel file:

bazel_dep(name = "rules_oci", version = "1.8.0")

### For testing, we also recommend https://registry.bazel.build/modules/container_structure_test

oci = use_extension("@​rules_oci//oci:extensions.bzl", "oci")

### Declare external images you need to pull, for example: 
oci.pull(
    name = "distroless_base",

### 'latest' is not reproducible, but it's convenient.
### During the build we print a WARNING message that includes recommended 'digest' and 'platforms'

### values which you can use here in place of 'tag' to pin for reproducibility.
    tag = "latest",
    image = "gcr.io/distroless/base",
    platforms = ["linux/amd64"],
)

### For each oci.pull call, repeat the "name" here to expose them as dependencies.
use_repo(oci, "distroless_base")

Using WORKSPACE:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_oci",
    sha256 = "46ce9edcff4d3d7b3a550774b82396c0fa619cc9ce9da00c1b09a08b45ea5a14",
    strip_prefix = "rules_oci-1.8.0",
    url = "https://github.com/bazel-contrib/rules_oci/releases/download/v1.8.0/rules_oci-v1.8.0.tar.gz",
)

load("@​rules_oci//oci:dependencies.bzl", "rules_oci_dependencies")

rules_oci_dependencies()

load("@​rules_oci//oci:repositories.bzl", "LATEST_CRANE_VERSION", "oci_register_toolchains")

oci_register_toolchains(
    name = "oci",
    crane_version = LATEST_CRANE_VERSION,

### Uncommenting the zot toolchain will cause it to be used instead of crane for some tasks.
### Note that it does not support docker-format images.

### zot_version = LATEST_ZOT_VERSION,
)

### You can pull your base images using oci_pull like this:
load("@​rules_oci//oci:pull.bzl", "oci_pull")

oci_pull(
    name = "distroless_base",
    digest = "sha256:ccaef5ee2f1850270d453fdf700a5392534f8d1a8ca2acda391fbb6a06b81c86",
    image = "gcr.io/distroless/base",
    platforms = [
        "linux/amd64",
        "linux/arm64",
    ],
)

What's Changed

New Contributors

Full Changelog: bazel-contrib/rules_oci@v1.7.6...v1.8.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from benradf as a code owner September 5, 2024 23:00
@renovate renovate bot added the merge-queue merge on green CI label Sep 5, 2024
Copy link
Contributor Author

renovate bot commented Sep 16, 2024

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@mergify mergify bot merged commit 928f28a into master Sep 16, 2024
13 checks passed
@mergify mergify bot deleted the renovate/rules_oci-2.x branch September 16, 2024 09:20
@mergify mergify bot removed the merge-queue merge on green CI label Sep 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant