Repository navigation
githup v1.2.10(Actions 运行记录:按工作流筛选 · 跑废的可以删)
这一版加的是 Actions 页面上一直缺的两件事:按工作流筛选,以及删除运行记录。
功能来自社区 PR #9(mymine 提的),合进来之前补了三处,下面单独说。
版本号只动第三位(1.2.9 → 1.2.10),按 README 的规矩属于可选更新:
装了 v1.2.9 的会收到提示,不更也能继续用。
一、按工作流筛选:一个仓库六个工作流时不用再翻页
以前 Actions 页只有一排状态分段控件(全部 / 成功 / 失败 / 运行中)。仓库里挂着
CI、发布、依赖更新好几个工作流时,想看其中某一个的构建记录,只能在一整页里翻。
现在状态分段下面多了一个「工作流:全部」按钮:
- 点开列出该仓库的全部工作流(停用的会标出来);
- 选中后只显示这个工作流的运行记录;
- 两个筛选同时生效,并且都写进地址 ——
?status=failure&wf=123。
写进地址这件事是有用的:按返回、或者把链接分享给同事,都能回到同一个筛选组合,
而不是「我刚才筛的是哪个来着」。
一个容易踩空的点:/actions/runs 不支持按工作流过滤。得换到
/actions/workflows/{id}/runs 才拿得到数据。这版走的就是后面这条端点 ——
PR 作者这一处判断是对的。
二、删除运行记录:跑废的那条不用留着
网页端早就有的「Delete workflow run」,App 里一直没有。现在两处都能删:
| 入口 | 位置 |
|---|---|
| 列表 | 每条运行记录行尾的 ⋮(只有对该仓库有写权限时才显示)→ 删除运行记录 / 在浏览器打开 |
| 详情 | 单条运行详情页右上角菜单 → 删除运行记录(分隔线下面那一条) |
删之前有二次确认,按钮是红色的「删除」,并且写明「日志与产物一起删、删了没法恢复」。
删除成功后列表自动刷新。
报错翻成人话,不再对着一句 Forbidden 发呆:
| 状态码 | 提示 |
|---|---|
| 403 | 没有权限(需要对该仓库的写权限) |
| 404 | 运行记录不存在或已被删除 |
| 409 | 该运行正在进行中,先取消再删除 |
顺带说一个实现上的坑(不写下来的话下一个人还会踩):全局的 data-go 委托跑在
捕获阶段,在冒泡里 stopPropagation() 是拦不住它的 —— 不特殊处理,点行尾的 ⋮
就会顺带跳进详情页。所以这一行按 App 的约定自己绑 onclick 并置 __bound,
让全局委托跳过,由它自己区分「点 ⋮ 开菜单 / 点行进详情」。
三、合并 PR #9 时补的三处
PR 本体的方向没问题,代码质量比一般的 PR 高(上面说的两个坑它都提前判断对了)。
合进来之前补了三处,都属于「功能在,但边界没兜住」:
1. ?status= 收回白名单
PR 把原来「三选一」的收敛改成了原样透传。链接里混进别的值(手敲的、旧版本分享
出去的、别的客户端生成的)会一路直通 GitHub,对方回 422,整页变成一个报错框。
现在认不出的值一律退回「全部」。
2. ?wf= 一并收敛
它会被拼进接口的路径里(/actions/workflows/{wf}/runs),等于让用户控制一段
URL 路径。现在只放行数字 id 和 xxx.yml 文件名,其余退回「全部」。
3. 删除的 promise 链 return 出去
原来 deleteRun() 没有 return,调用方(详情页、行尾菜单)拿不到结果,不知道什么
时候该刷新。现在成功 resolve true、失败 resolve false(失败已经提示过,不再
往外抛)。详情页再补一层「仓库页还没加载好」的判断 —— 不判断的话那种情况下点了
就是毫无反应,看着像卡死。
另外,PR 里夹带了一个误提交的文件:把这次改动的 git diff 整个存成了
githup-actions-filter-delete(206 行),没有合进来。
四、回归
新增 58 项针对性测试,覆盖筛选拼接、取数端点、⋮ 的分流、删除的确认与失败提示。
反证过(改一行代码就说修好了,是没法证明的):
| 被测的代码 | 结果 |
|---|---|
| 修复后 | 58 / 58 |
| 退回 PR 原样 | 53 / 58 —— 红的正是上面那三处 |
| 只补第一处的「半吊子」 | 55 / 58 |
既有回归全绿:tab 栏与返回 47 + 36、仓库页头部 22、Markdown 26 + 29、站内链接 48、
底栏贴底 26、安全区 46。第 3 环(前端资源完整性,21 个文件)21/21 通过。
五、下载与校验
| 项 | 值 |
|---|---|
| 文件 | githup-1.2.10.apk |
| 大小 | 926,286 字节(约 905 KB) |
| SHA-256 | 391ee29c05eac58ebdd9af7d0669e1cbf4b03b16680b9707c5ed6030f25c49cc |
| versionName / versionCode | 1.2.10 / 1002010 |
| 最低系统 | Android 7.0(API 24) |
包内自带两道自校验:签名自校验(证书指纹不符拒绝运行)+ 源码指纹
(对源码文件算整体 SHA-256 内嵌,被改过会报出来)。本次源码指纹 SRC_SHA256:
c017b60205f4a0e61a12e03cfad99f5a68c27b09604b8365809d02659273f8cc
签名证书与之前一致,可直接覆盖安装,不用卸载。