Просмотр исходного кода

Update default version in publish-docker.yaml

Tim Jones 1 месяц назад
Родитель
Сommit
ce4921752c
1 измененных файлов с 61 добавлено и 0 удалено
  1. 61 0
      .github/workflows/publish-docker.yaml

+ 61 - 0
.github/workflows/publish-docker.yaml

@@ -0,0 +1,61 @@
+name: Docker Release Publish (multi-arch)
+
+on:
+  workflow_dispatch:
+    inputs:
+      version:
+        description: "RackPeek version (e.g. v1.0.0)"
+        required: true
+        default: "v0.0.12"
+
+permissions:
+  contents: read
+
+jobs:
+  docker:
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+
+      # Multi-arch support
+      - name: Set up QEMU
+        uses: docker/setup-qemu-action@v3
+
+      - name: Set up Docker Buildx
+        uses: docker/setup-buildx-action@v3
+
+      - name: Login to Docker Hub
+        uses: docker/login-action@v3
+        with:
+          username: ${{ secrets.DOCKERHUB_USERNAME }}
+          password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+      - name: Validate version input
+        run: |
+          VERSION="${{ github.event.inputs.version }}"
+          echo "VERSION=$VERSION" >> $GITHUB_ENV
+
+          # Require v-prefixed semver like v1.2.3
+          if ! echo "$VERSION" | grep -Eq '^v[0-9]+\.[0-9]+\.[0-9]+$'; then
+            echo "Invalid version: $VERSION"
+            echo "Expected format: vMAJOR.MINOR.PATCH (e.g. v1.0.0)"
+            exit 1
+          fi
+
+      - name: Build and push release image (multi-arch)
+        uses: docker/build-push-action@v5
+        env:
+          BUILDKIT_PROGRESS: plain
+        with:
+          context: .
+          file: ./RackPeek.Web/Dockerfile
+          platforms: linux/amd64,linux/arm64
+          push: true
+          target: final
+          tags: |
+            aptacode/rackpeek:${{ env.VERSION }}
+            aptacode/rackpeek:latest
+          cache-from: type=gha
+          cache-to: type=gha,mode=max