支持为 PR 生成预览构建#308
Conversation
这个其实我不是很能接受 |
怎么说 |
只是觉得有些浪费资源(我看到你的更新了,感觉还可以 我觉得可以让有权限的人使用评论 |
|
可以使用 $.jobs[].if 来按需触发构建,实现权限控制没有技术困难。 |
现在可以用 创建预览时会创建一个 check 用于检查预览部署是否成功 使用 action cache 替代分支 gh pages 持久化构建产物,相比于分支 cache 会在一段时间后自动清除,工作流创建新 cache 时会删除旧的 cache 避免过量堆积 |
burningtnt
left a comment
There was a problem hiding this comment.
大体上没什么问题,感谢您的贡献。
我计划创建一个新的临时仓库来作为测试环境,避免错误的更改进入主线。
| contents: write | ||
| pull-requests: write | ||
| steps: | ||
| - name: Restore Pages |
There was a problem hiding this comment.
使用缓存的目的并不仅仅是加快构建速度而是为了保留历史构建,不能因为构建当前 PR 就覆盖掉了其它 PR 的构建。
| JEKYLL_ENV: production | ||
| jobs: | ||
| remove: | ||
| if: ${{ (github.event_name == 'pull_request_target' && (github.event.action == 'closed' || (github.event.action == 'labeled' && github.event.label.name == 'preview/remove'))) || (github.event_name == 'issue_comment' && github.event.issue.pull_request && (github.event.comment.author_association == 'OWNER' || github.event.comment.author_association == 'MEMBER') && github.event.comment.body == '/preview remove') }} |
|
此外,我注意到目前已使用 GitHub Check 显示预览构建生成状态。如果可能,我认为可以移除基于评论的方式。 |
This comment was marked as outdated.
This comment was marked as outdated.
emmm…… 我本来以为这玩意儿会显示在这个区域里的。这还是太不明显了,那保留基于评论来显示状态的方式吧。 |
192aba2 to
6e007ad
Compare
|
|
支持使用指令 watch 操作会自动触发 create 操作,因此 watch 前无需额外的 create 操作。 可通过 |
我这边目前没有其它问题 |
burningtnt
left a comment
There was a problem hiding this comment.
我注意到当前 PR 对 github.event.comment.body 有些地方使用了 == 判断,而又有些地方使用了 contains 来同时判断是否满足任一条件。这可能导致用户在发送 123 /preview create 123 时表现异常。
contains(xxxx, yyyy) 表示 xxxx 中是否包含 yyyy 因此,原本使用字符串包含判断的逻辑确实存在一些问题,现在已改用数组判断。 |
|
支持在合并缓存时进行文件去重,将所有文件统一存储到 ./data/files/{hash}-{size},并通过符号链接替代原有文件路径。同时在移除文件后也会删除无引用的原始文件。 未去重的缓存中,每新增一次构建缓存大约会增加 20MB 左右;去重后在静态资源没有显著变动的情况下,缓存大小基本保持不变。 |
|
我希望能暂时成为 https://github.com/hmcl-docs/HMCL-docs 组织成员,以测试最新的更改。 |
应该可以了 |
|
我计划在明后两天接受该 PR |
|
[Preview] Preview has been removed. |
|
…… 原来 HMCL-docs 一直没开 GitHub Page 吗…… |
支持为 PR 生成预览构建
Note
欢迎大家测试并提供反馈!
关联 ISSUE
功能
创建预览
仓库所属组织的成员和仓库所有者在需要创建预览的 PR 添加
/preview create评论或者添加preview/create标签触发 Github Action 工作流创建 PR 预览。移除预览
Note
移除预览仅删除缓存中当前 PR 产生的构建文件,因此在 Github Pages 下次构建成功前页面仍可访问。
仓库所属组织的成员和仓库所有者在需要移除预览的 PR 添加
/preview remove评论或添加preview/remove标签也可以关闭 PR 触发 Github Action 工作流移除 PR 预览。存在的问题
{{ /path | relative_url }}或者{% link _docs/xxxx.md %}