This is an automated email from the ASF dual-hosted git repository.

kezhenxu94 pushed a commit to branch docker
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git

commit 5d78cbdc085476c1932dff87f599983b904924a1
Author: kezhenxu94 <[email protected]>
AuthorDate: Mon Feb 27 08:35:50 2023 +0800

    Publish Docker images to docker hub when released
---
 .github/workflows/publish-docker.yaml     | 27 ++++++++++++++++++-------
 .github/workflows/publish-helm-chart.yaml | 33 ++++++++++++++++++++++++-------
 2 files changed, 46 insertions(+), 14 deletions(-)

diff --git a/.github/workflows/publish-docker.yaml 
b/.github/workflows/publish-docker.yaml
index 5c3d5c4fdc..ec474ef06d 100644
--- a/.github/workflows/publish-docker.yaml
+++ b/.github/workflows/publish-docker.yaml
@@ -20,9 +20,9 @@ on:
   push:
     branches:
       - dev
-
-env:
-  HUB: ghcr.io/apache/dolphinscheduler
+  release:
+    types:
+      - released
 
 jobs:
   build:
@@ -41,12 +41,25 @@ jobs:
           key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
           restore-keys: |
             ${{ runner.os }}-maven-
+      - name: Set environment variables
+        run: |
+          if [[ ${{ github.event_name }} != "release" ]]; then
+            echo "DOCKER_REGISTRY=docker.io" >> $GITHUB_ENV
+            echo "DOCKER_USERNAME=${{ secrets.DOCKERHUB_USER }}" >> $GITHUB_ENV
+            echo "DOCKER_PASSWORD=${{ secrets.DOCKERHUB_TOKEN }}" >> 
$GITHUB_ENV
+            echo "HUB=apache" >> $GITHUB_ENV
+          else
+            echo "DOCKER_REGISTRY=ghcr.io/apache/dolphinscheduler" >> 
$GITHUB_ENV
+            echo "DOCKER_USERNAME=${{ github.actor }}" >> $GITHUB_ENV
+            echo "DOCKER_PASSWORD=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV
+            echo "HUB=ghcr.io/apache/dolphinscheduler" >> $GITHUB_ENV
+          fi
       - name: Log in to the Container registry
-        uses: docker/[email protected]
+        uses: docker/login-action@v2
         with:
-          registry: ${{ env.HUB }}
-          username: ${{ github.actor }}
-          password: ${{ secrets.GITHUB_TOKEN }}
+          registry: ${{ env.DOCKER_REGISTRY }}
+          username: ${{ env.DOCKER_USERNAME }}
+          password: ${{ env.DOCKER_PASSWORD }}
       - name: Set up QEMU
         uses: docker/setup-qemu-action@v2
       - name: Set up Docker Buildx
diff --git a/.github/workflows/publish-helm-chart.yaml 
b/.github/workflows/publish-helm-chart.yaml
index 92bdda867b..e28b60e448 100644
--- a/.github/workflows/publish-helm-chart.yaml
+++ b/.github/workflows/publish-helm-chart.yaml
@@ -20,6 +20,9 @@ on:
   push:
     branches:
       - dev
+  release:
+    types:
+      - released
 
 env:
   HUB: ghcr.io/apache/dolphinscheduler
@@ -34,17 +37,33 @@ jobs:
     timeout-minutes: 30
     steps:
       - uses: actions/checkout@v2
+      - name: Set environment variables
+        run: |
+          # TODO
+          if [[ ${{ github.event_name }} == "release" ]]; then
+            echo "HUB=registry-1.docker.io/apache" >> $GITHUB_ENV
+            echo "DOCKER_REGISTRY=docker.io" >> $GITHUB_ENV
+            echo "DOCKER_USERNAME=${{ secrets.DOCKERHUB_USER }}" >> $GITHUB_ENV
+            echo "DOCKER_PASSWORD=${{ secrets.DOCKERHUB_TOKEN }}" >> 
$GITHUB_ENV
+          else
+            echo "HUB=ghcr.io/apache/dolphinscheduler" >> $GITHUB_ENV
+            echo "DOCKER_REGISTRY=c" >> $GITHUB_ENV
+            echo "DOCKER_USERNAME=${{ github.actor }}" >> $GITHUB_ENV
+            echo "DOCKER_PASSWORD=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV
+          fi
       - name: Log in to the Container registry
-        uses: docker/[email protected]
+        uses: docker/login-action@v2
         with:
-          registry: ${{ env.HUB }}
-          username: ${{ github.actor }}
-          password: ${{ secrets.GITHUB_TOKEN }}
+          registry: ${{ env.DOCKER_REGISTRY }}
+          username: ${{ env.DOCKER_USERNAME }}
+          password: ${{ env.DOCKER_PASSWORD }}
       - name: Publish Helm Chart
         working-directory: deploy/kubernetes
         run: |
-          VERSION=0.0.0-$(git rev-parse --short HEAD)
-          sed -i "s/^version: .*/version: $VERSION/" 
dolphinscheduler/Chart.yaml
+          if [[ ${{ env.HUB }} == "ghcr.io/apache/dolphinscheduler" ]]; then
+            VERSION=0.0.0-$(git rev-parse --short HEAD)
+            sed -i "s/^version: .*/version: $VERSION/" 
dolphinscheduler/Chart.yaml
+          fi
           helm dep up dolphinscheduler
           helm package dolphinscheduler
-          helm push dolphinscheduler-helm-$VERSION.tgz oci://${{ env.HUB }}
+          helm push dolphinscheduler-helm-*.tgz oci://${{ env.HUB }}

Reply via email to