From 5a6d226ff79d5ce0111c804289147a6d61c5d04e Mon Sep 17 00:00:00 2001 From: sobolevn Date: Wed, 14 Aug 2024 15:05:39 +0300 Subject: [PATCH] gh-122965: Fix `reusable-change-detection.yml` on `workflow_dispatch` (GH-122966) (cherry picked from commit 6ae942f412492b840fc6b43d39ba9133aa890ee7) Co-authored-by: sobolevn --- .../workflows/reusable-change-detection.yml | 18 +++++++++++++----- .github/workflows/reusable-docs.yml | 8 +++++++- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/.github/workflows/reusable-change-detection.yml b/.github/workflows/reusable-change-detection.yml index 25c789d335efc8..6f599f75547ceb 100644 --- a/.github/workflows/reusable-change-detection.yml +++ b/.github/workflows/reusable-change-detection.yml @@ -126,13 +126,18 @@ jobs: .github/workflows/reusable-docs.yml format: csv # works for paths with spaces - name: Check for docs changes + # We only want to run this on PRs when related files are changed, + # or when user triggers manual workflow run. if: >- - github.event_name == 'pull_request' - && steps.changed-docs-files.outputs.added_modified_renamed != '' + ( + github.event_name == 'pull_request' + && steps.changed-docs-files.outputs.added_modified_renamed != '' + ) || github.event_name == 'workflow_dispatch' id: docs-changes run: | echo "run-docs=true" >> "${GITHUB_OUTPUT}" - name: Get a list of the MSI installer-related files + if: github.event_name == 'pull_request' id: changed-win-msi-files uses: Ana06/get-changed-files@v2.3.0 with: @@ -141,10 +146,13 @@ jobs: .github/workflows/reusable-windows-msi.yml format: csv # works for paths with spaces - name: Check for changes in MSI installer-related files + # We only want to run this on PRs when related files are changed, + # or when user triggers manual workflow run. if: >- - steps.changed-win-msi-files.outputs.added_modified_renamed != '' + ( + github.event_name == 'pull_request' + && steps.changed-win-msi-files.outputs.added_modified_renamed != '' + ) || github.event_name == 'workflow_dispatch' id: win-msi-changes run: | echo "run-win-msi=true" >> "${GITHUB_OUTPUT}" - -... diff --git a/.github/workflows/reusable-docs.yml b/.github/workflows/reusable-docs.yml index 859f78d043ba92..4b384f4b3fa602 100644 --- a/.github/workflows/reusable-docs.yml +++ b/.github/workflows/reusable-docs.yml @@ -25,9 +25,15 @@ jobs: - name: 'Check out latest PR branch commit' uses: actions/checkout@v4 with: - ref: ${{ github.event.pull_request.head.sha }} + ref: >- + ${{ + github.event_name == 'pull_request' + && github.event.pull_request.head.sha + || '' + }} # Adapted from https://github.com/actions/checkout/issues/520#issuecomment-1167205721 - name: 'Fetch commits to get branch diff' + if: github.event_name == 'pull_request' run: | # Fetch enough history to find a common ancestor commit (aka merge-base): git fetch origin ${{ env.refspec_pr }} --depth=$(( ${{ github.event.pull_request.commits }} + 1 )) \