|
@@ -0,0 +1,63 @@
|
|
|
+# Licensed to the Apache Software Foundation (ASF) under one
|
|
|
+# or more contributor license agreements. See the NOTICE file
|
|
|
+# distributed with this work for additional information
|
|
|
+# regarding copyright ownership. The ASF licenses this file
|
|
|
+# to you under the Apache License, Version 2.0 (the
|
|
|
+# "License"); you may not use this file except in compliance
|
|
|
+# with the License. You may obtain a copy of the License at
|
|
|
+#
|
|
|
+# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
+#
|
|
|
+# Unless required by applicable law or agreed to in writing, software
|
|
|
+# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
+# See the License for the specific language governing permissions and
|
|
|
+# limitations under the License.
|
|
|
+
|
|
|
+name: publish-docker
|
|
|
+
|
|
|
+on:
|
|
|
+ push:
|
|
|
+ branches:
|
|
|
+ - dev
|
|
|
+
|
|
|
+env:
|
|
|
+ HUB: ghcr.io/apache/dolphinscheduler
|
|
|
+
|
|
|
+jobs:
|
|
|
+ build:
|
|
|
+ if: github.repository == 'apache/dolphinscheduler'
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ permissions:
|
|
|
+ contents: read
|
|
|
+ packages: write
|
|
|
+ timeout-minutes: 30
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@v2
|
|
|
+ - name: Cache local Maven repository
|
|
|
+ uses: actions/cache@v2
|
|
|
+ with:
|
|
|
+ path: ~/.m2/repository
|
|
|
+ key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
|
|
|
+ restore-keys: |
|
|
|
+ ${{ runner.os }}-maven-
|
|
|
+ - name: Log in to the Container registry
|
|
|
+ uses: docker/login-action@v1.10.0
|
|
|
+ with:
|
|
|
+ registry: ${{ env.HUB }}
|
|
|
+ username: ${{ github.actor }}
|
|
|
+ password: ${{ secrets.GITHUB_TOKEN }}
|
|
|
+ - name: Set up QEMU
|
|
|
+ uses: docker/setup-qemu-action@v1
|
|
|
+ - name: Set up Docker Buildx
|
|
|
+ uses: docker/setup-buildx-action@v1
|
|
|
+ - name: Build and push docker images
|
|
|
+ run: |
|
|
|
+ ./mvnw -B clean deploy \
|
|
|
+ -Dmaven.test.skip \
|
|
|
+ -Dmaven.javadoc.skip \
|
|
|
+ -Dmaven.checkstyle.skip \
|
|
|
+ -Dmaven.deploy.skip \
|
|
|
+ -Ddocker.tag=${{ github.sha }} \
|
|
|
+ -Ddocker.hub=${{ env.HUB }} \
|
|
|
+ -Pdocker,release
|