有人可以帮助我了解Github动作标签的行为吗?作为Actions在第三方仓库上工作的新手,我希望能够在分支上创建一个动作,并在 workflow_dispatch 事件上执行它。我没有成功完成此操作,但是发现了以下内容:
解决方法是在push事件上执行,虽然可以,但是考虑到Github的高标准设计,这似乎不成立。
以上听起来是否a)关于权利,b)您以哪种方式看待它,而不是最佳行为?还是有更好的方法来构建和测试动作?
答案 0 :(得分:4)
您可以使用 Github CLI 从命令行在功能分支中运行仍在开发中的工作流。 documentation 说:
<块引用>在存储库默认分支以外的分支上运行工作流 分支,使用 --ref 标志。
gh workflow run workflow --ref branch-name
要添加输入参数,请像这样运行:
gh workflow run workflow --ref branch-name -f myparameter=myvalue
答案 1 :(得分:3)
这个工作流名称的变化真的很奇怪。我找不到任何描述此行为的文档。
在测试之前需要做的一件事是将具有相同文件名的虚拟工作流实际添加到 main
/master
。没有此工作流将不会出现在操作选项卡中。
如何测试:
.github/workflows/workflow.yml
进行测试:name: Test run v1
on:
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-18.04
steps:
- name: Show environment v1
run: env | grep ^GITHUB
- name: Show ref v1
run: echo "===============> Version from $GITHUB_REF"
test-branch
创建新分支 main
.github/workflows/workflow.yml
name: Test run v2
on:
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-18.04
steps:
- name: Show environment v2
run: env | grep ^GITHUB
- name: Show ref v2
run: echo "===============> Version from $GITHUB_REF"
test-branch
Actions
,选择 Test run v1
并在 Use workflow from
设置为 test-branch
的情况下运行工作流。您应该看到与 main
工作流版本不同的步骤名称和不同的 GITHUB_REF
。
奇怪的是,在 test-branch
上运行工作流后,我以前的工作流(从 main
分支)以某种方式更改了名称。