You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ke...@apache.org on 2021/08/23 11:23:49 UTC

[skywalking] 01/01: Motivation:

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

kezhenxu94 pushed a commit to branch test/ci/fasten
in repository https://gitbox.apache.org/repos/asf/skywalking.git

commit a7a45fa23817303fa5cd75b374e2a12a8231cc99
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Mon Aug 23 18:17:09 2021 +0800

    Motivation:
    
    Explain why you're making that change and what's the problem you're trying to solve.
    
    Modifications:
    
    - Describe the modifications you've done.
    
    Result:
    
    - Closes #<GitHub issue number>. (If this resolves the issue.)
    - Describe the consequences that a user will face after this PR is merged.
---
 .github/workflows/ci-it.yaml              | 119 +++++++-----------------------
 .github/workflows/dependency-license.yaml |  62 ++++++++++++++++
 2 files changed, 88 insertions(+), 93 deletions(-)

diff --git a/.github/workflows/ci-it.yaml b/.github/workflows/ci-it.yaml
index 4c2dceb..6803292 100644
--- a/.github/workflows/ci-it.yaml
+++ b/.github/workflows/ci-it.yaml
@@ -17,6 +17,9 @@
 name: CI AND IT
 
 on:
+  push:
+    branches:
+      - test/ci/*
   pull_request:
   schedule:
     - cron: '0 18 * * *'  # TimeZone: UTC 0
@@ -32,8 +35,14 @@ concurrency:
 jobs:
   CI:
     if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}-latest
     timeout-minutes: 90
+    strategy:
+      fail-fast: true
+      matrix:
+        os: [ ubuntu, macos, windows ]
+        jdk: [ 8, 11 ]
+        profile: [ agent, backend, ui ]
     steps:
       - uses: actions/checkout@v2
         with:
@@ -41,10 +50,8 @@ jobs:
       - name: Set Skip Env Var
         uses: ./.github/actions/skip
       - name: Check License Header
-        if: env.SKIP_CI != 'true'
-        uses: apache/skywalking-eyes@9bd5feb86b5817aa6072b008f9866a2c3bbc8587
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        if: env.SKIP_CI != 'true' && matrix.os == 'ubuntu'
+        uses: apache/skywalking-eyes@13c159dded1b55cd70abfff39a7b4a983bd64801
       - name: Cache local Maven repository
         if: env.SKIP_CI != 'true'
         uses: actions/cache@v2
@@ -56,93 +63,19 @@ jobs:
       - uses: actions/setup-java@v1
         if: env.SKIP_CI != 'true'
         with:
-          java-version: 8
-      - name: 'Check Javaagent Plugin List'
-        if: env.SKIP_CI != 'true'
+          java-version: ${{ matrix.jdk }}
+      - name: Check Javaagent Plugin List
+        if: env.SKIP_CI != 'true' && matrix.os == 'ubuntu'
         run: tools/plugin/check-javaagent-plugin-list.sh
-      - name: 'Install & Test'
-        if: env.SKIP_CI != 'true'
-        run: |
-          ./mvnw -q --batch-mode -P"agent,backend,ui,dist,CI-with-IT" clean cobertura:cobertura verify install javadoc:javadoc
-          bash <(curl -s https://codecov.io/bash)
-      - name: 'Check Dependencies Licenses'
-        if: env.SKIP_CI != 'true'
-        run: tools/dependencies/check-LICENSE.sh
-
-  CI-on-JDK11:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Check License Header
-        if: env.SKIP_CI != 'true'
-        uses: apache/skywalking-eyes@9bd5feb86b5817aa6072b008f9866a2c3bbc8587
-      - name: Cache local Maven repository
-        if: env.SKIP_CI != 'true'
-        uses: actions/cache@v2
-        with:
-          path: ~/.m2/repository
-          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-          restore-keys: |
-            ${{ runner.os }}-maven-
-      - uses: actions/setup-java@v1
-        if: env.SKIP_CI != 'true'
-        with:
-          java-version: 11
-      - name: 'Install & Test'
-        if: env.SKIP_CI != 'true'
-        run: ./mvnw -q --batch-mode -P"agent,backend,ui,dist" clean verify install
-
-  CI-on-Windows:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    runs-on: windows-latest
-    timeout-minutes: 90
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - uses: actions/setup-java@v1
-        if: env.SKIP_CI != 'true'
-        with:
-          java-version: 8
-      - name: 'Install & Test'
-        if: env.SKIP_CI != 'true'
-        run: |
-          ./mvnw -q --batch-mode -P"agent,backend,ui,dist" clean verify install
-
-
-  CI-on-MacOS:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    runs-on: macos-latest
-    timeout-minutes: 90
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Cache local Maven repository
-        if: env.SKIP_CI != 'true'
-        uses: actions/cache@v2
-        with:
-          path: ~/.m2/repository
-          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-          restore-keys: |
-            ${{ runner.os }}-maven-
-      - uses: actions/setup-java@v1
-        if: env.SKIP_CI != 'true'
-        with:
-          java-version: 8
-      - name: 'Install & Test'
-        if: env.SKIP_CI != 'true'
+      - name: Install & Test
+        if: env.SKIP_CI != 'true' && matrix.os != 'windows'
         run: |
-          # Given packaging on Mac has a high possibility to fail, we retry one more time here
-          ./mvnw -q --batch-mode -P"agent,backend,ui,dist" clean verify install || \
-          ./mvnw -q --batch-mode -P"agent,backend,ui,dist" clean verify install
+          goals="clean verify install"
+          if [[ "${{ matrix.jdk }}" != "11" ]]; then
+            # finagle plugin failed to generate javadoc in JDK 11
+            goals="$goals javadoc:javadoc"
+          fi
+          ./mvnw -q --batch-mode -P"${{ matrix.profile }},CI-with-IT" $goals
+      - name: Install & Test
+        if: env.SKIP_CI != 'true' && matrix.os != 'ubuntu' && matrix.jdk == '8'
+        run: ./mvnw -q --batch-mode -P"${{ matrix.profile }}" clean verify install javadoc:javadoc
diff --git a/.github/workflows/dependency-license.yaml b/.github/workflows/dependency-license.yaml
new file mode 100644
index 0000000..0dc9eed
--- /dev/null
+++ b/.github/workflows/dependency-license.yaml
@@ -0,0 +1,62 @@
+# 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: Dependency License
+
+on:
+  push:
+    branches:
+      - test/ci/*
+  pull_request:
+
+concurrency:
+  group: dependency-license-${{ github.event.pull_request.number || github.ref }}
+  cancel-in-progress: true
+
+jobs:
+  dependency-license:
+    runs-on: ubuntu-latest
+    name: Dependency Liense
+    timeout-minutes: 30
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          submodules: true
+      - name: Set Skip Env Var
+        uses: ./.github/actions/skip
+      - name: Check License Header
+        if: env.SKIP_CI != 'true'
+        uses: apache/skywalking-eyes@9bd5feb86b5817aa6072b008f9866a2c3bbc8587
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+      - name: Cache local Maven repository
+        if: env.SKIP_CI != 'true'
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+          restore-keys: |
+            ${{ runner.os }}-maven-
+      - uses: actions/setup-java@v1
+        if: env.SKIP_CI != 'true'
+        with:
+          java-version: 8
+      - name: Build Distribution Tar
+        if: env.SKIP_CI != 'true'
+        run: ./mvnw -q --batch-mode -P"all,dist" -DskipTests clean install
+      - name: Check Dependencies Licenses
+        if: env.SKIP_CI != 'true'
+        run: tools/dependencies/check-LICENSE.sh