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 5cf15d13db8f1851ed404b652510e711b38c9bfb Author: kezhenxu94 <[email protected]> AuthorDate: Mon Aug 23 18:17:09 2021 +0800 Split CI workflow to fasten the waiting time --- .github/workflows/ci-it.yaml | 119 +++++++----------------------- .github/workflows/dependency-license.yaml | 62 ++++++++++++++++ 2 files changed, 89 insertions(+), 92 deletions(-) diff --git a/.github/workflows/ci-it.yaml b/.github/workflows/ci-it.yaml index 4c2dceb..c7e19fc 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,18 @@ 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 ] + include: + - os: ubuntu + jdk: 8 + profile: 'backend,CI-with-IT' steps: - uses: actions/checkout@v2 with: @@ -41,10 +54,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 +67,17 @@ 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' + - name: Install & Test + if: env.SKIP_CI != 'true' && matrix.jdk == '8' 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' + ./mvnw -q --batch-mode -P"${{ matrix.profile }}" clean verify install javadoc:javadoc || \ + ./mvnw -q --batch-mode -P"${{ matrix.profile }}" clean verify install javadoc:javadoc + - name: Install & Test + if: env.SKIP_CI != 'true' && matrix.jdk != '8' 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 + ./mvnw -q --batch-mode -P"${{ matrix.profile }}" clean verify install || \ + ./mvnw -q --batch-mode -P"${{ matrix.profile }}" clean verify install 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
