GitHub Actions 九月更新有哪些工作流变化
来源:17golang原创
时间:2026-09-05 23:06:39 143浏览 收藏
GitHub Actions 2026 年 9 月初这次更新,重点不是增加一个新的触发器,而是让持续集成系统更容易回答三个问题:runner 什么时候必须升级、工作流读取 Dependabot 告警需要多大权限、一个 reusable workflow 里的 job 到底由哪个文件定义。三项能力已经分别落到 REST API、GITHUB_TOKEN 权限和 job 上下文中。
- 新增 runner 版本弃用查询 API,可看到注册支持和运行时支持的截止时间。
vulnerability-alerts权限支持read与none,可以把读取 Dependabot alerts 的权限单独收窄。- reusable workflow 新增四个
job.workflow_*属性,但 GitHub Enterprise Server 暂不提供。
三项更新分别解决什么问题
这次公告适合按工程任务拆开看,而不是把它当成一次 YAML 语法大改:
| 更新 | 实际解决的问题 | 需要记住的边界 |
|---|---|---|
| runner deprecations REST API | 提前安排 runner 升级,避免注册或运行时支持突然结束 | 返回的是某个版本的支持时间,不是替你完成升级 |
vulnerability-alerts | 只给工作流读取 Dependabot alerts 的权限 | 只支持 read 和 none,仍要按工作流实际需求配置 |
job.workflow_* | 在复用工作流中识别真正定义当前 job 的文件 | GitHub Enterprise Server 不提供这些属性 |

runner 版本弃用怎么提前排进升级计划
自托管 runner 容易出现“机器还在线,但版本已经接近淘汰”的情况。新 REST API 可以在 repository、organization 或 enterprise 层级查询指定 runner 版本:
GET /actions/runners/deprecations/{version}
响应里重点看 runner_version、runtime_deprecates_at 和 registration_deprecates_at。前者描述查询的版本,后两者分别对应运行时支持结束和新 runner 注册支持结束。工程上可以把它接到每周的 runner inventory 检查里:先收集当前版本,再按时间字段排序,给临近截止日期的版本创建升级工单。
这里不要把“查询到日期”误解成“GitHub 会自动替换 runner”。升级动作仍然要由团队完成,包括确认自定义工具链、镜像和标签是否兼容。API 的价值是把维护窗口变成可查询数据。
vulnerability-alerts 权限怎样写得更小
如果一个工作流只需要读取 Dependabot alerts,不必继续依赖更宽泛的令牌权限。可以在工作流顶层或具体 job 里写:
permissions:
contents: read
vulnerability-alerts: read
jobs:
audit:
runs-on: ubuntu-latest
steps:
- name: Check dependency alerts
run: echo "read Dependabot alerts here"
read 表示只读访问,none 则明确关闭这项权限。建议把权限声明放在需要它的最小范围内,并检查组织级默认权限,避免某个 job 因复制旧模板而继承不必要的能力。这个变化改善的是令牌边界,不会自动替你修复依赖漏洞。
reusable workflow 怎样定位真正的定义文件
复用工作流时,调用方和被调用方都可能有自己的文件路径。原来的 github.workflow_ref 与 github.workflow_sha 更偏向当前调用上下文;新属性把“定义当前 job 的工作流”单独暴露出来:
- name: Record workflow source
run: |
echo "ref=${{ job.workflow_ref }}"
echo "sha=${{ job.workflow_sha }}"
echo "repo=${{ job.workflow_repository }}"
echo "file=${{ job.workflow_file_path }}"
四个属性分别是完整 ref、工作流文件的 commit SHA、定义文件所在的 owner/repo 以及相对仓库根目录的文件路径。它们适合写入审计日志、构建摘要或故障诊断信息:当多个仓库复用同一套 workflow 时,排查者能知道当前 job 的实际来源。

job.workflow_* 指向定义当前 job 的文件,与调用方层面的 github.workflow_* 不是同一层信息。如果 job 直接定义在普通 workflow 中,job.workflow_ref 会与 github.workflow_ref 对应;只有进入 reusable workflow 场景,两者的定位差异才真正明显。还要注意,这四个属性当前不适用于 GitHub Enterprise Server,迁移脚本不要默认它们一定存在。
升级后可以按这张清单检查
- 把自托管 runner 版本与 deprecations API 的两个日期放进定期检查,按 registration 和 runtime 分别安排窗口。
- 搜索工作流中的
permissions,将只读 Dependabot alerts 的 job 改为vulnerability-alerts: read,并保留必要的其他权限。 - 在 reusable workflow 的诊断输出中记录四个
job.workflow_*值;对缺少这些值的 GHES 环境保留兼容分支。
这样处理后,这次九月更新就不只是“看过公告”:runner 有了升级时间线,令牌有了更窄的权限边界,复用工作流也有了可追踪的来源信息。
常见问题
runner deprecations API 会直接升级 runner 吗?
不会。它只返回指定版本的注册和运行时支持截止时间,升级、镜像替换和兼容性验证仍由团队安排。
vulnerability-alerts: read 能修改 Dependabot 告警吗?
公告定义的是只读权限。它适合读取告警并生成检查结果,不应被当成修改或关闭告警的写权限。
为什么 reusable workflow 里还要记录 workflow SHA?
文件路径能说明来源位置,SHA 能帮助把一次运行对应到当时的具体版本。两者一起记录,排查复用工作流变更时更可靠。
事实依据:GitHub Actions Early September 2026 updates;相关接口和上下文细节可继续查看 GitHub REST API 文档 与 Contexts reference。
-
Golang · Go教程 | 1个月前 | CI/CD · gitHub actions · Go教程 · 自托管 Runner · 持续集成 · Go 持续集成 CI Go test GitHub Actions self-hosted runner 自托管 runner340 收藏
-
316 收藏
-
488 收藏
-
377 收藏
-
439 收藏
-
科技周边 · 业界新闻 | 11小时前 | github · rest api · 开发者工具 · 隐私 · 开放接口 · GitHub Star API Star history REST API stargazers history 仓库 Star 统计398 收藏
-
239 收藏
-
447 收藏
-
222 收藏
-
科技周边 · 业界新闻 | 1天前 | 云原生 · kubernetes · 故障排查 · 控制面 · 火绒流量防火墙 Kubernetes kube-apiserver WatchCache v1.37 API Priority and Fairness183 收藏
-
164 收藏
-
科技周边 · 业界新闻 | 2天前 | 云原生 · kubernetes · 证书轮换 · 工作负载身份 · Kubernetes 1.37 Pod Certificates 工作负载身份 Cluster Trust Bundles187 收藏
-
科技周边 · 业界新闻 | 3天前 | 云原生 · Etcd · kubernetes · 版本发布 · 内存优化 RangeStream Kubernetes 1.37 etcd 3.7 List请求458 收藏
-
科技周边 · 业界新闻 | 4天前 | github copilot · AI编程 · 模型切换 · 模型迁移 GitHub Copilot MAI-Code-1-Flash MAI-Code-1.1-Flash373 收藏
-
科技周边 · 业界新闻 | 4天前 | github · copilot · AI开发工具 · 插件治理 · VS Code MCP Agent Plugins 1.0 GitHub Agent Plugins Copilot CLI462 收藏
-
科技周边 · 业界新闻 | 6天前 | github · Spark · copilot · 开发者工具 · 应用迁移 · GitHub Spark GitHub Models llm() 应用迁移 Create repository386 收藏
-
科技周边 · 业界新闻 | 6天前 | python · 开发工具 · 版本发布 · 维护实践 · Python 3.14.7 Python 发布 PEP 779 compression.zstd 软件维护457 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习