Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

The gihub.ref description is confusing and incorrect, particularly for PRs

Đang mở
#43,055 7 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
68/100
Loại issue
Tài liệu
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
github-actions
Lĩnh vực
documentation

Hướng nghiên cứu

Bắt đầu với bài viết về ngữ cảnh GitHub của GitHub Actions tại URL docs.github.com được liên kết, sau đó so sánh mô tả về github.ref với tài liệu sự kiện được liên kết. Làm rõ hành vi đối với từng sự kiện được liệt kê và cấu trúc lại đoạn văn thành các trường hợp dễ đọc; công việc hoàn tất khi mô tả chính xác và không mơ hồ.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

content github_actions never-stale
Code of Conduct
What article on docs.github.com is affected?

https://docs.github.com/en/actions/reference/workflows-and-actions/contexts#github-context

What part(s) of the article would you like to see updated?

The description for github.ref is confusing, misleading and incorrect, particularly for PR events.

The fully-formed ref of the branch or tag that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request that were not merged, this is the pull request merge branch. If the pull request was merged, this is the head branch. For workflows triggered by release, this is the release tag created. For other triggers, this is the branch or tag ref that triggered the workflow run. This is only set if a branch or tag is available for the event type. The ref given is fully-formed, meaning that for branches the format is refs/heads/<branch_name>. For pull requests events except pull_request_target that were not merged, it is refs/pull/<pr_number>/merge. pull_request_target events have the ref from the base branch. For tags it is refs/tags/<tag_name>. For example, refs/heads/feature-branch-1.

Firstly, it's quite hard to follow the different branching logic of that parapgrah. Can this be formatted better, e.g. with nested bullet points?

Secondly, particularly for PR events, the logic is quite unclear, and incorrect in some places. The description mentions

pull requests events

but doesn't define them what these are. Is it the following subset of triggers?

Assuming this is the case, my understanding of the logic is as follows:

  1. pull_request events with a closed activity type that were merged: github.ref = refs/heads/<head_branch>
  2. All other pull_request events: github.ref = refs/pull/<pr_number>/merge
  3. All pull_request_target events (potentially excluding merged events): github.ref = refs/heads/<base_branch>
  4. issue_comment, pull_request_review and pull_request_review_comment (and potentially merged pull_request_target) events: github.ref = refs/pull/<pr_number>/merge

Problems to highlight:

  1. It's unclear whether "pull requests events except pull_request_target that were not merged" includes merged pull_request_target events. My tests suggest it doesn't; merged pull_request_target events show refs/heads/main, not refs/pull/<pr_number>/merge. What is this line trying to say?
  2. On a merged pull_request event, my tests show <base_branch>, not <head_branch>. There is a mistake in the description.
  3. For pull_request_target events, regardless of PR direction (main -> test or test -> main), my tests show refs/heads/main. Is it always the repo default, not the PR base?
  4. My tests show issue_comment events use refs/heads/main (regardless of PR direction), not refs/pull/<pr_number>/merge. Are these events not part of the PR logic? Does it always use the repo default?
  5. If we're being picky, there's a case to be made that "workflows triggered by pull_request that were not merged" means "closed and not merged" - meaning other activity types might not be included in the list. This could be worded better

Is the following summary more accurate?

  • All pull_request_target events: refs/heads/<default_branch>
  • Merged pull_request events: refs/heads/<base_branch>
  • All other pull_request events, and all pull_request_review and pull_request_review_comment events: refs/pull/<pr_number>/merge
  • issue_comment events: refs/heads/<default_branch>
Additional information

No response

Ngôn ngữ chính
TypeScript
Star
20.9k
Fork
68.8k
Merge trung bình
13 giờ 43 phút
Pull request đã merge (30 ngày)
110

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của github/docs

Tất cả issue của github/docs

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.