You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@seatunnel.apache.org by ga...@apache.org on 2022/10/27 03:03:20 UTC
[incubator-seatunnel] branch dev updated: [Improve][CI] every night will run full modules test (#3199)
This is an automated email from the ASF dual-hosted git repository.
gaojun2048 pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new 90231db0f [Improve][CI] every night will run full modules test (#3199)
90231db0f is described below
commit 90231db0f3d6ef598a80b273ace93609b093026e
Author: Eric <ga...@gmail.com>
AuthorDate: Thu Oct 27 11:03:14 2022 +0800
[Improve][CI] every night will run full modules test (#3199)
* every night will run full modules test
* if only e2e code update, unit test should not run
* fix the ci error when only updated e2e code
---
.github/workflows/backend.yml | 1 +
.github/workflows/schedule_backend.yml | 145 +++++++++++++++++++++++++++++++++
pom.xml | 4 +
3 files changed, 150 insertions(+)
diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml
index 9e5e581e7..b45dac8e2 100644
--- a/.github/workflows/backend.yml
+++ b/.github/workflows/backend.yml
@@ -239,6 +239,7 @@ jobs:
unit-test:
needs: [ changes, sanity-check ]
+ if: needs.changes.outputs.api == 'true' || (needs.changes.outputs.api == 'false' && needs.changes.outputs.ut-modules != '')
runs-on: ${{ matrix.os }}
strategy:
matrix:
diff --git a/.github/workflows/schedule_backend.yml b/.github/workflows/schedule_backend.yml
new file mode 100644
index 000000000..a27ca9b2e
--- /dev/null
+++ b/.github/workflows/schedule_backend.yml
@@ -0,0 +1,145 @@
+#
+# 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: Schedule Backend
+on:
+ schedule:
+ - cron: '0 0 03 * * ?'
+
+concurrency:
+ group: backend-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ license-header:
+ if: github.repository == 'apache/incubator-seatunnel'
+ name: License header
+ runs-on: ubuntu-latest
+ timeout-minutes: 10
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ submodules: true
+ - name: Check license header
+ uses: apache/skywalking-eyes@985866ce7e324454f61e22eb2db2e998db09d6f3
+
+ code-style:
+ if: github.repository == 'apache/incubator-seatunnel'
+ name: Code style
+ runs-on: ubuntu-latest
+ timeout-minutes: 10
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ submodules: true
+ - name: Check code style
+ run: ./mvnw --batch-mode --quiet --no-snapshot-updates clean checkstyle:check
+
+ dead-link:
+ if: github.repository == 'apache/incubator-seatunnel'
+ name: Dead links
+ runs-on: ubuntu-latest
+ timeout-minutes: 30
+ steps:
+ - uses: actions/checkout@v2
+ - run: sudo npm install -g markdown-link-check@3.8.7
+ - run: |
+ for file in $(find . -name "*.md"); do
+ markdown-link-check -c .dlc.json -q "$file"
+ done
+
+ sanity-check:
+ if: github.repository == 'apache/incubator-seatunnel'
+ name: Sanity check results
+ needs: [ license-header, code-style, dead-link ]
+ runs-on: ubuntu-latest
+ timeout-minutes: 10
+ steps:
+ - name: Check results
+ run: |
+ [[ ${{ needs.license-header.result }} == 'success' ]] || exit 1;
+ [[ ${{ needs.code-style.result }} == 'success' ]] || exit 1;
+ [[ ${{ needs.dead-link.result }} == 'success' ]] || exit 1;
+
+ dependency-license:
+ name: Dependency licenses
+ needs: [ sanity-check ]
+ runs-on: ubuntu-latest
+ timeout-minutes: 40
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ submodules: true
+ - uses: actions/setup-java@v3
+ with:
+ distribution: 'temurin'
+ java-version: '8'
+ cache: 'maven'
+ - name: Install
+ run: >-
+ ./mvnw -B -q install -DskipTests
+ -D"maven.test.skip"=true
+ -D"maven.javadoc.skip"=true
+ -D"scalastyle.skip"=true
+ -D"checkstyle.skip"=true
+ -D"license.skipAddThirdParty"
+ - name: Check Dependencies Licenses
+ run: tools/dependencies/checkLicense.sh
+
+ unit-test:
+ needs: [ sanity-check ]
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ java: [ '8', '11' ]
+ os: [ 'ubuntu-latest', 'windows-latest' ]
+ timeout-minutes: 90
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up JDK ${{ matrix.java }}
+ uses: actions/setup-java@v3
+ with:
+ java-version: ${{ matrix.java }}
+ distribution: 'temurin'
+ cache: 'maven'
+ - name: run all modules unit test
+ run: |
+ ./mvnw -B -T 1C clean verify -D"maven.test.skip"=false -D"checkstyle.skip"=true -D"scalastyle.skip"=true -D"license.skipAddThirdParty"=true --no-snapshot-updates
+ env:
+ MAVEN_OPTS: -Xmx2048m
+
+ integration-test:
+ needs: [ sanity-check ]
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ java: [ '8', '11' ]
+ os: [ 'ubuntu-latest' ]
+ timeout-minutes: 90
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up JDK ${{ matrix.java }}
+ uses: actions/setup-java@v3
+ with:
+ java-version: ${{ matrix.java }}
+ distribution: 'temurin'
+ cache: 'maven'
+ - name: run all modules integration test
+ run: |
+ ./mvnw -T 1C -B verify -DskipUT=true -DskipIT=false -D"checkstyle.skip"=true -D"scalastyle.skip"=true -D"license.skipAddThirdParty"=true --no-snapshot-updates
+ env:
+ MAVEN_OPTS: -Xmx2048m
diff --git a/pom.xml b/pom.xml
index fa633c0bc..df484dc19 100644
--- a/pom.xml
+++ b/pom.xml
@@ -126,6 +126,10 @@
<value>false</value>
</property>
</activation>
+ <modules>
+ <module>seatunnel-examples</module>
+ <module>seatunnel-e2e</module>
+ </modules>
</profile>
</profiles>