当拉取请求更改时取消操作运行

2023-12-23

对于我的项目,我有一个相当长的 github 操作,当创建新的拉取请求时会触发该操作。 这些是我使用的触发器:

on:
  pull_request:
    types: [opened, ready_for_review, labeled]

此操作被定义为我的拉取请求的“状态检查”要求,以确保该操作在允许某人合并其 PR 之前运行良好。

但是,我的 PR 也需要及时更新develop在被允许合并任何东西之前。

所以我经常遇到的场景是这样的:

  • 创建新的拉取请求
  • Github Action 启动,我的 PR 的检查状态变为“进行中”
  • 我意识到我的分支没有与开发保持同步,所以我更新了它。
  • PR 的检查状态变为“预期”,因为我当前的运行是在分支的先前版本上开始的。

我对这种情况的问题是,即使我的 github 操作运行现在完全无效/过时(因为分支的内容发生了变化),操作本身仍在运行。我需要手动转到操作选项卡并取消此运行。

如果分支或 PR 的内容发生更改,是否有办法自动取消此运行?


由于 CI 作业在不同的 github 运行器中执行,因此没有直接的方法可以自动取消以前的 CI 作业natively与 Github 操作。

但是,有一些解决方法可以帮助您解决问题:

1 - 使用Github API取消工作流程运行 https://docs.github.com/en/rest/reference/actions#cancel-a-workflow-run直接(在您的具体情况下,自动化可能并不简单)。

2 - 使用取消工作流程操作 https://github.com/marketplace/actions/cancel-workflow-action,这将取消任何之前未执行的运行completed对于给定的工作流程。

3 - 使用跳过重复操作 https://github.com/marketplace/actions/skip-duplicate-actions,在合并、拉取请求或类似操作后跳过重复的工作流程运行。

4 - 使用本机concurrency field https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#concurrency以确保一次仅运行使用同一并发组的单个作业或工作流。

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

当拉取请求更改时取消操作运行 的相关文章

  • Git 中的作者和提交者有什么区别?

    我刚刚在 GitHub 上发现了以下提交 https github com felixge node formidable commit 0a0b150668daa3c6f01626d2565b898e5da12392 https gith
  • git push 无法在 cron 作业中工作

    我目前正在清理 CentOS 6 服务器上其他人留下的烂摊子 有一个应用程序需要每6小时备份一次到github帐户 有一个脚本负责准备数据并负责 git add 和 git commit git Push 由 expect 脚本负责 这样做
  • GitHub 恢复或重置? [复制]

    这个问题在这里已经有答案了 正如您在图片中看到的 我正在功能 forum kolo 3 中工作 我决定完成该功能并将其合并到开发中 但没有将更改推送到远程开发 因此它只是本地更改 然后我意识到这是一个坏主意 现在我想删除这个合并 就像它从未
  • 从 GitHub Pages 中删除 html 扩展

    我正在使用 GitHub 页面来托管我的最新网站 http mysite github io 我想知道是否有办法从子页面末尾删除 html 扩展名 http mysite github io contact html 因为无法访问服务器 它
  • 如何在一台电脑上拥有2个git用户?

    我想练习使用 GitHub 做拉取请求并学习如何观看git 差异不同用户之间 如何在 macOS 的终端上设置另一个用户帐户来执行此操作 如何在用户之间切换 充当第二用户有三个方面 1 GitHub账户 要以其他用户身份使用 GitHub
  • 使用两个帐户推送到 Git

    我跟着这个tuotrial http code tutsplus com tutorials how to work with github and multiple accounts net 22574关于如何在同一台计算机上拥有两个单独
  • git 分叉是如何工作的?

    所以我登录了 github 并 fork 了一个项目 每次原始存储库更新时 我的分叉存储库都会更新吗 或者我应该每次都从原始存储库进行分叉 这样我就不会错过对原始存储库所做的任何新更改 分叉是存储库的副本 分叉存储库允许您自由地尝试更改 而
  • 有关多个远程存储库的 Git 状态

    我有一个脚本 如果我忘记在 40 多个存储库中提交或推送一些代码 它会通过电子邮件向我发送提醒 在我的两个项目中 我遵循了这些帖子中的答案 其中我设置了 git push 来推送到多个存储库 从多个远程位置拉 推 https stackov
  • Git:压缩 master 上提交的最简单方法[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 git 将最后 X 次提交压缩在一起 https stackoverflow com questions 5189560 how can i squash my last x commits
  • GIT - 推送到 (GitHub) origin master 没有任何作用

    我已经分叉了某人的 GIT 存储库 https github com nippysaurus toodledo objc 将其克隆到我的本地计算机 显示带有以下信息的来源 remote origin Fetch URL https emai
  • 如何签出仅在“git ls-remote”中列出的分支?

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

    我试图了解如何禁用 github 中的 拉取请求 问题一 我们正在尝试使用变基工作流程 这意味着如果不是快速推进 那么使用拉取请求可能会有害 一种解决方案 为我想要禁用拉取请求的分支设置分支权限 或者将我添加为任何进入 master 的内容
  • 从另一个工作流程触发新的工作流程?

    我可以从另一个工作流程触发新的工作流程吗 我试图在第一个工作流程推送新版本后运行工作流程 但它似乎忽略了它 正如这里所描述的 https stackoverflow com a 65698892 4964553 您可以使用以下命令触发另一个
  • 将“复制到剪贴板”添加到 GitHub markdown 的简单方法?

    具体来说 我有一些用于安装的代码块 我希望用户能够快速将其复制并粘贴到终端中 我想要一个用于代码块 复制到剪贴板 的按钮 由于 git 克隆 URL 有一个 复制到剪贴板 按钮 我想知道我是否可以利用该按钮 或者如果不能 是否可以将一些相对
  • Github:我的仓库登陆页面上缺少“设置”菜单

    设置 菜单应该是最后一个菜单 位于 图形 菜单之后 没有 设置 菜单会影响我设置 Webhook 的能力 是的 这是我的仓库 我拥有它 landing page of my test repo travis repo 我今天也遇到了同样的问
  • GitHub Actions:如何将 toJSON() 结果传递给 shell 命令

    因此 我正在与 Github Actions 合作进行端到端测试 我正在查看的设置是让一项作业检索要测试的 url 列表 而我的第二项作业使用该列表创建一个矩阵并测试所有这些 我的问题是 当我实际运行测试脚本时 必须从命令行完成 因为我使用
  • GitHub Pages (github.io) doxygen 生成的页面未找到 (404)

    我不明白为什么找不到 doxygen 生成的页面 404 它在Github存储库中的路径是https github com AubinMahe AubinMahe github io blob master doxygen html dd
  • 使用 Github Actions 进行部署

    我在用Github作为我的源代码控制 并使用Github 操作作为我的 CI CD 解决方案 我在某处有一个专用的 Windows Server 它接受发表我的仓库的版本 我有一个 Github Action 它可以构建 测试 发布和部署
  • 如何在同一存储库中的 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

随机推荐

  • 不平衡随机数发生器

    我必须从升序数组中选择一个元素 较小的元素被认为更好 因此 如果我从数组的开头选择一个元素 它被认为是更好的选择 但同时我不希望选择是确定性的并且始终是相同的元素 所以我正在寻找 一个随机数生成器 生成 0 n 范围内的数字 但是 数量越小
  • 嵌入 MS Word 作为编辑器(就像在 Outlook 中一样)

    在 Outlook 中 您可以使用 Word 作为电子邮件编辑器 不确定 Office 2007 中的情况如何 但在 2003 中可以 我可以在我自己的应用程序中复制这个吗 我看过一篇文章提到使用 Web 浏览器组件 打开 doc 文件并打
  • 使用 RSpec 测试 CSV.generate

    我在 Rails 3 1 项目中有以下助手 我只是想知道是否有办法测试 CSV generate 调用 我很想说我有一些想法如何去做 但事实是我什至不知道从哪里开始 任何想法表示赞赏 require csv module Admin Pur
  • MongoDB:不区分大小写和重音

    我正在寻找字符串 JES S 但只返回具有指定字符串的文档 我需要搜索忽略重音符号和大写字母 我正在使用 C 和 mongodb 驱动程序 我的 mongodb 中保存了两个文档 id 5d265f3129ea36365c7ca587 TR
  • Android 谷歌地图 v2 片段黑色背景问题

    如何在滚动时使谷歌地图 v2 中的黑色背景透明
  • 自己内核的键盘中断处理程序 (C)

    我正在编写一个小型操作系统作为学校作业的一部分 但在获取键盘输入 按一个键 gt 将其显示在屏幕上 时我遇到了困难 我正在使用 osdev org 的 Bare Bones 教程 gcc 交叉编译器 GRUB 引导加载程序 ld 链接器 并
  • 核心数据方法不在头文件中

    为什么这些方法不应该也包含在头文件中 顺便说一句 这是由 xcode 生成的 界面 class Environment Location interface Log NSManagedObject private property nona
  • 安卓HTTPS连接

    我正在做一个 https 帖子 我收到了 ssl 异常不受信任的服务器证书的异常 如果我做正常的http 它工作得很好 我是否必须以某种方式接受服务器证书 我复制了以下来自的代码Java 开发者年鉴 https web archive or
  • Freemarker 压缩不带空格的 single_line

    似乎 正在用单个空格 替换换行符 而不是仅仅抑制它们 Example lt compress single line true gt First cell lt if something gt Second cell Third cell
  • 如何更改 libavformat 中的流索引

    我是 ffmpeg 的新手 当某些媒体具有多个音频流时 我遇到问题 假设在MKV文件中 它有三个音频流 MP3 WMA和WMAPro 使用以下命令进行解复用时如何更改流索引 AVPacket inputPacket ret av read
  • Equals 方法的默认行为是什么?

    设 A 是一个类 其中一些成员为 x y z Class A int x int y String z A 是一个对象 因此它继承了 Object 中定义的 Equals 函数 该函数的默认行为是什么 它检查成员的相等性还是检查引用的相等性
  • PHP 无符号右移 - 故障

    因此 当使用我的方法在 PHP 中执行 gt gt gt 无符号右移时 当数字涉及负数时 结果不正确 PHP 申请结果 INPUT 10 gt gt gt 3 INPUT 10 gt gt gt 3 OUTPUT 1 OUTPUT 2684
  • 如何更改 GCM 推送通知的样式

    我想将我的应用程序接收的 GCM 推送通知的样式从标准单行通知更改为多行通知 Java世界的解决方案似乎是将通知的样式设置为BigTextStyle当它被创建时 我找到了一个涉及黑客攻击的本地通知解决方案Androidapi JNI Sup
  • H1 标题的背景图片

    在我的 WordPress 主题页面标题中 My Css page h1 pagetitle width auto text align left font size 30px padding 25px 40px 25px 0px text
  • 在 pyes 和 elasticsearch 中按多个参数排序

    我可以通过一个sortpyes 中搜索查询的参数如下 s MatchAllQuery conn search query Search s indexes test sort score 但我需要传递一个额外的参数来对具有相同分数的文档进行
  • 在 Postman 中使用不同的数据多次运行请求仅运行一次

    我是 Postman 的新手 经常遇到一个我无法解决的问题 我尝试使用在预请求脚本上建立的数据数组多次运行相同的请求 但是 当我转到运行程序时 请求仅运行一次 而不是 3 次 预请求脚本 var uuids pm environment g
  • Scipy.optimize 不等式约束 - 考虑不等式的哪一边?

    我正在使用 scipy optimize 模块来查找最佳输入权重 以最小化我的输出 从我见过的例子来看 我们用单边方程定义约束 然后我们创建一个 不等式 类型的变量 我的问题是优化包如何知道约束中变量的总和是否需要小于 1 还是大于 1 d
  • 退出时关闭 Visual Studio 中的所有文件

    有没有办法在退出时关闭 Visual Studio 中的所有文件 或者 如果不可能 是否可以删除 Visual Studio 在退出时创建的用户项目文件 Windows gt 关闭所有文档文件 gt 退出 或者在项目关闭后手动删除 sou文
  • 如何从 COBOL 中的 COMP-3 字段读取 Java 中的日期?

    我正在尝试使用读取 COBOL 数据文件JRecord http sourceforge net projects jrecord source typ redirect 因为我有一个标题记录和详细记录 所以我用 SPLIT 01 LEVE
  • 当拉取请求更改时取消操作运行

    对于我的项目 我有一个相当长的 github 操作 当创建新的拉取请求时会触发该操作 这些是我使用的触发器 on pull request types opened ready for review labeled 此操作被定义为我的拉取请