From 416869b246c9e7cecb2ee2af4f7bb7e1f7b0949a Mon Sep 17 00:00:00 2001 From: "Md. Shafi Hussain" Date: Wed, 15 Jan 2025 12:59:36 +0530 Subject: [PATCH 1/4] Created workflow to build and push ubi-ppc64le image to GHCR --- .github/workflows/ubi-ppc64le-build.yml | 50 +++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .github/workflows/ubi-ppc64le-build.yml diff --git a/.github/workflows/ubi-ppc64le-build.yml b/.github/workflows/ubi-ppc64le-build.yml new file mode 100644 index 0000000..3ad2cec --- /dev/null +++ b/.github/workflows/ubi-ppc64le-build.yml @@ -0,0 +1,50 @@ +name: UBI Image Builder + +on: + workflow_dispatch: + push: + paths: + - 'ubi-ppc64le/**' + +env: + REGISTRY: ghcr.io + IMAGE_NAME: 'ubi-ppc64le' + +jobs: + build-ubi-builder-img: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: Setup QEMU + uses: docker/setup-qemu-action@v3 + + - name: Setup Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build and export Docker image + uses: docker/build-push-action@v5 + + - name: Log in to the Container Registry + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + + - name: Build & Push Image + uses: docker/build-push-action@v6 + with: + push: true + context: "{{defaultContext}}:ubi-ppc64le" + platforms: linux/ppc64le + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file From 72b6230b731cc8cd0699f090228a0633e24709d2 Mon Sep 17 00:00:00 2001 From: "Md. Shafi Hussain" Date: Sat, 18 Jan 2025 16:19:44 +0530 Subject: [PATCH 2/4] Update ubi-ppc64le-build.yml Added missing repository owner for IMAGE_NAME --- .github/workflows/ubi-ppc64le-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ubi-ppc64le-build.yml b/.github/workflows/ubi-ppc64le-build.yml index 3ad2cec..ac4e2f8 100644 --- a/.github/workflows/ubi-ppc64le-build.yml +++ b/.github/workflows/ubi-ppc64le-build.yml @@ -8,7 +8,7 @@ on: env: REGISTRY: ghcr.io - IMAGE_NAME: 'ubi-ppc64le' + IMAGE_NAME: ${{ github.repository_owner }}/'ubi-ppc64le' jobs: build-ubi-builder-img: @@ -47,4 +47,4 @@ jobs: context: "{{defaultContext}}:ubi-ppc64le" platforms: linux/ppc64le tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file + labels: ${{ steps.meta.outputs.labels }} From 4ece2e8a7ceb805384be0cd559bcf04cfbc3babc Mon Sep 17 00:00:00 2001 From: "Md. Shafi Hussain" Date: Sat, 18 Jan 2025 16:23:31 +0530 Subject: [PATCH 3/4] Update ubi-ppc64le-build.yml --- .github/workflows/ubi-ppc64le-build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ubi-ppc64le-build.yml b/.github/workflows/ubi-ppc64le-build.yml index ac4e2f8..2beee5c 100644 --- a/.github/workflows/ubi-ppc64le-build.yml +++ b/.github/workflows/ubi-ppc64le-build.yml @@ -48,3 +48,4 @@ jobs: platforms: linux/ppc64le tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + From b5b3803126201c2692acf3a84733dd811faca951 Mon Sep 17 00:00:00 2001 From: Lance Albertson Date: Tue, 21 Jan 2025 12:03:49 -0800 Subject: [PATCH 4/4] Update to match how we built the other image Standardized how we build and test this and adds a schedule to rebuild weekly. Signed-off-by: Lance Albertson --- .github/workflows/ubi-ppc64le-build.yml | 100 +++++++++++++----------- ubi-ppc64le/Dockerfile | 2 +- 2 files changed, 57 insertions(+), 45 deletions(-) diff --git a/.github/workflows/ubi-ppc64le-build.yml b/.github/workflows/ubi-ppc64le-build.yml index 2beee5c..51d6621 100644 --- a/.github/workflows/ubi-ppc64le-build.yml +++ b/.github/workflows/ubi-ppc64le-build.yml @@ -1,51 +1,63 @@ -name: UBI Image Builder +--- +name: ubi-ppc64le on: - workflow_dispatch: - push: - paths: - - 'ubi-ppc64le/**' + push: + branches: + - master + paths: ubi-ppc64le/* + pull_request: + paths: ubi-ppc64le/* + schedule: + - cron: '15 20 * * 2' env: REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository_owner }}/'ubi-ppc64le' + IMAGE_NAME: ubi-ppc64le jobs: - build-ubi-builder-img: - runs-on: ubuntu-latest - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - - name: Setup QEMU - uses: docker/setup-qemu-action@v3 - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Build and export Docker image - uses: docker/build-push-action@v5 - - - name: Log in to the Container Registry - if: github.event_name != 'pull_request' - uses: docker/login-action@v3 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Docker metadata - id: meta - uses: docker/metadata-action@v5 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - - name: Build & Push Image - uses: docker/build-push-action@v6 - with: - push: true - context: "{{defaultContext}}:ubi-ppc64le" - platforms: linux/ppc64le - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - + docker: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Setup QEMU + uses: docker/setup-qemu-action@v3 + - name: Setup Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Build and export Docker image + uses: docker/build-push-action@v5 + with: + context: ubi-ppc64le + tags: osuosl/ubi-ppc64le:test + platforms: linux/ppc64le + cache-from: type=gha + cache-to: type=gha,mode=max + - name: Log in to the Container Registry + if: contains(fromJSON('["push", "schedule"]'), github.event_name) + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + if: contains(fromJSON('["push", "schedule"]'), github.event_name) + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=schedule,${{ github.ref_name }} + - name: Build and push Docker image + if: contains(fromJSON('["push", "schedule"]'), github.event_name) + uses: docker/build-push-action@v5 + with: + context: ubi-ppc64le + push: true + tags: ghcr.io/osuosl/ubi-ppc64le:latest + platforms: linux/ppc64le + labels: ${{ steps.meta.outputs.labels }} diff --git a/ubi-ppc64le/Dockerfile b/ubi-ppc64le/Dockerfile index da60a81..0262999 100644 --- a/ubi-ppc64le/Dockerfile +++ b/ubi-ppc64le/Dockerfile @@ -40,7 +40,7 @@ RUN dnf install -y ccache && \ chmod 2777 /var/cache/ccache COPY ccache.conf /etc/ccache.conf -# setup SSH server +# Setup SSH server RUN dnf install -y openssh-server && \ dnf clean all && \ rm -rf /var/cache/yum && \