From f3da2d90be9f008f833218a2b96a2d86f609865b Mon Sep 17 00:00:00 2001 From: Wojciech Knapik Date: Fri, 25 Oct 2024 18:45:14 +0200 Subject: [PATCH] Workaround for GitHub workflow limitation in rerun-compare-chromium-versions (1.71.x) --- .../rerun-compare-chromium-versions.yml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/workflows/rerun-compare-chromium-versions.yml b/.github/workflows/rerun-compare-chromium-versions.yml index ed014b374d2d..013ecaeed43c 100644 --- a/.github/workflows/rerun-compare-chromium-versions.yml +++ b/.github/workflows/rerun-compare-chromium-versions.yml @@ -5,21 +5,25 @@ on: branches: - master - '[0-9]+.[0-9]+.x' - paths: - - package.json +## TODO: If a PR touches >300 files, this filter may prevent the workflow from being executed +# paths: +# - package.json types: - closed jobs: rerun-compare-chromium-versions: - if: github.event.pull_request.merged == true +## TODO: Temporary workaround for the above issue +# if: github.event.pull_request.merged == true + if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'cr1') runs-on: ubuntu-latest env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} PR_SHA: ${{ github.event.pull_request.head.sha }} TARGET_SHA: ${{ github.event.pull_request.base.sha }} steps: - - run: | + - name: If a major Chromium bump was merged, rerun compare-chromium-versions in all PRs targeting the same branch + run: | shopt -s inherit_errexit set -eEo pipefail @@ -28,9 +32,10 @@ jobs: pr_ver="$(chromium_ver "${PR_SHA:?}")" target_ver="$(chromium_ver "${TARGET_SHA:?}")" - echo "::notice::PR branch: ${pr_ver:?}, target branch: ${target_ver:?}" + echo "::notice::PR branch: ${GITHUB_HEAD_REF:?} (${pr_ver:?}), target branch: ${GITHUB_BASE_REF:?} (${target_ver:?})" if [[ "${pr_ver%%.*}" != "${target_ver%%.*}" ]]; then + echo "::notice::Rerunning compare-chromium-versions in PRs targeting ${GITHUB_BASE_REF:?}" while read -r pr_number head_sha; do run_id="$(gh api "/repos/$GITHUB_REPOSITORY/actions/workflows/compare-chromium-versions.yml/runs?head_sha=${head_sha:?}" -q '.workflow_runs[0].id')" pr_url="https://github.com/brave/brave-core/pull/${pr_number:?}" @@ -43,5 +48,5 @@ jobs: sleep 1 done < <(gh -R "$GITHUB_REPOSITORY" pr list --limit 1000 --state open --base "$GITHUB_BASE_REF" --json number,headRefOid -q '.[]|"\(.number)\t\(.headRefOid)"') else - echo "Chromium major versions match, nothing to do" + echo "::notice::Chromium major versions match, nothing to do" fi