发布时的 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 创建的工作流触发器不起作用 的相关文章

  • iOS CoreData:“数据模型版本编译器”错误

    我在项目中创建了一个数据模型文件 ChatModel xcdatamodeld 然后我合并了github上的分支 project pbxproj 中存在冲突 我修好了它们 然后错误就发生了 Users mac zhongqing ios Z
  • Jenkins 上的 XCode 项目陷入“codesign”

    我使用 Jenkins 与 XCode 插件进行持续集成 有一个 Jenkins 坚持的项目 usr bin codesign force sign 接下来是旋转器 永远旋转 我以前从未见过这个 以前有人见过这个吗 是配置文件问题还是证书问
  • 如何为 github 中两个分支之间的单个文件生成差异

    我需要为单个文件生成一个 diff 以显示两个版本之间的差异 这实际上是 github 中的标签 然后我想通过电子邮件将此差异发送给某人 因此差异的 github URL 将是理想的选择 github 比较视图将允许我对所有更改的文件执行此
  • 在 Azure Pipelines 托管的 Linux 代理上运行 Cypress.io

    我正在尝试在 Azure Pipelines 的托管 Linux 池上运行 Cypress 测试 不幸的是 托管代理没有安装 Cypress 的所有依赖项 运行记录的apt get不起作用 2018 05 18T21 03 14 74233
  • Github 版本如何生成存档文件名?

    我刚刚在 github 上为我的 NFQL 软件创建了版本 这是发布页面 https github com vbajpai nfql releases https github com vbajpai nfql releases 对于最新版
  • 我可以从命令行向 github 添加问题吗?

    我是 git 新手 我希望能够通过 github 绘制我的项目的计划和进度 问题是 这需要在 github com 上使用浏览器进行大量点击 并且我希望能够通过使用命令行程序来自动执行该任务 github 有命令行界面吗 有一个ghi ge
  • 有关多个远程存储库的 Git 状态

    我有一个脚本 如果我忘记在 40 多个存储库中提交或推送一些代码 它会通过电子邮件向我发送提醒 在我的两个项目中 我遵循了这些帖子中的答案 其中我设置了 git push 来推送到多个存储库 从多个远程位置拉 推 https stackov
  • 如何列出所有 GitHub 用户?

    我正在开发一个网站 需要从 GitHub 爬取所有用户信息 至少是我们网站上的用户 我搜索了 GitHub API 没有找到答案 那么我有什么办法可以完成这份工作吗 我只有用户的电子邮件 我可以通过将电子邮件哈希值与头像 URL 进行比较来
  • 从 github 中删除子项目提交

    我有两个存储库A and B 我错误地在我的机器上将仓库 B 克隆到了 A 内 我从存储库 B 中删除了所有代码 但是当我在源上从 A 推送并合并代码时 它还显示了子项目提交B在 Github 仓库上 我想从我的 master 上删除子项目
  • 如何使用 GitHub API 一次检索多个用户?

    我能够获取单个用户 或自某个时间戳以来创建的所有用户 或者与 GitHub API 进行某些搜索匹配的位置 https developer github com v3 users get a single user https develo
  • 强制 Composer 下载 git repo 而不是 zip

    我对作曲家有一些问题 require php gt 5 3 2 kriswallsmith buzz 0 7 Repo https github com kriswallsmith Buzz tree v0 7 https github c
  • 如何签出仅在“git ls-remote”中列出的分支?

    我遇到了无法切换到仅列出的分支的情况git ls remote 这是详细信息 我分叉了一个 github repoA 作为 repoB 创建了自己的分支并将其推送到 ComputerA 中的 repoB 在 ComputerB 中 我将分叉
  • 如何禁用 GitHub 中的拉取请求?

    我试图了解如何禁用 github 中的 拉取请求 问题一 我们正在尝试使用变基工作流程 这意味着如果不是快速推进 那么使用拉取请求可能会有害 一种解决方案 为我想要禁用拉取请求的分支设置分支权限 或者将我添加为任何进入 master 的内容
  • Github:我的仓库登陆页面上缺少“设置”菜单

    设置 菜单应该是最后一个菜单 位于 图形 菜单之后 没有 设置 菜单会影响我设置 Webhook 的能力 是的 这是我的仓库 我拥有它 landing page of my test repo travis repo 我今天也遇到了同样的问
  • Jenkins GIT 包含从未构建过的区域

    我正在尝试使用包含区域在 Jenkins 中构建我的工作 但每当选中此选项时 民意调查结果总是说未检测到任何更改 我尝试了许多不同的路径 以及使用工作区进行 不进行强制轮询 结果是轮询从未检测到任何更改 但一旦我删除这些选项 它们就会在下一
  • 在 Windows 上使用 Git - 意外丢失了大量工作。我可以拿回来吗?

    我很困惑 我想我已经失去了几个小时的工作时间 我之前在 Git 中编辑了一个文件 我保存了它 但没有提交 我确实做了一些其他文件更改 并提交并推送了它们 然而 有一个文件被搞乱了 所以我单击了最后一次成功的提交 然后按了 回滚到此提交 令我
  • Github 操作错误地认为变量是秘密,因此不设置输出

    我的工作流程文件中的一个步骤将返回我的 aws 账户中 EC2 实例的一些 ID 然后我将这些 ID 设置为 github 输出 以便在我的工作流程文件中的其他作业中使用 我在许多工作流程中都这样做了 步骤将返回如下内容 i 0d945b0
  • 如何在同一存储库中的 github 操作之间共享代码?

    假设我想要两个工作流程build yml and release yml在我的仓库中 第一个应该构建项目 假设使用 CMake 第二个应该构建项目并使用构建的二进制文件创建 GitHub 版本 项目构建代码在两个文件之间重复 如何在它们之间
  • Github 页面 - 禁用除单个站点之外的所有站点的自定义域重定向?

    I ve been using github pages since a long time and use the custom domain redirection feature to redirect my user website
  • 在命令行上卸载 Android SDK 的选定部分

    这与 卸载旧的 Android SDK 版本 https stackoverflow com questions 15182377 uninstall old android sdk versions 除非我想在无头 Linux CI 服务

随机推荐