Skip to content

fix(workflows): stop collapsing base images to single-arch during release - #1067

Merged
wuhuizuo merged 1 commit into
mainfrom
fix/remove-crane-mutate-from-base-image-release
Aug 18, 2026
Merged

fix(workflows): stop collapsing base images to single-arch during release#1067
wuhuizuo merged 1 commit into
mainfrom
fix/remove-crane-mutate-from-base-image-release

Conversation

@wuhuizuo

Copy link
Copy Markdown
Contributor

No description provided.

…lti-arch manifest

crane mutate on a manifest list only pulls the default-platform (amd64)
child image and pushes it back, overwriting the multi-arch index with a
single-arch image. Remove the post-build label step (and the unused
manifest-tool setup) so base images stay multi-arch; version labels are
inherited from the base image.

@ti-chi-bot ti-chi-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have already done a preliminary review for you, and I hope to help you do a better job.

Summary:
This PR removes the setup of manifest-tool and the step that sets image version labels using crane mutate in the GitHub Actions workflow for releasing production runtime images. The intent is to prevent collapsing base images into single-architecture manifests during release. The approach is straightforward by deleting the related steps. Overall, the changes are minimal and clearly target the problem, but there are some implications and risks to consider regarding image labeling and manifest handling.


Critical Issues

  • Potential loss of image version labels (File: .github/workflows/release-prod-runtime-images.yaml, lines ~81-98)
    Removing the "Set image version labels" step means the base images will no longer have the org.opencontainers.image.version and version labels set or updated during the release workflow. This could impact image traceability, versioning, and tooling that relies on these labels.
    Suggestion: Instead of fully removing this step, consider modifying it to work correctly with multi-arch images or alternative tooling, or ensure the labeling is handled elsewhere in the pipeline.

Code Improvements

  • Remove unused manifest-tool setup cleanly (File: .github/workflows/release-prod-runtime-images.yaml, lines ~53-59)
    The manifest-tool setup is removed, but there is no replacement step for manifest handling or validation. If the intent is to stop collapsing to single-arch manifests, this is fine, but confirm that the manifest publishing logic still meets requirements.
    Suggestion: Add a comment explaining why manifest-tool is removed and how manifests are handled now, to help future maintainers understand the rationale.

Best Practices

  • Add comments explaining removal rationale (File: .github/workflows/release-prod-runtime-images.yaml)
    The PR lacks any comments or documentation explaining why these steps were removed. This makes it harder to understand the impact and reasoning from the workflow file alone.
    Suggestion: Add inline comments or a README update clarifying that collapsing base images to single-arch manifests is no longer desired, and thus these steps were removed.

  • Testing coverage for multi-arch support
    It is unclear if there is automated testing or workflow runs validating that after this change, the release images are correctly multi-arch and properly labeled.
    Suggestion: Ensure there is a test or manual verification documented that confirms the new workflow behavior produces the expected multi-arch images with correct metadata.


Summary of actionable steps:

- Reconsider the removal of the "Set image version labels" step or replace it with a multi-arch compatible versioning approach to preserve image metadata.
- Add comments in the workflow file explaining why `manifest-tool` and the labeling step are removed, to clarify the intent.
- Confirm and document how manifests are now handled and how image versioning is ensured post-change.
- Add or update tests/verification steps to ensure multi-arch images are published correctly with expected labels.

@ti-chi-bot ti-chi-bot Bot added the size/S label Aug 18, 2026

@wuhuizuo wuhuizuo left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve

@ti-chi-bot

ti-chi-bot Bot commented Aug 18, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: wuhuizuo

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ti-chi-bot ti-chi-bot Bot added the approved label Aug 18, 2026
@wuhuizuo
wuhuizuo merged commit a87892a into main Aug 18, 2026
3 of 4 checks passed
@wuhuizuo
wuhuizuo deleted the fix/remove-crane-mutate-from-base-image-release branch August 18, 2026 14:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant