Skip to content

CI: "Validate changelog diffs" job fails on every fork-sourced pull request #10579

Open

Description

@Prithpal-Sooriya

Bug

"Lint, build, and test / Validate changelog diffs" fails on every fork-sourced pull request, independent of the PR's content.

Root cause

The validate-changelog-diffs job (.github/workflows/lint-build-test.yml) runs the composite action .github/actions/check-merge-queue-changelogs, whose "Check changelog changes" step computes:

TARGET_REF=$(git merge-base "origin/$BASE_REF" "origin/$PR_BRANCH")

For a PR whose head lives on a fork, origin/$PR_BRANCH does not exist in the job's checkout (fork head branches are fetched as refs/pull/N/merge, not as remote branches under origin), so the job dies before validating anything:

fatal: Not a valid object name origin/feature/use-memory-see-this-sp0
##[error]Process completed with exit code 128.

The job has no skip condition beyond the event type, so this affects every fork-sourced PR.

Evidence

Impact

  • Every fork-sourced PR shows a red "Validate changelog diffs" check (and the "All jobs pass" aggregate) for a reason unrelated to the PR, making genuinely failing checks harder to spot and fork PRs appear blocked.

Suggested fix direction

In the "Check changelog changes" step, when origin/$PR_BRANCH is unavailable (fork PRs), fetch the PR head ref before computing the merge base, e.g.:

git fetch origin "+refs/pull/${PR_NUMBER}/head:refs/remotes/origin/${PR_BRANCH}"

(or resolve the merge base against refs/pull/${PR_NUMBER}/merge directly, which the checkout already has).

Note: for merge_group events the current logic works, because merge-queue branches do exist under origin.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions