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>