diff --git a/.github/file-filter.yml b/.github/file-filter.yml index b504ad526d..05c4e1150c 100644 --- a/.github/file-filter.yml +++ b/.github/file-filter.yml @@ -30,6 +30,8 @@ yml: &yml - '.github/workflows/bench.yml' - '.github/workflows/test.yml' - '.github/workflows/formatting.yml' + - '.github/workflows/fp-stability.yml' + - '.github/workflows/convergence.yml' checkall: &checkall - *fortran_src diff --git a/.github/workflows/convergence.yml b/.github/workflows/convergence.yml index c652125ec4..9d0557c0b5 100644 --- a/.github/workflows/convergence.yml +++ b/.github/workflows/convergence.yml @@ -4,15 +4,36 @@ on: push: branches: [master] pull_request: + types: [opened, synchronize, reopened, ready_for_review] workflow_dispatch: env: OMPI_MCA_rmaps_base_oversubscribe: 1 jobs: + file-changes: + name: Detect File Changes + runs-on: ubuntu-latest + outputs: + checkall: ${{ steps.changes.outputs.checkall }} + steps: + - name: Clone + uses: actions/checkout@v4 + + - name: Detect Changes + uses: dorny/paths-filter@v3 + id: changes + with: + filters: ".github/file-filter.yml" + convergence: name: "Convergence" runs-on: ubuntu-latest + needs: [file-changes] + if: >- + !cancelled() && + needs.file-changes.result == 'success' && + (needs.file-changes.outputs.checkall == 'true' || github.event_name == 'workflow_dispatch') timeout-minutes: 240 steps: diff --git a/.github/workflows/fp-stability.yml b/.github/workflows/fp-stability.yml index cf5b12c5b7..7e86d7dc02 100644 --- a/.github/workflows/fp-stability.yml +++ b/.github/workflows/fp-stability.yml @@ -35,9 +35,29 @@ on: workflow_dispatch: jobs: + file-changes: + name: Detect File Changes + runs-on: ubuntu-latest + outputs: + checkall: ${{ steps.changes.outputs.checkall }} + steps: + - name: Clone + uses: actions/checkout@v4 + + - name: Detect Changes + uses: dorny/paths-filter@v3 + id: changes + with: + filters: ".github/file-filter.yml" + fp-stability: name: Floating-Point Stability (Verrou) runs-on: ubuntu-latest + needs: [file-changes] + if: >- + !cancelled() && + needs.file-changes.result == 'success' && + (needs.file-changes.outputs.checkall == 'true' || github.event_name == 'workflow_dispatch') steps: - name: Clone