Pārlūkot izejas kodu

gh build action for the different build args

Jannik Streidl 1 gadu atpakaļ
vecāks
revīzija
9a8a48b879
1 mainītis faili ar 26 papildinājumiem un 10 dzēšanām
  1. 26 10
      .github/workflows/docker-build.yaml

+ 26 - 10
.github/workflows/docker-build.yaml

@@ -1,5 +1,4 @@
-#
-name: Create and publish a Docker image
+name: Create and publish Docker images with specific build args
 
 # Configures this workflow to run every time a change is pushed to the branch called `release`.
 on:
@@ -23,7 +22,7 @@ jobs:
     permissions:
       contents: read
       packages: write
-      #
+
     steps:
       - name: Checkout repository
         uses: actions/checkout@v4
@@ -41,8 +40,8 @@ jobs:
           username: ${{ github.actor }}
           password: ${{ secrets.GITHUB_TOKEN }}
 
-      - name: Extract metadata for Docker images
-        id: meta
+      - name: Extract metadata for Docker images (default latest tag)
+        id: meta-latest
         uses: docker/metadata-action@v5
         with:
           images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
@@ -53,14 +52,31 @@ jobs:
             type=sha,prefix=git-
             type=semver,pattern={{version}}
             type=semver,pattern={{major}}.{{minor}}
-          flavor: |
-            latest=${{ github.ref == 'refs/heads/main' }}
+            latest=true
+
+      - name: Build and push Docker image (latest)
+        uses: docker/build-push-action@v5
+        with:
+          context: .
+          push: true
+          platforms: linux/amd64,linux/arm64
+          tags: ${{ steps.meta-latest.outputs.tags }}
+          labels: ${{ steps.meta-latest.outputs.labels }}
+
+      - name: Build and push Docker image with CUDA
+        uses: docker/build-push-action@v5
+        with:
+          context: .
+          push: true
+          platforms: linux/amd64,linux/arm64
+          tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:cuda
+          build-args: USE_CUDA=true
 
-      - name: Build and push Docker image
+      - name: Build and push Docker image with MPS
         uses: docker/build-push-action@v5
         with:
           context: .
           push: true
           platforms: linux/amd64,linux/arm64
-          tags: ${{ steps.meta.outputs.tags }}
-          labels: ${{ steps.meta.outputs.labels }}
+          tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:mps
+          build-args: USE_MPS=true