From a6c4858a3e05a7a6a4bbab8491ad121d0b682fd1 Mon Sep 17 00:00:00 2001 From: Artem Pelenitsyn Date: Thu, 27 Mar 2025 09:27:33 -0400 Subject: [PATCH] remove the *-skip workflows (fix #10868) this essentially reverts https://github.com/haskell/cabal/pull/9355 (cherry picked from commit 718a816ce8fccb49222164bb7ec10c7e98d21187) --- .github/workflows/bootstrap.skip.yml | 48 -------------------------- .github/workflows/bootstrap.yml | 20 ----------- .github/workflows/check-sdist.skip.yml | 48 -------------------------- .github/workflows/check-sdist.yml | 17 --------- .github/workflows/validate.skip.yml | 48 -------------------------- .github/workflows/validate.yml | 20 ----------- 6 files changed, 201 deletions(-) delete mode 100644 .github/workflows/bootstrap.skip.yml delete mode 100644 .github/workflows/check-sdist.skip.yml delete mode 100644 .github/workflows/validate.skip.yml diff --git a/.github/workflows/bootstrap.skip.yml b/.github/workflows/bootstrap.skip.yml deleted file mode 100644 index 40ccb0ae9bc..00000000000 --- a/.github/workflows/bootstrap.skip.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Bootstrap Skip - -# This Workflow is special and contains a workaround for a known limitation of GitHub CI. -# -# The problem: We don't want to run the "bootstrap" jobs on PRs which contain only changes -# to the docs, since these jobs take a long time to complete without providing any benefit. -# We therefore use path-filtering in the workflow triggers for the bootstrap jobs, namely -# "paths-ignore: doc/**". But the "Bootstrap post job" is a required job, therefore a PR cannot -# be merged unless the "Bootstrap post job" completes succesfully, which it doesn't do if we -# filter it out. -# -# The solution: We use a second job with the same name which always returns the exit code 0. -# The logic implemented for "required" workflows accepts if 1) at least one job with that name -# runs through, AND 2) If multiple jobs of that name exist, then all jobs of that name have to -# finish successfully. -on: - push: - paths: - - 'doc/**' - - '**/README.md' - - 'CONTRIBUTING.md' - - "changelog.d/**" - # only top level for these, because various test packages have them too - - "*/ChangeLog.md" - - "*/changelog.md" - - "release-notes/**" - branches: - - master - pull_request: - paths: - - 'doc/**' - - '**/README.md' - - 'CONTRIBUTING.md' - - "changelog.d/**" - - "*/ChangeLog.md" - - "*/changelog.md" - - "release-notes/**" - release: - types: - - created - -jobs: - bootstrap-post-job: - if: always() - name: Bootstrap post job - runs-on: ubuntu-latest - steps: - - run: exit 0 diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml index 640802e5403..9436a24cb6f 100644 --- a/.github/workflows/bootstrap.yml +++ b/.github/workflows/bootstrap.yml @@ -5,31 +5,11 @@ concurrency: group: ${{ github.ref }}-${{ github.workflow }} cancel-in-progress: true -# Note: This workflow file contains the required job "Bootstrap post job". We are using path filtering -# here to ignore PRs which only change documentation. This can cause a problem, see the workflow file -# "bootstrap.skip.yml" for a description of the problem and the solution provided in that file. on: push: - paths-ignore: - - 'doc/**' - - '**/README.md' - - 'CONTRIBUTING.md' - - "changelog.d/**" - # only top level for these, because various test packages have them too - - "*/ChangeLog.md" - - "*/changelog.md" - - "release-notes/**" branches: - master pull_request: - paths-ignore: - - 'doc/**' - - '**/README.md' - - 'CONTRIBUTING.md' - - "changelog.d/**" - - "*/ChangeLog.md" - - "*/changelog.md" - - "release-notes/**" release: types: - created diff --git a/.github/workflows/check-sdist.skip.yml b/.github/workflows/check-sdist.skip.yml deleted file mode 100644 index 522c9896f0d..00000000000 --- a/.github/workflows/check-sdist.skip.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Check sdist Skip - -# This Workflow is special and contains a workaround for a known limitation of GitHub CI. -# -# The problem: We don't want to run the "check sdist" jobs on PRs which contain only changes -# to the docs, since these jobs take a long time to complete without providing any benefit. -# We therefore use path-filtering in the workflow triggers for the check sdist jobs, namely -# "paths-ignore: doc/**". But the "Check sdist post job" is a required job, therefore a PR cannot -# be merged unless the "Bootstrap post job" completes succesfully, which it doesn't do if we -# filter it out. -# -# The solution: We use a second job with the same name which always returns the exit code 0. -# The logic implemented for "required" workflows accepts if 1) at least one job with that name -# runs through, AND 2) If multiple jobs of that name exist, then all jobs of that name have to -# finish successfully. -on: - push: - paths: - - 'doc/**' - - '**/README.md' - - 'CONTRIBUTING.md' - - "changelog.d/**" - # only top level for these, because various test packages have them too - - "*/ChangeLog.md" - - "*/changelog.md" - - "release-notes/**" - branches: - - master - pull_request: - paths: - - 'doc/**' - - '**/README.md' - - 'CONTRIBUTING.md' - - "changelog.d/**" - - "*/ChangeLog.md" - - "*/changelog.md" - - "release-notes/**" - release: - types: - - created - -jobs: - check-sdist-post-job: - if: always() - name: Check sdist post job - runs-on: ubuntu-latest - steps: - - run: exit 0 diff --git a/.github/workflows/check-sdist.yml b/.github/workflows/check-sdist.yml index 70d76cdfe77..a0455d0f003 100644 --- a/.github/workflows/check-sdist.yml +++ b/.github/workflows/check-sdist.yml @@ -7,26 +7,9 @@ concurrency: on: push: - paths-ignore: - - "doc/**" - - "**/README.md" - - "CONTRIBUTING.md" - - "changelog.d/**" - # only top level for these, because various test packages have them too - - "*/ChangeLog.md" - - "*/changelog.md" - - "release-notes/**" branches: - master pull_request: - paths-ignore: - - "doc/**" - - "**/README.md" - - "CONTRIBUTING.md" - - "changelog.d/**" - - "*/ChangeLog.md" - - "*/changelog.md" - - "release-notes/**" release: types: - created diff --git a/.github/workflows/validate.skip.yml b/.github/workflows/validate.skip.yml deleted file mode 100644 index f4aa50ae191..00000000000 --- a/.github/workflows/validate.skip.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Validate Skip - -# This Workflow is special and contains a workaround for a known limitation of GitHub CI. -# -# The problem: We don't want to run the "validate" jobs on PRs which contain only changes -# to the docs, since these jobs take a long time to complete without providing any benefit. -# We therefore use path-filtering in the workflow triggers for the validate jobs, namely -# "paths-ignore: doc/**". But the "Validate post job" is a required job, therefore a PR cannot -# be merged unless the "Validate post job" completes succesfully, which it doesn't do if we -# filter it out. -# -# The solution: We use a second job with the same name which always returns the exit code 0. -# The logic implemented for "required" workflows accepts if 1) at least one job with that name -# runs through, AND 2) If multiple jobs of that name exist, then all jobs of that name have to -# finish successfully. -on: - push: - paths: - - 'doc/**' - - '**/README.md' - - 'CONTRIBUTING.md' - - "changelog.d/**" - # only top level for these, because various test packages have them too - - "*/ChangeLog.md" - - "*/changelog.md" - - "release-notes/**" - branches: - - master - pull_request: - paths: - - 'doc/**' - - '**/README.md' - - 'CONTRIBUTING.md' - - "changelog.d/**" - - "*/ChangeLog.md" - - "*/changelog.md" - - "release-notes/**" - release: - types: - - created - -jobs: - validate-post-job: - if: always() - name: Validate post job - runs-on: ubuntu-latest - steps: - - run: exit 0 diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 93bb9b9633d..6a4af0abbd8 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -5,31 +5,11 @@ concurrency: group: ${{ github.ref }}-${{ github.workflow }} cancel-in-progress: true -# Note: This workflow file contains the required job "Validate post job". We are using path filtering -# here to ignore PRs which only change documentation. This can cause a problem, see the workflow file -# "validate.skip.yml" for a description of the problem and the solution provided in that file. on: push: - paths-ignore: - - "doc/**" - - "**/README.md" - - "CONTRIBUTING.md" - - "changelog.d/**" - # only top level for these, because various test packages have them too - - "*/ChangeLog.md" - - "*/changelog.md" - - "release-notes/**" branches: - master pull_request: - paths-ignore: - - "doc/**" - - "**/README.md" - - "CONTRIBUTING.md" - - "changelog.d/**" - - "*/ChangeLog.md" - - "*/changelog.md" - - "release-notes/**" release: types: - created