Skip to content

[DEV-12155] Funding Opportunity Extractor and Loader #144

[DEV-12155] Funding Opportunity Extractor and Loader

[DEV-12155] Funding Opportunity Extractor and Loader #144

name: Pull Request Checks
on:
pull_request:
types:
- opened
- ready_for_review
- reopened
- synchronize
# Only allow a single run of the PR checks for each branch. This means that in the case of multiple
# PRs opened from a single branch into multiple others (e.g., hotfixes) a single run of the PR checks
# will occur. However, additional runs of the PR checks will be triggered when the source branch
# is re-synced with the target branch.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
# There isn't a good way to avoid running a workflow when a Draft PR is opened. As a result, we
# first check if a Draft PR triggered this workflow and cancel the workflow if that is the case.
Cancel-If-Draft-Pull-Request:
if: github.event.pull_request.draft == true
uses: ./.github/workflows/cancel-running-workflow.yaml
# The conditional in each of the workflows below is required. Without these checks they will be skipped
# when the "Cancel-If-Draft-Pull-Request" workflow is skipped.
Run-Code-Style-Checks:
name: Run Code Style Checks
needs: Cancel-If-Draft-Pull-Request
if: |
always() &&
needs.Cancel-If-Draft-Pull-Request.result == 'skipped'
uses: ./.github/workflows/code-style-checks.yaml
# Many of the integration tests below rely on testing which requires building the backend image.
# To avoid having to run this multiple times we instead build it once and store it as an artifact on the workflow.
Build-Docker-Image:
name: Build Docker Image
needs: Cancel-If-Draft-Pull-Request
if: |
always() &&
needs.Cancel-If-Draft-Pull-Request.result == 'skipped'
uses: ./.github/workflows/build-docker-image-for-test.yaml
Run-Spark-Integration-Other-Tests:
name: Run Spark Integration Other Tests
needs:
- Run-Code-Style-Checks
- Build-Docker-Image
if: ${{ !failure() && !cancelled() }}
uses: ./.github/workflows/test-spark-integration-other.yaml
Run-Non-Spark-Integration-Tests:
name: Run Non-Spark Integration Tests
needs:
- Run-Code-Style-Checks
- Build-Docker-Image
if: ${{ !failure() && !cancelled() }}
uses: ./.github/workflows/test-non-spark-integration.yaml
Run-Non-Spark-Integration-Tests-With-Signal-Handling:
name: Run Non-Spark Integration Tests With Signal Handling
needs:
- Run-Code-Style-Checks
- Build-Docker-Image
if: ${{ !failure() && !cancelled() }}
uses: ./.github/workflows/test-non-spark-integration-signal-handling.yaml
Run-Unit-Tests:
name: Run Unit Tests
needs:
- Run-Code-Style-Checks
if: ${{ !failure() && !cancelled() }}
uses: ./.github/workflows/test-unit.yaml
Run-Unit-Tests-With-Signal-Handling:
name: Run Unit Tests With Signal Handling
needs:
- Run-Code-Style-Checks
if: ${{ !failure() && !cancelled() }}
uses: ./.github/workflows/test-unit-signal-handling.yaml