diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 30eec2b..34c8741 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -138,9 +138,9 @@ jobs: fail-fast: false matrix: machine: - - platform: linux/amd64 + - platform: amd64 runner: ubuntu-latest - - platform: linux/arm64 + - platform: arm64 runner: ubuntu-24.04-arm64 tag: [cpu, cuda] steps: @@ -173,24 +173,11 @@ jobs: id: build uses: docker/build-push-action@v6 with: - platforms: ${{ matrix.platform }} labels: ${{ steps.meta.outputs.labels }} - outputs: type=image,"name=${{ env.GHCR_REPO }}",push-by-digest=true,name-canonical=true,push=true file: docker/${{ matrix.tag }}.Dockerfile - - - name: Export digest - run: | - mkdir -p ${{ runner.temp }}/digests - digest="${{ steps.build.outputs.digest }}" - touch "${{ runner.temp }}/digests/${digest#sha256:}" - - - name: Upload digest - uses: actions/upload-artifact@v4 - with: - name: digests-${{ env.PLATFORM_PAIR }} - path: ${{ runner.temp }}/digests/* - if-no-files-found: error - retention-days: 1 + push: true + tags: | + ${{ env.GHCR_REPO }}:latest-${{ matrix.tag }}-${{ matrix.machine.platform }} merge: runs-on: ubuntu-latest @@ -214,24 +201,11 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - - name: Docker meta - id: meta - uses: docker/metadata-action@v5 - with: - images: | - ${{ env.GHCR_REPO }} - tags: | - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - - - name: Create manifest list and push - working-directory: ${{ runner.temp }}/digests + - name: Merge run: | - docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ - $(printf '${{ env.GHCR_REPO }}@sha256:%s ' *) - - - name: Inspect image - run: | - docker buildx imagetools inspect ${{ env.GHCR_REPO }}:${{ steps.meta.outputs.version }} + docker buildx imagetools create -t ${{ env.GHCR_REPO }}:cuda \ + ${{ env.GHCR_REPO }}:latest-cuda-amd64 \ + ${{ env.GHCR_REPO }}:latest-cuda-arm64 + docker buildx imagetools create -t ${{ env.GHCR_REPO }}:cpu \ + ${{ env.GHCR_REPO }}:latest-cpu-amd64 \ + ${{ env.GHCR_REPO }}:latest-cpu-arm64