tuf*_*uff 4 github github-actions
我在Github网络用户界面上看到了这一点:
但是对我来说,尚不清楚禁用的重新运行是我的.github/main.workflow
配置结果还是从Github Actions服务继承而来。
下面的示例工作流程-我看不到任何明显的会禁用重新运行的内容。
workflow "Test, Lint" {
on = "push"
resolves = [
"Test",
"Lint",
"Lint Format"
]
}
action "Install" {
uses = "actions/npm@master"
args = "install"
secrets = ["SECRET_TOKEN"]
}
action "Test" {
needs = "Install"
uses = "actions/npm@master"
args = "test"
secrets = ["SECRET_TOKEN"]
}
action "Lint" {
needs = "Install"
uses = "actions/npm@master"
args = "run lint"
secrets = ["SECRET_TOKEN"]
}
action "Lint Format" {
needs = "Install"
uses = "actions/npm@master"
args = "run lint:format"
secrets = ["SECRET_TOKEN"]
}
Run Code Online (Sandbox Code Playgroud)
您现在也可以(2020 年 1 月)使用新的GitHub Actions API(!,但仍处于测试阶段),如此处宣布的。
它确实包含一个GitHub Actions Secrets API:
重新运行工作流
使用其 ID 重新运行您的工作流运行。
对存储库具有写访问权限的任何人都可以使用此端点。
GitHub 应用程序必须具有使用此端点的操作权限。Run Code Online (Sandbox Code Playgroud)POST /repos/:owner/:repo/actions/runs/:run_id/rerun
因此,您可以尝试编写脚本并通过这个新 API 重新运行操作工作流。
假设您的工作流程在任何推送上启动(您的 yml 包含触发器on: [push]
),要重新运行由提交触发的成功操作,添加一个新的轻量级标签就足够了。
我使用这个衬垫来创建标签、推送标签、删除标签、推送标签删除:
git tag tmp-rerun && git push --tags && git tag -d tmp-rerun && git push origin :tmp-rerun
Run Code Online (Sandbox Code Playgroud)
到目前为止,似乎没有办法从UI重新运行GitHub操作。
您可以添加一个空提交以戳GitHub的操作:
git commit --allow-empty -m "trigger GitHub actions"
git push
Run Code Online (Sandbox Code Playgroud)
这将添加一个空的提交(未更改文件),并push
在GitHub上触发另一个事件,从而触发另一个工作流程运行。
但是,这确实会破坏提交历史记录。如果您愿意,可以稍后将其压榨/去除,但这可能并不理想。
这只是 Github Actions 的一个缺失/未实现的功能,现在已添加。我没有对我的工作流文件或 repo 设置进行任何更改,但我现在可以看到 UI 以“重新运行所有检查”:
(我通过从我的 PR 上的检查部分中的“详细信息”链接进入此页面)。
归档时间: |
|
查看次数: |
683 次 |
最近记录: |