From 2be6416f05bd9e1bb4ed8989020cca7728e807ff Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 16 Jul 2026 13:16:51 +0000 Subject: [PATCH 1/4] Initial plan From e215ef2de5dfa039ee67e5ce4b00d2ef0c94546a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 16 Jul 2026 13:21:31 +0000 Subject: [PATCH 2/4] Fix failing arm64 build job in licensed_image_build.yml - Add permissions: packages: write to allow pushing to GHCR - Add Set up Docker Buildx step (required by docker/build-push-action@v7) - Add Build and push Base Docker image step to make the workflow self-contained, eliminating the dependency on a pre-existing base image --- .github/workflows/licensed_image_build.yml | 24 +++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/.github/workflows/licensed_image_build.yml b/.github/workflows/licensed_image_build.yml index 760a993..2d26d6e 100644 --- a/.github/workflows/licensed_image_build.yml +++ b/.github/workflows/licensed_image_build.yml @@ -18,6 +18,9 @@ on: jobs: build_and_push: + permissions: + contents: read + packages: write strategy: fail-fast: false matrix: @@ -40,15 +43,30 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Set up Docker Buildx + # Set up Docker Buildx for building and pushing Docker images + uses: docker/setup-buildx-action@v4 + - name: Format repo slug # Format the repository slug to lowercase for use in the Docker image tags id: repo_slug run: echo "REPO_SLUG=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV - + + - name: Build and push Base Docker image + # Build the base Docker image using the Dockerfile in the `docker_base` directory and push it to GitHub Container Registry + uses: docker/build-push-action@v7 + with: + context: ./docker_base + push: true + tags: ghcr.io/${{ env.REPO_SLUG }}/arm-mlops-docker-base:latest-${{ matrix.arch }} + # Use GitHub Actions cache to speed up the build process + cache-from: type=gha,scope=${{ matrix.arch }} + cache-to: type=gha,mode=max,scope=${{ matrix.arch }} + - name: Pull Base Docker image - # Pull the arch-specific base Docker image from GitHub Container Registry + # Pull the arch-specific base Docker image from GitHub Container Registry into the local Docker daemon run: docker pull ghcr.io/${{ env.REPO_SLUG }}/arm-mlops-docker-base:latest-${{ matrix.arch }} - + - name: Create license file (stub) # Create a license file for the Docker image using the ARM UBL license identifier run: | From 0780080e165ceb291db1d06171f1ab6d0de84005 Mon Sep 17 00:00:00 2001 From: Evagan2018 Date: Mon, 20 Jul 2026 13:34:22 +0200 Subject: [PATCH 3/4] Updated action version --- .github/workflows/base_image_build.yml | 2 +- .github/workflows/licensed_image_build_community.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/base_image_build.yml b/.github/workflows/base_image_build.yml index d2f7c47..749a8a9 100644 --- a/.github/workflows/base_image_build.yml +++ b/.github/workflows/base_image_build.yml @@ -26,7 +26,7 @@ jobs: steps: - name: Checkout repository # Check out the repository containing the Dockerfile and other necessary files - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Log in to GitHub Container Registry # Log in to GitHub Container Registry using the actor and a GitHub token diff --git a/.github/workflows/licensed_image_build_community.yml b/.github/workflows/licensed_image_build_community.yml index 5c93cb6..0e3ceb3 100644 --- a/.github/workflows/licensed_image_build_community.yml +++ b/.github/workflows/licensed_image_build_community.yml @@ -30,7 +30,7 @@ jobs: steps: - name: Checkout repository # Check out the repository containing the Dockerfile and other necessary files - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Log in to GitHub Container Registry # Log in to GitHub Container Registry using the actor and a GitHub token From a2f1af48c37fa548f4d3232a9af367487101fb19 Mon Sep 17 00:00:00 2001 From: Evagan2018 Date: Mon, 20 Jul 2026 17:06:20 +0200 Subject: [PATCH 4/4] Updated action versions. Modified variables fro the Docker image selection. --- .github/workflows/licensed_image_build.yml | 14 +++++++---- .../test_licensed_docker_image_amd64.yml | 22 +++++++++++++---- .../test_licensed_docker_image_arm64.yml | 24 ++++++++++++++----- 3 files changed, 44 insertions(+), 16 deletions(-) diff --git a/.github/workflows/licensed_image_build.yml b/.github/workflows/licensed_image_build.yml index 2d26d6e..cbc744a 100644 --- a/.github/workflows/licensed_image_build.yml +++ b/.github/workflows/licensed_image_build.yml @@ -18,9 +18,11 @@ on: jobs: build_and_push: + permissions: contents: read packages: write + strategy: fail-fast: false matrix: @@ -29,11 +31,13 @@ jobs: runner: ubuntu-latest - arch: arm64 runner: ubuntu-24.04-arm + runs-on: ${{ matrix.runner }} + steps: - name: Checkout repository # Check out the repository containing the Dockerfile and other necessary files - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Log in to GitHub Container Registry # Log in to GitHub Container Registry using the actor and a GitHub token @@ -51,7 +55,7 @@ jobs: # Format the repository slug to lowercase for use in the Docker image tags id: repo_slug run: echo "REPO_SLUG=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV - + - name: Build and push Base Docker image # Build the base Docker image using the Dockerfile in the `docker_base` directory and push it to GitHub Container Registry uses: docker/build-push-action@v7 @@ -62,11 +66,11 @@ jobs: # Use GitHub Actions cache to speed up the build process cache-from: type=gha,scope=${{ matrix.arch }} cache-to: type=gha,mode=max,scope=${{ matrix.arch }} - + - name: Pull Base Docker image - # Pull the arch-specific base Docker image from GitHub Container Registry into the local Docker daemon + # Pull the arch-specific base Docker image from GitHub Container Registry run: docker pull ghcr.io/${{ env.REPO_SLUG }}/arm-mlops-docker-base:latest-${{ matrix.arch }} - + - name: Create license file (stub) # Create a license file for the Docker image using the ARM UBL license identifier run: | diff --git a/.github/workflows/test_licensed_docker_image_amd64.yml b/.github/workflows/test_licensed_docker_image_amd64.yml index e464d14..29c76f2 100644 --- a/.github/workflows/test_licensed_docker_image_amd64.yml +++ b/.github/workflows/test_licensed_docker_image_amd64.yml @@ -86,12 +86,9 @@ jobs: if: ${{ github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest - env: - DOCKER_IMAGE: ghcr.io/arm-software/avh-mlops/arm-mlops-docker-licensed:latest-amd64 - steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Log in to GitHub Container Registry uses: docker/login-action@v4 @@ -100,8 +97,23 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Format repo slug + # Format the repository slug to lowercase for use in the Docker image tags + id: repo_slug + run: echo "REPO_SLUG=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV + + - name: Define Licensed Docker image (amd64) + run: | + echo "DOCKER_IMAGE=$(echo ghcr.io/${{ env.REPO_SLUG }}/arm-mlops-docker-licensed:latest-amd64)" >> $GITHUB_ENV + + - name: Show variables + run: | + echo "REPO_SLUG=${{ env.REPO_SLUG }}" + echo "DOCKER_IMAGE=${{ env.DOCKER_IMAGE }}" + - name: Pull Licensed Docker image (amd64) - run: docker pull ${{ env.DOCKER_IMAGE }} + run: | + docker pull ${{ env.DOCKER_IMAGE }} - name: Start Docker container run: | diff --git a/.github/workflows/test_licensed_docker_image_arm64.yml b/.github/workflows/test_licensed_docker_image_arm64.yml index 57b554b..7110c3c 100644 --- a/.github/workflows/test_licensed_docker_image_arm64.yml +++ b/.github/workflows/test_licensed_docker_image_arm64.yml @@ -86,12 +86,9 @@ jobs: if: ${{ github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-24.04-arm - env: - DOCKER_IMAGE: ghcr.io/arm-software/avh-mlops/arm-mlops-docker-licensed:latest-arm64 - steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Log in to GitHub Container Registry uses: docker/login-action@v4 @@ -100,8 +97,23 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Pull Licensed Docker image (arm64) - run: docker pull ${{ env.DOCKER_IMAGE }} + - name: Format repo slug + # Format the repository slug to lowercase for use in the Docker image tags + id: repo_slug + run: echo "REPO_SLUG=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV + + - name: Define Licensed Docker image (arm64) + run: | + echo "DOCKER_IMAGE=$(echo ghcr.io/${{ env.REPO_SLUG }}/arm-mlops-docker-licensed:latest-arm64)" >> $GITHUB_ENV + + - name: Show variables + run: | + echo "REPO_SLUG=${{ env.REPO_SLUG }}" + echo "DOCKER_IMAGE=${{ env.DOCKER_IMAGE }}" + + - name: Pull Licensed Docker image (amd64) + run: | + docker pull ${{ env.DOCKER_IMAGE }} - name: Start Docker container run: |