GitHub Workflow 和 Action 的一些注意事项

GitHub 的 workflow 和 action 存在一些注意事项,总结如下,以供参考

Workflow

on.issues.types

如果需要判断 label,不需要指定 opened,只需要指定 labeled,因为即使 label 是新建时设置的,也会触发 labeled

permissions

如果需要 checkout 当前 repo,需要添加 contents: write,否则会有权限问题

jobs.check.steps.env

如果需要 checkout 当前 repo,需要添加 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }},否则会有权限问题

Action

List repository issues

API 不仅返回 issues,也会返回 prs,默认 30 条每页,可以指定 labels 来过滤

List pull requests

API 返回所有 pull requests,默认 30 条每页,可以通过 per_pagepage 参数做分页处理,例如:

复制代码
const prs = [];
for (let page = 1; ; page++) {
  const { data } = await octokit.rest.pulls.list({
    ...context.repo,
    base: `refs/heads/main`,
    state: 'open',
    per_page: PER_PAGE,
    page,
  });
  prs.push(...data);
  if (data.length < PER_PAGE) {
    break;
  }
}

Get commit status

API 列出所有 contexts 对应的 state,可以过滤当前的 context

Create commit status

API 用于创建 commit 的 status,可指定 statecontextdescription(作为运行结果显示)

Setting

Require status checks

需要在 Branch protection rule 中的 Protect matching branches 下,勾选 Require status checks to pass before merging

Add required checks

需要将当前的 GitHub action 添加到 Status checks that are required

相关推荐
九狼1 天前
Flutter Riverpod + MVI 状态管理实现的提示词优化器
前端·flutter·github
Zzz 小生2 天前
LangChain Streaming-Overview:流式处理使用完全指南
人工智能·python·语言模型·langchain·github
用户579854769712 天前
04:工具系统设计:从抽象基类到 JSON Schema 的完整实现
github
fchampion2 天前
最终一致性
java·spring·rabbitmq·github·mvc
猫头虎2 天前
OpenClaw 常用操作命令完整速查手册:终端 CLI 操作指令详解|聊天斜杠指令详情
运维·git·容器·开源·github·aigc·ai编程
阿里嘎多学长3 天前
2026-02-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管
迈克桀森3 天前
Git 日常操作全攻略:拉取 / 提交代码 + 高频命令速查
git·github
xuhe23 天前
掌控Coding Plan刷新节奏, 低价套餐满足高峰时期编程需求 -- Quota-Activator
ai·github
Mintimate3 天前
LeanCloud 遗憾谢幕:基于 EdgeOne KV 打造高性能 PV/UV 访客统计
serverless·github·边缘计算
犽戾武3 天前
Ubuntu(Orange Pi / RK3588)把工程上传到 GitHub 的完整流程总结(Windows差不多)
github