skywalking-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kezhenx...@apache.org
Subject [skywalking] 01/01: Split CI workflow to fasten the waiting time
Date Mon, 23 Aug 2021 11:14:25 GMT
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 529c4be7382a9fbb5fdb17db1c6d866b1425dd42
Author: kezhenxu94 <kezhenxu94@apache.org>
AuthorDate: Mon Aug 23 18:17:09 2021 +0800

    Split CI workflow to fasten the waiting time
---
 .github/workflows/ci-it.yaml              | 117 +++++++-----------------------
 .github/workflows/dependency-license.yaml |  62 ++++++++++++++++
 2 files changed, 87 insertions(+), 92 deletions(-)

diff --git a/.github/workflows/ci-it.yaml b/.github/workflows/ci-it.yaml
index 4c2dceb..ac6162c 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'
+        if: env.SKIP_CI != 'true' && matrix.os == 'ubuntu'
         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
@@ -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 == 'ubuntu'
         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'
+        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

Mime
View raw message