From 4e083d4a86bab9a78e17bb2512b39a0163a37e55 Mon Sep 17 00:00:00 2001 From: Clement Tsang <34804052+ClementTsang@users.noreply.github.com> Date: Sat, 27 Nov 2021 04:54:55 -0500 Subject: [PATCH] ci: skip duplicate runs (#610) Skips duplicate runs in the CI/codecov pipelines. --- .github/workflows/ci.yml | 25 +++++++++++++++---------- .github/workflows/codecov.yml | 30 ++++++++++++++++-------------- 2 files changed, 31 insertions(+), 24 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 20325c8d..25e6a062 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,22 +9,26 @@ name: ci on: workflow_dispatch: pull_request: - paths-ignore: - - "README.md" - - "docs/**" - - ".github/ISSUE_TEMPLATE/**" push: branches: - master - paths-ignore: - - "README.md" - - "docs/**" - - ".github/ISSUE_TEMPLATE/**" - - "CHANGELOG.md" - - "CONTRIBUTING.md" jobs: + pre_job: + 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_newer" + skip_after_successful_duplicate: "true" + paths_ignore: '["**/README.md", "**/docs/**", ".github/ISSUE_TEMPLATE/**", "CHANGELOG.md", "CONTRIBUTING.md"]' + do_not_skip: '["workflow_dispatch"]' + rustfmt: + needs: pre_job runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -47,6 +51,7 @@ jobs: - run: cargo fmt --all -- --check clippy: + needs: pre_job runs-on: ${{ matrix.os }} strategy: fail-fast: false diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index 6d5cd969..f6ba329b 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -1,28 +1,30 @@ -# Code coverage generation via cargo-tarpaulin, and uploaded to -# codecov. +# Code coverage generation via cargo-tarpaulin, and uploaded to codecov. name: codecov on: workflow_dispatch: pull_request: - paths-ignore: - - "README.md" - - "docs/**" - - ".github/ISSUE_TEMPLATE/**" push: branches: - master - paths-ignore: - - "README.md" - - "docs/**" - - ".github/ISSUE_TEMPLATE/**" - - "CHANGELOG.md" - - "CONTRIBUTING.md" jobs: - test: - name: coverage + pre_job: + 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_newer" + skip_after_successful_duplicate: "true" + paths_ignore: '["**/README.md", "**/docs/**", ".github/ISSUE_TEMPLATE/**", "CHANGELOG.md", "CONTRIBUTING.md"]' + do_not_skip: '["workflow_dispatch"]' + + coverage: + needs: pre_job runs-on: ubuntu-latest container: image: xd009642/tarpaulin:develop