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 10:18:15 UTC
[skywalking] 01/01: Split CI workflow to fasten the waiting time
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 97f7e5233437c1ef8107ad28dad9f504a5108b3a
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Mon Aug 23 18:17:09 2021 +0800
Split CI workflow to fasten the waiting time
---
.github/workflows/ci-it.yaml | 102 +++++-------------------------
.github/workflows/dependency-license.yaml | 63 ++++++++++++++++++
2 files changed, 80 insertions(+), 85 deletions(-)
diff --git a/.github/workflows/ci-it.yaml b/.github/workflows/ci-it.yaml
index 4c2dceb..ee7f893 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,13 @@ concurrency:
jobs:
CI:
if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
- runs-on: ubuntu-latest
+ runs-on: ${{ matrix.os }}
timeout-minutes: 90
+ strategy:
+ matrix:
+ os: [ "ubuntu-latest", "macos-latest", "windows-latest" ]
+ jdk: [ "8", "11" ]
+ profile: [ "agent", "backend", "ui" ]
steps:
- uses: actions/checkout@v2
with:
@@ -57,92 +65,16 @@ jobs:
if: env.SKIP_CI != 'true'
with:
java-version: 8
- - name: 'Check Javaagent Plugin List'
+ - name: Check Javaagent Plugin List
if: env.SKIP_CI != 'true'
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'
- 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
+ java-version: ${{ matrix.jdk }}
+ - name: Install & Test
+ if: env.SKIP_CI != 'true' && matrix.os == 'ubuntu-latest'
+ run: ./mvnw -q --batch-mode -P"${{ matrix.profile }},CI-with-IT" clean verify install javadoc:javadoc
+ - name: Install & Test
+ if: env.SKIP_CI != 'true' && matrix.os != 'ubuntu-latest'
+ 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..cca5f6d
--- /dev/null
+++ b/.github/workflows/dependency-license.yaml
@@ -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: 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:
+ if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
+ 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" -Dmaven.test.skip -Dcheckstyle.skip clean install
+ - name: Check Dependencies Licenses
+ if: env.SKIP_CI != 'true'
+ run: tools/dependencies/check-LICENSE.sh