CI: "Validate changelog diffs" job fails on every fork-sourced pull request
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 84/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- git, github-actions
- Domain
- ci-cd
Research direction
Read .github/workflows/lint-build-test.yml and .github/actions/check-merge-queue-changelogs, then inspect the Validate changelog diffs step and its pull request event context. Verify that fork-sourced pull requests can complete changelog-diff validation, while merge_group behavior and the per-package changelog checks continue to pass.
Written by the indexing model from the issue text.
Description
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
- PR #10535 (fork branch
feature/use-memory-see-this-sp0) — job run: https://github.com/MetaMask/core/actions/runs/36560718378/job/109380743283- The job failed on every commit the PR has ever had — including its very first commit
ca6a523772— i.e., the failure is independent of the PR's changes and occurs before any changelog diff is computed (the per-packageValidate changelog (24.x, @metamask/assets-controller)job passes for the same commits).
- The job failed on every commit the PR has ever had — including its very first commit
- PR #10229 (fork branch
feat/assets-transient-loading-state) — the same job showsFAILUREon its head commits (db682a870f,47b7803dfd).
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.
- Dominant language
- TypeScript
- Stars
- 414
- Forks
- 308
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 405
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from MetaMask/core
-
platform-api-docs: `scan` strategy misses ESM-only packages, which ship `.d.ts` rather than `.d.cts`Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
MetaMask/core#10210 · 1 reaction ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
MetaMask/core#9964 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
MetaMask/core#6864 · 1 comment ·
Maintainers usually reply within 1 day
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
MystenLabs/MemWal#1085 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
📕documentation
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
db-ux-design-system/core-web#8343 ·
Maintainers usually reply within 1 day
-
enhancement triage/needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
heygen-com/hyperframes#4944 ·
Maintainers usually reply within 1 day
-
ai-driven-qa bug claude
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
linagora/twake-calendar-frontend#1493 · 1 comment ·
Maintainers usually reply within 1 day