我 Fork 了小伙伴的 ant-design-blazor 仓库,这个仓库设置了每天自动同步样式,这个 Action 用到了源仓库的密钥,在我 Fork 的仓库一定跑不通过,于是每天我就收到一次构建不通过的信息。本文告诉大家如何禁用自己 Fork 的某个仓库的 Action 的执行
这是我 Fork 的 ant-design-blazor仓库,每天都告诉我构建失败
解决方法是禁用这个 Fork 仓库的 Action 构建,毕竟需要自动构建的都是将代码推送到源仓库,此时源仓库的 Action 都能触发,也就是我的仓库的 Action 其实没啥用
点击仓库的设置,进入 Actions 页面,点击禁用
如果我表示不让所有 Fork 我的仓库的小伙伴都需要做这个设置,我想要让我的代码仅仅只是在我的仓库运行,可以如何做?简单的方法是添加一个判断
if: github.repository == 'lindexi/doubi'
别的小伙伴 Fork 仓库的时候,拿到 repository 的值就是 小伙伴的名字/doubi
也就是判断不等于我的仓库,代码就不执行
上面的 lindexi/doubi
的意思就是 用户名或组织名/项目名
这就会跟随用户的 Fork 仓库修改值
那么这个 if 判断可以写在哪里?可以放在具体的构建步骤里面,如下面代码
- name: Build with dotnet
run: dotnet build --configuration Release
if: github.repository == 'lindexi/doubi'
上面代码设置了只有在 lindexi 的 doubi 仓库才进行构建
如果不是干掉某个步骤,而是需要让整个 job 都不执行,可以在 job 下面使用 if 判断
jobs:
build:
runs-on: windows-latest
if: github.repository == 'lindexi/doubi'
当然,判断仓库的拥有者也不错,请看代码
if: github.repository_owner == 'lindexi'
更多请看 GitHub 操作的工作流程语法 - GitHub 帮助
Context and expression syntax for GitHub Actions - GitHub Help
本文会经常更新,请阅读原文: https://dotnet-campus.github.io//post/GitHub-%E7%9A%84-Action-%E5%A6%82%E4%BD%95%E7%A6%81%E7%94%A8.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 lindexi (包含链接: https://dotnet-campus.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。