From 12b7200dfbf817ab1546c7d3c2c704a20123e7a1 Mon Sep 17 00:00:00 2001 From: Abdul Rabbani Date: Mon, 20 Jun 2022 09:57:39 -0400 Subject: [PATCH] Duplicate job check --- .../{publish.yaml => on-pr-publish.yaml} | 28 ++++++++++++++++++- .github/workflows/on-pr.yml | 7 ----- 2 files changed, 27 insertions(+), 8 deletions(-) rename .github/workflows/{publish.yaml => on-pr-publish.yaml} (73%) delete mode 100644 .github/workflows/on-pr.yml diff --git a/.github/workflows/publish.yaml b/.github/workflows/on-pr-publish.yaml similarity index 73% rename from .github/workflows/publish.yaml rename to .github/workflows/on-pr-publish.yaml index 610f8afbf..51fec9b5a 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/on-pr-publish.yaml @@ -1,13 +1,35 @@ -name: Publish geth to release +name: Test, Build, and/or Publish on: release: types: [published] + pull_request: + jobs: + pre_job: + # continue-on-error: true # Uncomment once integration is finished + runs-on: ubuntu-latest + # Map a step output to a job output + outputs: + should_skip: ${{ steps.skip_check.outputs.should_skip }} + steps: + - id: skip_check + uses: fkirc/skip-duplicate-actions@v4 + with: + # All of these options are optional, so you can remove them if you are happy with the defaults + concurrent_skipping: "never" + skip_after_successful_duplicate: "true" + do_not_skip: '["workflow_dispatch", "schedule"]' run-tests: uses: ./.github/workflows/tests.yml + if: ${{ needs.pre_job.outputs.should_skip != 'true' }} + needs: pre_job build: name: Run docker build and publish needs: run-tests + if: | + always() && + (needs.run-tests.result == 'success' || needs.run-tests.result == 'skipped') && + github.event_name == 'release' runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -25,6 +47,10 @@ jobs: push_to_registries: name: Publish assets to Release runs-on: ubuntu-latest + if: | + always() && + (needs.build.result == 'success') && + github.event_name == 'release' needs: build steps: - name: Get the version diff --git a/.github/workflows/on-pr.yml b/.github/workflows/on-pr.yml deleted file mode 100644 index 2b05dcda5..000000000 --- a/.github/workflows/on-pr.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: Build and test - -on: [pull_request] - -jobs: - run-tests: - uses: ./.github/workflows/tests.yml