From 8468b43891f01f2502d7b93c7ef08534b7d139cd Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Fri, 11 Dec 2020 16:30:04 +0100 Subject: [PATCH] github: Prevent duplicate CI runs This cancels previous runs of the same branch and skips runs of the same content (e.g. after merges or tags). --- .github/workflows/android.yml | 12 ++++++++++++ .github/workflows/lgtm.yml | 12 ++++++++++++ .github/workflows/linux.yml | 16 ++++++++++++++++ .github/workflows/macos.yml | 12 ++++++++++++ .github/workflows/sonarcloud.yml | 12 ++++++++++++ .github/workflows/windows.yml | 12 ++++++++++++ 6 files changed, 76 insertions(+) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 567c50772..b4f1bace0 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -10,7 +10,19 @@ env: OS_NAME: linux jobs: + pre-check: + runs-on: ubuntu-latest + outputs: + should_skip: ${{ steps.skip-check.outputs.should_skip }} + steps: + - id: skip-check + uses: fkirc/skip-duplicate-actions@master + with: + concurrent_skipping: 'same_content' + android: + needs: pre-check + if: ${{ needs.pre-check.outputs.should_skip != 'true' }} runs-on: ubuntu-latest env: TEST: android diff --git a/.github/workflows/lgtm.yml b/.github/workflows/lgtm.yml index 8d6fd54a0..f527b2966 100644 --- a/.github/workflows/lgtm.yml +++ b/.github/workflows/lgtm.yml @@ -6,7 +6,19 @@ env: OS_NAME: linux jobs: + pre-check: + runs-on: ubuntu-latest + outputs: + should_skip: ${{ steps.skip-check.outputs.should_skip }} + steps: + - id: skip-check + uses: fkirc/skip-duplicate-actions@master + with: + concurrent_skipping: 'same_content' + lgtm: + needs: pre-check + if: ${{ needs.pre-check.outputs.should_skip != 'true' }} runs-on: ubuntu-latest env: TEST: lgtm diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index fc51cd35c..442628b7b 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -13,7 +13,19 @@ env: OS_NAME: linux jobs: + pre-check: + runs-on: ubuntu-latest + outputs: + should_skip: ${{ steps.skip-check.outputs.should_skip }} + steps: + - id: skip-check + uses: fkirc/skip-duplicate-actions@master + with: + concurrent_skipping: 'same_content' + latest: + needs: pre-check + if: ${{ needs.pre-check.outputs.should_skip != 'true' }} runs-on: ubuntu-latest strategy: matrix: @@ -72,6 +84,8 @@ jobs: retention-days: 5 crypto-plugins: + needs: pre-check + if: ${{ needs.pre-check.outputs.should_skip != 'true' }} runs-on: ubuntu-latest strategy: matrix: @@ -108,6 +122,8 @@ jobs: retention-days: 5 xenial: + needs: pre-check + if: ${{ needs.pre-check.outputs.should_skip != 'true' }} runs-on: ubuntu-16.04 strategy: matrix: diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 1528f3f9e..c89678a55 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -10,7 +10,19 @@ env: OS_NAME: macos jobs: + pre-check: + runs-on: ubuntu-latest + outputs: + should_skip: ${{ steps.skip-check.outputs.should_skip }} + steps: + - id: skip-check + uses: fkirc/skip-duplicate-actions@master + with: + concurrent_skipping: 'same_content' + macos: + needs: pre-check + if: ${{ needs.pre-check.outputs.should_skip != 'true' }} runs-on: macos-latest env: TEST: macos diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index aa6a411e2..293cbe27d 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -9,7 +9,19 @@ env: OS_NAME: linux jobs: + pre-check: + runs-on: ubuntu-latest + outputs: + should_skip: ${{ steps.skip-check.outputs.should_skip }} + steps: + - id: skip-check + uses: fkirc/skip-duplicate-actions@master + with: + concurrent_skipping: 'same_content' + sonarcloud: + needs: pre-check + if: ${{ needs.pre-check.outputs.should_skip != 'true' }} runs-on: ubuntu-latest env: TEST: sonarcloud diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 073bd274a..31334c504 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -13,7 +13,19 @@ env: MONOLITHIC: yes jobs: + pre-check: + runs-on: ubuntu-latest + outputs: + should_skip: ${{ steps.skip-check.outputs.should_skip }} + steps: + - id: skip-check + uses: fkirc/skip-duplicate-actions@master + with: + concurrent_skipping: 'same_content' + cross-compile: + needs: pre-check + if: ${{ needs.pre-check.outputs.should_skip != 'true' }} runs-on: ubuntu-latest strategy: matrix: