Skip to content

feat: Add multi-arch build API and orchestration#2127

Open
anchi205 wants to merge 1 commit intoshipwright-io:mainfrom
anchi205:multiarch-api
Open

feat: Add multi-arch build API and orchestration#2127
anchi205 wants to merge 1 commit intoshipwright-io:mainfrom
anchi205:multiarch-api

Conversation

@anchi205
Copy link
Member

@anchi205 anchi205 commented Mar 5, 2026

Changes

Add multi-arch build API and orchestration

Add ImagePlatform, MultiArch, and PlatformBuildResult types to the Build
and BuildRun CRDs under spec.output.multiArch.platforms. A user declares
platforms on a Build or BuildRun and the controller generates a single
three-phase PipelineRun that fans out: source-acquisition pushes source
as an OCI artifact, parallel per-platform tasks pull source on
arch-specific nodes and run strategy steps, and assemble-index creates
the final OCI image index. Result aggregation populates PlatformResults
and the BuildRun status reports per-platform digest/size/vulnerabilities
while setting Output.Digest to the manifest list digest.

Assisted-by: Cursor

Submitter Checklist

  • Includes tests if functionality changed/was added
  • Includes docs if changes are user-facing
  • Set a kind label on this PR
  • Release notes block has been filled in, or marked NONE

Release Notes

Added spec.output.multiArch.platforms field to Build and BuildRun APIs, allowing users to define target OS/architecture combinations for multi-arch image builds.

@pull-request-size pull-request-size bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Mar 5, 2026
@openshift-ci openshift-ci bot added the do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. label Mar 5, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 5, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign qu1queee for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@openshift-ci openshift-ci bot added release-note Label for when a PR has specified a release note and removed do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. labels Mar 5, 2026
@anchi205 anchi205 marked this pull request as draft March 6, 2026 03:36
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 6, 2026
@pull-request-size pull-request-size bot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Mar 17, 2026
@anchi205 anchi205 marked this pull request as ready for review March 17, 2026 06:41
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 17, 2026
@anchi205 anchi205 removed the request for review from apoorvajagtap March 17, 2026 06:41
@anchi205 anchi205 changed the title feat: Add API in Shipwright for multi-arch build feat: Add multi-arch build API and orchestration Mar 17, 2026
@anchi205 anchi205 force-pushed the multiarch-api branch 2 times, most recently from ede9fbe to af45e2c Compare March 17, 2026 07:18
Add ImagePlatform, MultiArch, and PlatformBuildResult types to the Build
and BuildRun CRDs under spec.output.multiArch.platforms. A user declares
platforms on a Build or BuildRun and the controller generates a single
three-phase PipelineRun that fans out: source-acquisition pushes source
as an OCI artifact, parallel per-platform tasks pull source on
arch-specific nodes and run strategy steps, and assemble-index creates
the final OCI image index. Result aggregation populates PlatformResults
and the BuildRun status reports per-platform digest/size/vulnerabilities
while setting Output.Digest to the manifest list digest.

Assisted-by: Cursor
Signed-off-by: Anchita Borah <anborah@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-note Label for when a PR has specified a release note size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants