From e8eafe107ee807ada7646a4a97f047d2f5c41183 Mon Sep 17 00:00:00 2001 From: Patryk Kaminski Date: Tue, 15 Apr 2025 21:52:20 +0200 Subject: [PATCH] [CI] Run DocsBuild only when needed Oftentimes pushes to branches and PRs doesn't change anything in docs/ or include/ directories which influence the documentation build. This job takes ca. 1 minute to run with each push, so it's optimal to run it only when relevant changes were made. Also, there is no need for other pr_push jobs to wait for docs to build. Developer can work on the docs and project build/tests in any order. --- .github/workflows/docs_pr_push.yml | 36 ++++++++++++++++++++++++++++++ .github/workflows/pr_push.yml | 4 +--- 2 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/docs_pr_push.yml diff --git a/.github/workflows/docs_pr_push.yml b/.github/workflows/docs_pr_push.yml new file mode 100644 index 0000000000..58280e53e3 --- /dev/null +++ b/.github/workflows/docs_pr_push.yml @@ -0,0 +1,36 @@ +# This workflow is strictly for documentation updates. It triggers only when files related +# to documentation or specific workflows are edited, ensuring that the job runs only for +# relevant changes. + +name: Documentation PR/push + +on: + push: + branches-ignore: + - 'dependabot/**' + - 'main' # Ignore main branch as it's handled by docs.yml + paths: + - 'docs/**' + - 'include/**' + - .github/workflows/reusable_docs_build.yml + - .github/workflows/docs_pr_push.yml + - 'third_party/requirements.txt' + + pull_request: + paths: + - 'docs/**' + - 'include/**' + - .github/workflows/reusable_docs_build.yml + - .github/workflows/docs_pr_push.yml + - 'third_party/requirements.txt' + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + DocsBuild: + uses: ./.github/workflows/reusable_docs_build.yml diff --git a/.github/workflows/pr_push.yml b/.github/workflows/pr_push.yml index 184f038bac..5d6155a375 100644 --- a/.github/workflows/pr_push.yml +++ b/.github/workflows/pr_push.yml @@ -18,11 +18,9 @@ permissions: jobs: CodeChecks: uses: ./.github/workflows/reusable_checks.yml - DocsBuild: - uses: ./.github/workflows/reusable_docs_build.yml FastBuild: name: Fast builds - needs: [CodeChecks, DocsBuild] + needs: [CodeChecks] uses: ./.github/workflows/reusable_fast.yml Build: name: Basic builds