CI: "Validate changelog diffs" job fails on every fork-sourced pull request
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 84/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- git, github-actions
- Lĩnh vực
- ci-cd
Hướng nghiên cứu
Đọc .github/workflows/lint-build-test.yml và .github/actions/check-merge-queue-changelogs, sau đó kiểm tra bước Validate changelog diffs và ngữ cảnh sự kiện pull request của bước đó. Xác minh rằng các pull request có nguồn từ fork có thể hoàn tất việc xác thực các khác biệt của changelog, đồng thời hành vi của merge_group và các kiểm tra changelog theo từng package vẫn tiếp tục đạt.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- TypeScript
- Star
- 414
- Fork
- 310
- Merge trung bình
- 1 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 388
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của MetaMask/core
-
platform-api-docs: `scan` strategy misses ESM-only packages, which ship `.d.ts` rather than `.d.cts`Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[utils] Replace the `uuid` dependency with `crypto.randomUUID()`Có thể đã có người làm @avantikonde đã nhận 9 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
MetaMask/core#10210 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
eth-json-rpc-middleware: `TransactionParamsStruct` rejects numeric `chainId`, breaking dapp transactionsCó thể đã có người làm @truehazker đã nhận 53 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
MetaMask/core#9964 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[eth-block-tracker]: `json-rpc-engine` should be a production dependencyCó thể đã có người làm @SnowingFox đã nhận 67 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
MetaMask/core#6864 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của MetaMask/core
Issue tương tự
-
area:security documentation effort:S priority:P2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
app:web meta:ops
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 78/100
osu-tournament-rating/otr#1113 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
typegoose/mongodb-memory-server#1040 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 92/100