GitHub 的 Action 如何禁用

2022-08-12 19:13:54 浏览数 (1)

我 Fork 了小伙伴的 ant-design-blazor 仓库,这个仓库设置了每天自动同步样式,这个 Action 用到了源仓库的密钥,在我 Fork 的仓库一定跑不通过,于是每天我就收到一次构建不通过的信息。本文告诉大家如何禁用自己 Fork 的某个仓库的 Action 的执行

这是我 Fork 的 ant-design-blazor仓库,每天都告诉我构建失败

解决方法是禁用这个 Fork 仓库的 Action 构建,毕竟需要自动构建的都是将代码推送到源仓库,此时源仓库的 Action 都能触发,也就是我的仓库的 Action 其实没啥用

点击仓库的设置,进入 Actions 页面,点击禁用

如果我表示不让所有 Fork 我的仓库的小伙伴都需要做这个设置,我想要让我的代码仅仅只是在我的仓库运行,可以如何做?简单的方法是添加一个判断

代码语言:javascript复制
if: github.repository == 'lindexi/doubi'

别的小伙伴 Fork 仓库的时候,拿到 repository 的值就是 小伙伴的名字/doubi 也就是判断不等于我的仓库,代码就不执行

上面的 lindexi/doubi 的意思就是 用户名或组织名/项目名 这就会跟随用户的 Fork 仓库修改值

那么这个 if 判断可以写在哪里?可以放在具体的构建步骤里面,如下面代码

代码语言:javascript复制
    - name: Build with dotnet
      run: dotnet build --configuration Release
      if: github.repository == 'lindexi/doubi'

上面代码设置了只有在 lindexi 的 doubi 仓库才进行构建

如果不是干掉某个步骤,而是需要让整个 job 都不执行,可以在 job 下面使用 if 判断

代码语言:javascript复制
jobs:
  build:
    runs-on: windows-latest
    if: github.repository == 'lindexi/doubi'

当然,判断仓库的拥有者也不错,请看代码

代码语言:javascript复制
    if: github.repository_owner == 'lindexi'

更多请看 GitHub 操作的工作流程语法 - GitHub 帮助

Context and expression syntax for GitHub Actions - GitHub Help

0 人点赞