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 }}
