From a5300880d7baa6b4977c355a455b451d86b8bb7a Mon Sep 17 00:00:00 2001 From: kezhenxu94 Date: Mon, 2 Nov 2020 00:19:57 +0800 Subject: [PATCH] [CI] Cancel outdated jobs when new builds are fired (#5558) --- .github/workflows/cancel.yaml | 39 +++++++++++++++++++++ .github/workflows/docker-ci.yaml | 6 +++- .github/workflows/e2e.go.yaml | 2 ++ .github/workflows/e2e.istio.yaml | 2 ++ .github/workflows/e2e.js.yaml | 2 ++ .github/workflows/e2e.kafka.yaml | 2 ++ .github/workflows/e2e.php.yaml | 2 ++ .github/workflows/e2e.profiling.yaml | 2 ++ .github/workflows/e2e.python.yaml | 2 ++ .github/workflows/e2e.ttl.yaml | 2 ++ .github/workflows/e2e.yaml | 2 ++ .github/workflows/plugins-jdk14-test.0.yaml | 15 ++++++++ .github/workflows/plugins-test.0.yaml | 15 ++++++++ .github/workflows/plugins-test.1.yaml | 15 ++++++++ .github/workflows/plugins-test.2.yaml | 15 ++++++++ .github/workflows/plugins-test.3.yaml | 15 ++++++++ 16 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/cancel.yaml diff --git a/.github/workflows/cancel.yaml b/.github/workflows/cancel.yaml new file mode 100644 index 0000000000..0f6010ffb5 --- /dev/null +++ b/.github/workflows/cancel.yaml @@ -0,0 +1,39 @@ +# 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: Cancel + +on: + workflow_run: + workflows: + - CI AND IT + - E2E + - PluginsTest + types: + - requested + +jobs: + # Cancel outdated builds in the repo, including all action tasks of all commits. + cancel-outdated-builds: + runs-on: ubuntu-18.04 + timeout-minutes: 10 + steps: + - uses: potiuk/cancel-workflow-runs@v4_1 + name: Cancel Outdated Builds + with: + cancelMode: allDuplicates + token: ${{ secrets.GITHUB_TOKEN }} + sourceRunId: ${{ github.event.workflow_run.id }} diff --git a/.github/workflows/docker-ci.yaml b/.github/workflows/docker-ci.yaml index 306a67fb46..f6fe273bb7 100644 --- a/.github/workflows/docker-ci.yaml +++ b/.github/workflows/docker-ci.yaml @@ -16,7 +16,11 @@ name: docker-ci -on: [pull_request] +on: + pull_request: + paths: + - '!**.md' + env: SKIP_TEST: true DOCKER_DIR: ./docker diff --git a/.github/workflows/e2e.go.yaml b/.github/workflows/e2e.go.yaml index 2b5e267f9f..d316bd2f6a 100644 --- a/.github/workflows/e2e.go.yaml +++ b/.github/workflows/e2e.go.yaml @@ -18,6 +18,8 @@ name: E2E on: pull_request: + paths: + - '!**.md' push: branches: - master diff --git a/.github/workflows/e2e.istio.yaml b/.github/workflows/e2e.istio.yaml index cb785159ab..34d590e680 100644 --- a/.github/workflows/e2e.istio.yaml +++ b/.github/workflows/e2e.istio.yaml @@ -18,6 +18,8 @@ name: Istio on: pull_request: + paths: + - '!**.md' push: branches: - master diff --git a/.github/workflows/e2e.js.yaml b/.github/workflows/e2e.js.yaml index 903bf0351c..ae8616c007 100644 --- a/.github/workflows/e2e.js.yaml +++ b/.github/workflows/e2e.js.yaml @@ -18,6 +18,8 @@ name: E2E on: pull_request: + paths: + - '!**.md' push: branches: - master diff --git a/.github/workflows/e2e.kafka.yaml b/.github/workflows/e2e.kafka.yaml index e8e4c9940c..56935a5c62 100644 --- a/.github/workflows/e2e.kafka.yaml +++ b/.github/workflows/e2e.kafka.yaml @@ -18,6 +18,8 @@ name: E2E on: pull_request: + paths: + - '!**.md' push: branches: - master diff --git a/.github/workflows/e2e.php.yaml b/.github/workflows/e2e.php.yaml index 7122d31175..495ab8f254 100644 --- a/.github/workflows/e2e.php.yaml +++ b/.github/workflows/e2e.php.yaml @@ -18,6 +18,8 @@ name: E2E on: pull_request: + paths: + - '!**.md' push: branches: - master diff --git a/.github/workflows/e2e.profiling.yaml b/.github/workflows/e2e.profiling.yaml index 20a2212521..75b0940315 100644 --- a/.github/workflows/e2e.profiling.yaml +++ b/.github/workflows/e2e.profiling.yaml @@ -18,6 +18,8 @@ name: E2E on: pull_request: + paths: + - '!**.md' push: branches: - master diff --git a/.github/workflows/e2e.python.yaml b/.github/workflows/e2e.python.yaml index 84c11f6de7..20a3940f76 100644 --- a/.github/workflows/e2e.python.yaml +++ b/.github/workflows/e2e.python.yaml @@ -18,6 +18,8 @@ name: E2E on: pull_request: + paths: + - '!**.md' push: branches: - master diff --git a/.github/workflows/e2e.ttl.yaml b/.github/workflows/e2e.ttl.yaml index 43e9f53611..7f1e3f6926 100644 --- a/.github/workflows/e2e.ttl.yaml +++ b/.github/workflows/e2e.ttl.yaml @@ -18,6 +18,8 @@ name: E2E on: pull_request: + paths: + - '!**.md' push: branches: - master diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index 348de064c1..2caf64d1b0 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -18,6 +18,8 @@ name: E2E on: pull_request: + paths: + - '!**.md' push: branches: - master diff --git a/.github/workflows/plugins-jdk14-test.0.yaml b/.github/workflows/plugins-jdk14-test.0.yaml index 16348a5947..db3ffdd953 100644 --- a/.github/workflows/plugins-jdk14-test.0.yaml +++ b/.github/workflows/plugins-jdk14-test.0.yaml @@ -18,6 +18,21 @@ name: PluginsJDK14Test on: pull_request: + paths: + - '.github/workflows/plugins-*.yaml' + - 'apm-application-toolkit/**' + - 'apm-commons/**' + - 'apm-protocol/**' + - 'apm-sniffer/**' + - 'test/plugin/**' + - '**/pom.xml' + - '!test/e2e/**' + - '!apm-webapp/**' + - '!apm-dist/**' + - '!apm-dist-es7/**' + - '!apm-docker/**' + - '!oap-server/**' + - '!**.md' jobs: PluginsJDK14Test: diff --git a/.github/workflows/plugins-test.0.yaml b/.github/workflows/plugins-test.0.yaml index 64da882d7e..ee76b483d3 100644 --- a/.github/workflows/plugins-test.0.yaml +++ b/.github/workflows/plugins-test.0.yaml @@ -18,6 +18,21 @@ name: PluginsTest on: pull_request: + paths: + - '.github/workflows/plugins-*.yaml' + - 'apm-application-toolkit/**' + - 'apm-commons/**' + - 'apm-protocol/**' + - 'apm-sniffer/**' + - 'test/plugin/**' + - '**/pom.xml' + - '!test/e2e/**' + - '!apm-webapp/**' + - '!apm-dist/**' + - '!apm-dist-es7/**' + - '!apm-docker/**' + - '!oap-server/**' + - '!**.md' jobs: PluginsTest: diff --git a/.github/workflows/plugins-test.1.yaml b/.github/workflows/plugins-test.1.yaml index f525360770..b00d01906c 100644 --- a/.github/workflows/plugins-test.1.yaml +++ b/.github/workflows/plugins-test.1.yaml @@ -18,6 +18,21 @@ name: PluginsTest on: pull_request: + paths: + - '.github/workflows/plugins-*.yaml' + - 'apm-application-toolkit/**' + - 'apm-commons/**' + - 'apm-protocol/**' + - 'apm-sniffer/**' + - 'test/plugin/**' + - '**/pom.xml' + - '!test/e2e/**' + - '!apm-webapp/**' + - '!apm-dist/**' + - '!apm-dist-es7/**' + - '!apm-docker/**' + - '!oap-server/**' + - '!**.md' jobs: PluginsTest: diff --git a/.github/workflows/plugins-test.2.yaml b/.github/workflows/plugins-test.2.yaml index 35fde5d976..71c13eec94 100644 --- a/.github/workflows/plugins-test.2.yaml +++ b/.github/workflows/plugins-test.2.yaml @@ -18,6 +18,21 @@ name: PluginsTest on: pull_request: + paths: + - '.github/workflows/plugins-*.yaml' + - 'apm-application-toolkit/**' + - 'apm-commons/**' + - 'apm-protocol/**' + - 'apm-sniffer/**' + - 'test/plugin/**' + - '**/pom.xml' + - '!test/e2e/**' + - '!apm-webapp/**' + - '!apm-dist/**' + - '!apm-dist-es7/**' + - '!apm-docker/**' + - '!oap-server/**' + - '!**.md' jobs: PluginsTest: diff --git a/.github/workflows/plugins-test.3.yaml b/.github/workflows/plugins-test.3.yaml index d86c917b36..7a568576e3 100644 --- a/.github/workflows/plugins-test.3.yaml +++ b/.github/workflows/plugins-test.3.yaml @@ -18,6 +18,21 @@ name: PluginsTest on: pull_request: + paths: + - '.github/workflows/plugins-*.yaml' + - 'apm-application-toolkit/**' + - 'apm-commons/**' + - 'apm-protocol/**' + - 'apm-sniffer/**' + - 'test/plugin/**' + - '**/pom.xml' + - '!test/e2e/**' + - '!apm-webapp/**' + - '!apm-dist/**' + - '!apm-dist-es7/**' + - '!apm-docker/**' + - '!oap-server/**' + - '!**.md' jobs: PluginsTest: -- GitLab