diff --git a/.gitea/workflows/dropshell-build.yaml b/.gitea/workflows/dropshell-build.yaml index 576b6bb..3af32ac 100644 --- a/.gitea/workflows/dropshell-build.yaml +++ b/.gitea/workflows/dropshell-build.yaml @@ -50,19 +50,24 @@ jobs: username: DoesntMatter password: ${{ secrets.DOCKER_PUSH_TOKEN }} + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y jq + - name: Create and push manifest list run: | # Only create manifest on main branch if [ "$GITHUB_REF" = "refs/heads/main" ]; then - # Pull the architecture-specific images first to ensure they're available - docker pull gitea.jde.nz/public/dropshell-build-base:latest-x86_64 - docker pull gitea.jde.nz/public/dropshell-build-base:latest-aarch64 + # Get the digest of each architecture-specific image + X86_64_DIGEST=$(docker manifest inspect gitea.jde.nz/public/dropshell-build-base:latest-x86_64 | jq -r '.config.digest') + AARCH64_DIGEST=$(docker manifest inspect gitea.jde.nz/public/dropshell-build-base:latest-aarch64 | jq -r '.config.digest') - # Create the manifest list + # Create the manifest list using the architecture-specific digests docker manifest create gitea.jde.nz/public/dropshell-build-base:latest \ - --amend gitea.jde.nz/public/dropshell-build-base:latest-x86_64 \ - --amend gitea.jde.nz/public/dropshell-build-base:latest-aarch64 - + --amend gitea.jde.nz/public/dropshell-build-base@$X86_64_DIGEST \ + --amend gitea.jde.nz/public/dropshell-build-base@$AARCH64_DIGEST + # Push the manifest list docker manifest push gitea.jde.nz/public/dropshell-build-base:latest