Skip to content

Conversation

@prabhuk25
Copy link

Enhanced the UBI9 image for ppc64le support and modified the UBI9 build workflow to support ppc64le arch with existing runners.

@openshift-ci
Copy link

openshift-ci bot commented Nov 18, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: prabhuk25

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

Refactor installation steps for various tools to support multiple architectures and improve error handling.

Signed-off-by: Prabhu K <Prabhu.K@ib,.com>
Updated the GitHub Actions workflow to support multi-architecture builds for UBI 9 base images, including amd64, arm64, and ppc64le. Adjusted the build and publish steps accordingly.

Signed-off-by: Prabhu K <Prabhu.K@ib,.com>
Refactor UBI9 build workflow for improved clarity and functionality.

Signed-off-by: Prabhu K <Prabhu.K@ib,.com>
Enhanced for ppc64le arch

Signed-off-by: Prabhu K <Prabhu.K@ib,.com>
Enhanced for ppc64le arch

Signed-off-by: Prabhu K <Prabhu.K@ib,.com>
@prabhuk25 prabhuk25 marked this pull request as ready for review November 20, 2025 06:27
Copy link
Collaborator

@dkwon17 dkwon17 left a comment

Choose a reason for hiding this comment

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

Thank you for the PR, so far, I have a couple of comments

amd64) GH_ARCH="linux_amd64" ;; \
arm64) GH_ARCH="linux_arm64" ;; \
ppc64le) GH_ARCH="linux_ppc64le" ;; \
*) echo "Unsupported architecture: $TARGETARCH" && exit 0 ;; \
Copy link
Collaborator

Choose a reason for hiding this comment

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

Could we follow this case pattern for the other RUN statements (ripgrep, bat, fd, kubedock) as well?

Copy link
Author

Choose a reason for hiding this comment

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

Updated as per the suggestion

# Setup QEMU for cross-platform builds
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
# Setup Docker Buildx with container driver
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
# Setup Docker Buildx with container driver

run: sudo rm -rf /usr/local/lib/android
- name: Cleanup docker images
run: docker system prune -af
# Setup QEMU for cross-platform builds
Copy link
Member

@rohanKanojia rohanKanojia Dec 29, 2025

Choose a reason for hiding this comment

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

I think these comments don't add much value. I suggest removing them

Suggested change
# Setup QEMU for cross-platform builds

# Setup QEMU for cross-platform builds
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
# Setup Docker Buildx with container driver
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
# Setup Docker Buildx with container driver

run: sudo rm -rf /usr/local/lib/android
- name: Cleanup docker images
run: docker system prune -af
# Setup QEMU for cross-platform builds
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
# Setup QEMU for cross-platform builds

@rohanKanojia
Copy link
Member

@prabhuk25 : Do you think these changes need to be ported for UBI10 too?

https://github.com/devfile/developer-images/blob/main/base/ubi10/Dockerfile

@rohanKanojia
Copy link
Member

@prabhuk25 : It seems build is failing for ppc64le . Do you know if ubuntu-22.04 runner has ppc64le emulation enabled?

#9 [ 2/20] RUN mkdir -p /home/tooling/
#9 0.111 exec /bin/sh: exec format error
#9 ERROR: process "/bin/sh -c mkdir -p /home/tooling/" did not complete successfully: exit code: 255
------
 > [ 2/20] RUN mkdir -p /home/tooling/:
0.111 exec /bin/sh: exec format error
------
ERROR: failed to build: failed to solve: process "/bin/sh -c mkdir -p /home/tooling/" did not complete successfully: exit code: 255
Error: Process completed with exit code 1.

@prabhuk25
Copy link
Author

@rohanKanojia: No, the ubuntu-22.04 GitHub-hosted runner does not have ppc64le emulation enabled by default. So, I have used QEMU to enable explicitly.

@prabhuk25
Copy link
Author

@prabhuk25 : Do you think these changes need to be ported for UBI10 too?

https://github.com/devfile/developer-images/blob/main/base/ubi10/Dockerfile

Yeah, it is good to have it for UBI10 as well

else
echo arch="arm64" >> $GITHUB_ENV
fi
run: echo "arch=${{ matrix.arch }}" >> $GITHUB_ENV
Copy link
Member

Choose a reason for hiding this comment

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

I think we should also have QEMU setup in this workflow (like ubi9-build.yaml)

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