Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン 初心者向け
#10,579 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
84/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
git, github-actions
領域
ci-cd

調査の方向性

.github/workflows/lint-build-test.yml と .github/actions/check-merge-queue-changelogs を読み、続いて Validate changelog diffs ステップとその pull request イベントコンテキストを調査します。fork からの pull request が changelog 差分の検証を完了できること、また merge_group の動作とパッケージごとの changelog チェックが引き続き成功することを確認します。

索引モデルが issue の本文から書いたものです。

説明

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-package Validate changelog (24.x, @metamask/assets-controller) job passes for the same commits).
  • PR #10229 (fork branch feat/assets-transient-loading-state) — the same job shows FAILURE on 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.

主要言語
TypeScript
スター
414
フォーク
310
平均マージ
1日 16時間
マージ済み PR(30日)
415

環境構築

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

MetaMask/core のほかの issue

MetaMask/core の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。