发布时的 GitHub Actions 创建的工作流触发器不起作用

2024-01-29

我有一个GitHub 操作 https://docs.github.com/en/actions在我的存储库的主分支上实现的工作流程,它创建了一个新的release https://docs.github.com/en/github/administering-a-repository/releasing-projects-on-github/managing-releases-in-a-repository我在 GitHub 中的包。然后我实施了另一个工作流程,该工作流程应在创建版本时触发。然而,这个触发器不起作用。

请注意 GitHub弃 https://github.com/actions/create-release他们自己的actions/create-release@v1项目并建议使用软道具释放动作 https://github.com/softprops/action-gh-release.

我的工作流程模板如下:

name: Main release

on:
  push:
    branches:
      - main

jobs:
  release:
    name: 'Release main'
    runs-on: ubuntu-latest
    steps:
      - name: 'Checkout source code'
        uses: 'actions/checkout@v2'
        with:
          ref: ${{ github.ref }
      - name: Release
        uses: softprops/action-gh-release@v1
        with:
          draft: false
          body_path: CHANGELOG.md
          name: ${{ steps.version.outputs.version }}
          tag_name: ${{ github.ref }}
          token: ${{ github.token }}

My on:release:created触发流程如下:

name: Act on release created

on:
  release:
    types: [created]

jobs:
  build:
    name: Build
    environment: dev_environment
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set env
        run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
      - name: Test
        run: |
          echo $RELEASE_VERSION
          echo ${{ env.RELEASE_VERSION }}

版本和标签已正确添加到 GitHub 中,因此一切看起来都工作正常,只是应该在版本上触发的工作流程未执行。

我该如何解决这个问题?


GitHub 行动有关在工作流中执行任务的文档 https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#triggering-a-workflow-from-a-workflow陈述如下:

当您使用存储库的 GITHUB_TOKEN 代表 GitHub Actions 应用程序执行任务时,GITHUB_TOKEN 触发的事件不会创建新的工作流运行。这可以防止您意外创建递归工作流运行。

这意味着您必须创建个人访问令牌并将该令牌添加到您的存储库机密中。

要生成新的个人访问令牌,请转到您的个人开发者设置 https://github.com/settings/tokens并生成一个新的令牌。然后转到您的存储库设置并添加一个包含个人访问令牌的新密钥,将其命名为PAT.

在您的发布工作流程模板中,替换:

token: ${{ github.token }}

With:

token: ${{ secrets.PAT }}

现在,发布时创建的事件将触发工作流程!

Note: This approach seems is a bit hacky, but is currently the only known workaround for this issue and can be considered a major design flaw of workflow integrations.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

发布时的 GitHub Actions 创建的工作流触发器不起作用 的相关文章

随机推荐