From b5b3803126201c2692acf3a84733dd811faca951 Mon Sep 17 00:00:00 2001 From: Lance Albertson Date: Tue, 21 Jan 2025 12:03:49 -0800 Subject: [PATCH] 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 && \