Add ppc64le support for base image #28
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # | |
| # Copyright (c) 2021-2025 Red Hat, Inc. | |
| # This program and the accompanying materials are made | |
| # available under the terms of the Eclipse Public License 2.0 | |
| # which is available at https://www.eclipse.org/legal/epl-2.0/ | |
| # | |
| # SPDX-License-Identifier: EPL-2.0 | |
| # | |
| name: Pull Request Check UBI 10 | |
| # Trigger the workflow on pull request | |
| on: [pull_request] | |
| env: | |
| # Use repository variable if set, otherwise fallback to default registry | |
| REGISTRY: ${{ vars.REGISTRY || 'quay.io/devfile' }} | |
| jobs: | |
| build-base-image: | |
| name: Build base image | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| runners: ['ubuntu-22.04', 'ubuntu-22.04-arm'] | |
| runs-on: ${{matrix.runners}} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set arch environment variable | |
| run: | | |
| if [[ ${{matrix.runners}} == 'ubuntu-22.04' ]]; then | |
| echo arch="amd64" >> $GITHUB_ENV | |
| else | |
| echo arch="arm64" >> $GITHUB_ENV | |
| fi | |
| - name: Free runner space | |
| run: sudo rm -rf /usr/local/lib/android | |
| - name: Cleanup docker images | |
| run: docker system prune -af | |
| - name: Build base image | |
| run: | | |
| cd base/ubi10 && docker buildx build \ | |
| --platform linux/${{env.arch}} \ | |
| --progress=plain \ | |
| -t base-developer-image-${{env.arch}} . | |
| - name: Display docker images | |
| run: docker images | |
| - name: Login to Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ${{ env.REGISTRY }} | |
| username: ${{ secrets.QUAY_USERNAME }} | |
| password: ${{ secrets.QUAY_PASSWORD }} | |
| # TODO: Remove this step once UDI on UBI 10 is ready and we have proper PR workflow for UDI | |
| # This temporary step pushes base image to registry for testing purposes | |
| - name: Tag and push base image for testing | |
| run: | | |
| docker tag base-developer-image-${{env.arch}} ${{ env.REGISTRY }}/base-developer-image:${{env.arch}}-ubi10-pr-${{github.event.number}} | |
| docker push ${{ env.REGISTRY }}/base-developer-image:${{env.arch}}-ubi10-pr-${{github.event.number}} | |
| - name: Compress image to a file | |
| run: docker save base-developer-image-${{env.arch}} | gzip > base-developer-image-${{env.arch}}.tgz | |
| - name: Upload image artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: base-developer-image-${{env.arch}} | |
| path: base-developer-image-${{env.arch}}.tgz | |
| publish-base-image: | |
| name: Publish base image | |
| runs-on: ubuntu-22.04 | |
| needs: build-base-image | |
| steps: | |
| - name: Login to Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ${{ env.REGISTRY }} | |
| username: ${{ secrets.QUAY_USERNAME }} | |
| password: ${{ secrets.QUAY_PASSWORD }} | |
| # TODO: Remove this job once UDI on UBI 10 is ready and we have proper PR workflow for UDI | |
| # This temporary job publishes base image manifest for testing purposes | |
| - name: publish base image manifest | |
| run: | | |
| docker manifest create ${{ env.REGISTRY }}/base-developer-image:ubi10-pr-${{github.event.number}} \ | |
| --amend ${{ env.REGISTRY }}/base-developer-image:amd64-ubi10-pr-${{github.event.number}} \ | |
| --amend ${{ env.REGISTRY }}/base-developer-image:arm64-ubi10-pr-${{github.event.number}} | |
| docker manifest annotate ${{ env.REGISTRY }}/base-developer-image:ubi10-pr-${{github.event.number}} \ | |
| ${{ env.REGISTRY }}/base-developer-image:amd64-ubi10-pr-${{github.event.number}} \ | |
| --os linux --arch amd64 | |
| docker manifest annotate ${{ env.REGISTRY }}/base-developer-image:ubi10-pr-${{github.event.number}} \ | |
| ${{ env.REGISTRY }}/base-developer-image:arm64-ubi10-pr-${{github.event.number}} \ | |
| --os linux --arch arm64 | |
| docker manifest push ${{ env.REGISTRY }}/base-developer-image:ubi10-pr-${{github.event.number}} | |
| - name: 'Comment PR' | |
| uses: actions/github-script@v7 | |
| with: | |
| script: | | |
| const { repo: { owner, repo } } = context; | |
| await github.rest.issues.createComment({ | |
| issue_number: ${{github.event.number}}, | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| body: `Pull Request UBI 10 images published ✨\n\nBase Image: [${{ env.REGISTRY }}/base-developer-image:ubi10-pr-${{github.event.number}}](https://${{ env.REGISTRY }}/base-developer-image:ubi10-pr-${{github.event.number}})` | |
| }) | |
| # build-udi: | |
| # name: Build udi | |
| # strategy: | |
| # fail-fast: false | |
| # matrix: | |
| # runners: ['ubuntu-22.04', 'ubuntu-22.04-arm'] | |
| # runs-on: ${{matrix.runners}} | |
| # needs: build-base-image | |
| # steps: | |
| # - name: Set arch environment variable | |
| # run: | | |
| # if [[ ${{matrix.runners}} == 'ubuntu-22.04' ]]; then | |
| # echo arch="amd64" >> $GITHUB_ENV | |
| # else | |
| # echo arch="arm64" >> $GITHUB_ENV | |
| # fi | |
| # - name: Checkout | |
| # uses: actions/checkout@v4 | |
| # - name: Free runner space | |
| # run: sudo rm -rf /usr/local/lib/android | |
| # - name: Cleanup docker images | |
| # run: docker system prune -af | |
| # - name: Download BDI artifacts | |
| # uses: actions/download-artifact@v4 | |
| # with: | |
| # pattern: base-developer-image-* | |
| # merge-multiple: true | |
| # path: . | |
| # - name: List downloaded files | |
| # run: ls -lah | |
| # - name: Load docker images | |
| # run: docker load -i base-developer-image-${{env.arch}}.tgz | |
| # - name: Display docker images | |
| # run: docker images | |
| # - name: Update UDI Dockerfile | |
| # run: sed "s|${{ env.REGISTRY }}/base-developer-image:ubi10-latest|base-developer-image-${{env.arch}}|" -i "universal/ubi10/Dockerfile" | |
| # - name: Login to Registry | |
| # uses: docker/login-action@v3 | |
| # with: | |
| # registry: ${{ env.REGISTRY }} | |
| # username: ${{ secrets.QUAY_USERNAME }} | |
| # password: ${{ secrets.QUAY_PASSWORD }} | |
| # - name: Build udi | |
| # run: | | |
| # cd universal/ubi10 && docker buildx build \ | |
| # --platform linux/${{env.arch}} \ | |
| # --progress=plain \ | |
| # --push \ | |
| # -t ${{ env.REGISTRY }}/universal-developer-image:${{env.arch}}-ubi10-pr-${{github.event.number}} . | |
| # publish-udi: | |
| # name: Publish udi | |
| # runs-on: ubuntu-22.04 | |
| # needs: build-udi | |
| # steps: | |
| # - name: Login to Registry | |
| # uses: docker/login-action@v3 | |
| # with: | |
| # registry: ${{ env.REGISTRY }} | |
| # username: ${{ secrets.QUAY_USERNAME }} | |
| # password: ${{ secrets.QUAY_PASSWORD }} | |
| # - name: publish | |
| # run: | | |
| # docker manifest create ${{ env.REGISTRY }}/universal-developer-image:ubi10-pr-${{github.event.number}} \ | |
| # --amend ${{ env.REGISTRY }}/universal-developer-image:amd64-ubi10-pr-${{github.event.number}} \ | |
| # --amend ${{ env.REGISTRY }}/universal-developer-image:arm64-ubi10-pr-${{github.event.number}} | |
| # | |
| # docker manifest annotate ${{ env.REGISTRY }}/universal-developer-image:ubi10-pr-${{github.event.number}} \ | |
| # ${{ env.REGISTRY }}/universal-developer-image:amd64-ubi10-pr-${{github.event.number}} \ | |
| # --os linux --arch amd64 | |
| # docker manifest annotate ${{ env.REGISTRY }}/universal-developer-image:ubi10-pr-${{github.event.number}} \ | |
| # ${{ env.REGISTRY }}/universal-developer-image:arm64-ubi10-pr-${{github.event.number}} \ | |
| # --os linux --arch arm64 | |
| # | |
| # docker manifest push ${{ env.REGISTRY }}/universal-developer-image:ubi10-pr-${{github.event.number}} | |
| # - name: 'Comment PR' | |
| # uses: actions/github-script@v7 | |
| # with: | |
| # script: | | |
| # const { repo: { owner, repo } } = context; | |
| # await github.rest.issues.createComment({ | |
| # issue_number: ${{github.event.number}}, | |
| # owner: context.repo.owner, | |
| # repo: context.repo.repo, | |
| # body: `Pull Request images published ✨\n\nUDI: [${{ env.REGISTRY }}/universal-developer-image:ubi10-pr-${{github.event.number}}](https://${{ env.REGISTRY }}/universal-developer-image:ubi10-pr-${{github.event.number}})` | |
| # }) |