[ 
https://issues.apache.org/jira/browse/CAMEL-26492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18137897#comment-18137897
 ] 

Guillaume Nodet commented on CAMEL-26492:
-----------------------------------------

Fixed in PR [#29149|https://github.com/apache/camel/pull/29149].

The fix adds multi-arch manifest verification to 
{{check-container-versions.py}}:

- New {{REQUIRED_ARCHITECTURES = ['linux/s390x', 'linux/ppc64le']}} constant.
- {{ContainerRegistryAPI.check_architectures(image, tag)}} fetches the Docker 
Registry v2 manifest list ({{GET /v2/<repo>/manifests/<tag>}} with {{Accept: 
application/vnd.docker.distribution.manifest.list.v2+json}}) and returns 
missing architectures.
- {{DockerHubAPI}} override obtains an anonymous Bearer token from 
{{auth.docker.io}} before fetching the manifest.
- {{QuayAPI}} override uses the {{quay.io/v2/...}} distribution endpoint.
- Images that already have arch-specific property overrides (e.g. 
{{keycloak.container.ppc64le}}) are exempt — they use a separate registry for 
minority architectures.
- When the top candidate version is missing a required architecture, 
{{newer_versions}} is left empty so no PR is created. The result is reported in 
the JSON output and human-readable summary.
- New {{--skip-arch-check}} CLI flag to bypass verification.
- 19 new unit tests in {{test_check_container_versions.py}}.

_Note: generated by an AI coding agent (Hermes/Forgebot) on behalf of @gnodet_

> On PR upgrading image container, check image is available for all 
> architectures used
> ------------------------------------------------------------------------------------
>
>                 Key: CAMEL-26492
>                 URL: https://issues.apache.org/jira/browse/CAMEL-26492
>             Project: Camel
>          Issue Type: Task
>          Components: build system
>    Affects Versions: 4.24.0
>            Reporter: Aurélien Pupier
>            Assignee: Guillaume Nodet
>            Priority: Major
>
> currently, as soon as a amd6' architecture container image is available, a 
> new PR is provided. We should check for the availability for s390x and 
> ppc64le (when i tis used) either before creating the PR or as a PR check.
> it will avoid to break main branch for these architectures. And due to anoher 
> bug to clean the Jenkins nodes cache as they download the amd64 version 
> instead of just mentioning the version is not available. And when a version 
> is available, even if the architecture is incorrect, it is still using the 
> bad architecture one. see [CAMEL-26387]



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to