Skip to content

Conversation

@brian-hussey
Copy link
Member

✨ Feature / Enhancement PR

πŸ”— Epic / Issue

Link to the epic or parent issue:
Part of #80


πŸš€ Summary (1-2 sentences)

Adds documentation updates for multi-architecture images.
For the most part image references are largely unchanged as the manifest will handle most use cases. This documentation change covers the cases where someone wants to pull a specific architecture even if it's differnet from current system architecture.


πŸ§ͺ Checks

  • make lint passes
  • make test passes
  • CHANGELOG updated (if user-facing)

crivetimihai and others added 4 commits November 29, 2025 09:04
Add comprehensive multiplatform Docker build support with:

- New docker-multiplatform.yml workflow:
  - Parallel native builds for amd64 (ubuntu-latest) and arm64 (ubuntu-24.04-arm)
  - QEMU emulation for s390x on ubuntu-latest
  - Multiplatform manifest creation with buildx imagetools
  - Security scanning (Trivy, Grype, Syft SBOM) on amd64
  - Cosign keyless signing for all architectures

- Updated docker-release.yml:
  - Use buildx imagetools create for manifest handling
  - Preserves all architecture variants when tagging releases

- Updated ibm-cloud-code-engine.yml:
  - Explicit --platform linux/amd64 flag for consistent builds

- Updated Containerfile.lite for multiplatform compatibility:
  - Use ubi10-minimal as runtime base instead of scratch
  - Eliminates dnf --installroot which fails under QEMU emulation
  - Uses microdnf for runtime package installation
  - Maintains security scanning compatibility (RPM database preserved)

- Enhanced Makefile targets:
  - container-build-multi: Build multiplatform image locally
  - container-inspect-manifest: Inspect multiplatform manifest in registry

Closes IBM#80

Signed-off-by: Mihai Criveti <[email protected]>
@brian-hussey brian-hussey marked this pull request as ready for review December 1, 2025 23:33
@kevalmahajan kevalmahajan merged commit fe85b3c into IBM:multi-arch-builds Dec 3, 2025
2 checks passed
kevalmahajan pushed a commit that referenced this pull request Dec 3, 2025
* feat: Add multiplatform container image support (amd64, arm64, s390x)

Add comprehensive multiplatform Docker build support with:

- New docker-multiplatform.yml workflow:
  - Parallel native builds for amd64 (ubuntu-latest) and arm64 (ubuntu-24.04-arm)
  - QEMU emulation for s390x on ubuntu-latest
  - Multiplatform manifest creation with buildx imagetools
  - Security scanning (Trivy, Grype, Syft SBOM) on amd64
  - Cosign keyless signing for all architectures

- Updated docker-release.yml:
  - Use buildx imagetools create for manifest handling
  - Preserves all architecture variants when tagging releases

- Updated ibm-cloud-code-engine.yml:
  - Explicit --platform linux/amd64 flag for consistent builds

- Updated Containerfile.lite for multiplatform compatibility:
  - Use ubi10-minimal as runtime base instead of scratch
  - Eliminates dnf --installroot which fails under QEMU emulation
  - Uses microdnf for runtime package installation
  - Maintains security scanning compatibility (RPM database preserved)

- Enhanced Makefile targets:
  - container-build-multi: Build multiplatform image locally
  - container-inspect-manifest: Inspect multiplatform manifest in registry

Closes #80

Signed-off-by: Mihai Criveti <[email protected]>

* Include missing Container.scratch file in MANIFEST.in (#1529)

Signed-off-by: Brian Hussey <[email protected]>

* Update documentation for multi-architecture image use

Signed-off-by: Brian Hussey <[email protected]>

* Revert unneeded changes in one part of the doc.

Signed-off-by: Brian Hussey <[email protected]>

* Add recursive signing to cosign step.

Signed-off-by: Brian Hussey <[email protected]>

---------

Signed-off-by: Mihai Criveti <[email protected]>
Signed-off-by: Brian Hussey <[email protected]>
Co-authored-by: Mihai Criveti <[email protected]>
kevalmahajan pushed a commit that referenced this pull request Dec 3, 2025
…#1520)

* feat: Add multiplatform container image support (amd64, arm64, s390x)

Add comprehensive multiplatform Docker build support with:

- New docker-multiplatform.yml workflow:
  - Parallel native builds for amd64 (ubuntu-latest) and arm64 (ubuntu-24.04-arm)
  - QEMU emulation for s390x on ubuntu-latest
  - Multiplatform manifest creation with buildx imagetools
  - Security scanning (Trivy, Grype, Syft SBOM) on amd64
  - Cosign keyless signing for all architectures

- Updated docker-release.yml:
  - Use buildx imagetools create for manifest handling
  - Preserves all architecture variants when tagging releases

- Updated ibm-cloud-code-engine.yml:
  - Explicit --platform linux/amd64 flag for consistent builds

- Updated Containerfile.lite for multiplatform compatibility:
  - Use ubi10-minimal as runtime base instead of scratch
  - Eliminates dnf --installroot which fails under QEMU emulation
  - Uses microdnf for runtime package installation
  - Maintains security scanning compatibility (RPM database preserved)

- Enhanced Makefile targets:
  - container-build-multi: Build multiplatform image locally
  - container-inspect-manifest: Inspect multiplatform manifest in registry

Closes #80

Signed-off-by: Mihai Criveti <[email protected]>

* Include missing Container.scratch file in MANIFEST.in (#1529)

Signed-off-by: Brian Hussey <[email protected]>

* Bh/multi arch builds 2 (#1532)

* feat: Add multiplatform container image support (amd64, arm64, s390x)

Add comprehensive multiplatform Docker build support with:

- New docker-multiplatform.yml workflow:
  - Parallel native builds for amd64 (ubuntu-latest) and arm64 (ubuntu-24.04-arm)
  - QEMU emulation for s390x on ubuntu-latest
  - Multiplatform manifest creation with buildx imagetools
  - Security scanning (Trivy, Grype, Syft SBOM) on amd64
  - Cosign keyless signing for all architectures

- Updated docker-release.yml:
  - Use buildx imagetools create for manifest handling
  - Preserves all architecture variants when tagging releases

- Updated ibm-cloud-code-engine.yml:
  - Explicit --platform linux/amd64 flag for consistent builds

- Updated Containerfile.lite for multiplatform compatibility:
  - Use ubi10-minimal as runtime base instead of scratch
  - Eliminates dnf --installroot which fails under QEMU emulation
  - Uses microdnf for runtime package installation
  - Maintains security scanning compatibility (RPM database preserved)

- Enhanced Makefile targets:
  - container-build-multi: Build multiplatform image locally
  - container-inspect-manifest: Inspect multiplatform manifest in registry

Closes #80

Signed-off-by: Mihai Criveti <[email protected]>

* Include missing Container.scratch file in MANIFEST.in (#1529)

Signed-off-by: Brian Hussey <[email protected]>

* Update documentation for multi-architecture image use

Signed-off-by: Brian Hussey <[email protected]>

* Revert unneeded changes in one part of the doc.

Signed-off-by: Brian Hussey <[email protected]>

* Add recursive signing to cosign step.

Signed-off-by: Brian Hussey <[email protected]>

---------

Signed-off-by: Mihai Criveti <[email protected]>
Signed-off-by: Brian Hussey <[email protected]>
Co-authored-by: Mihai Criveti <[email protected]>

---------

Signed-off-by: Mihai Criveti <[email protected]>
Signed-off-by: Brian Hussey <[email protected]>
Co-authored-by: Brian Hussey <[email protected]>
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.

3 participants