当前位置: 首页 > 知识库问答 >
问题:

为什么“发布”事件也会生成“推送”事件?

叶声
2023-03-14

我已经阅读了Github Actions留档,无法弄清楚为什么当我发布新版本时,GitHub Action工作流会被几乎同时的推送发布事件触发。换句话说,我的工作流yaml文件是这样开始的,指定它应该为推送和发布事件运行:

name: Release Actions

on:
  push:
    paths:
    - '**.csproj'
    - '**.cs'
    - '**.css'
    - '**.cshtml'
    - '**.dll'
    - '**.js'
    - '**.sln'
    - '**.yml'
  release:
    types: [published, prereleased]

当我发布一个新版本(标签)时,我希望它执行一次。然而,我看到两个事件几乎同时触发(间隔约5-10秒):

现在,发布事件确实触发了我的存储库的推送,但唯一正在更新的文件是我的package.json文件。推送事件的路径定义没有将**. json列为路径之一,因此我不期望推送事件会触发它。

那么,如何解释正在发生的第二个事件,即推送?

共有1个答案

鱼征
2023-03-14

推送事件不是被推送到分支的提交,而是被推送到refs/tags/的标签

如果您不想在标签上触发工作流,可以添加一个分支过滤器,该过滤器将导致忽略标签事件,如下所述。

name: Release Actions

on:
  push:
    paths:
    - '**.csproj'
    - '**.cs'
    - '**.css'
    - '**.cshtml'
    - '**.dll'
    - '**.js'
    - '**.sln'
    - '**.yml'
    branches:
    - '**'
  release:
    types: [published, prereleased]

 类似资料:
  • http://Socket.io允许你触发或响应自定义的事件,除了connect,message,disconnect这些事件的名字不能使用之外,你可以触发任何自定义的事件名称。 服务器端 // 注意,io(<端口号>) 将为你创建一个http服务。 var io = require('socket.io')(80); io.on('connection', function (socket)

  • 我正在构建一个Flink流媒体应用程序,并且更喜欢使用事件时间,因为它将确保在历史数据出现故障或重播时,所有设置的计时器都将决定性地触发。事件时间的问题在于,只有当事件发生时,时间才会向前移动。我们的数据源(物理传感器)有时产生的数据很少,因此有时单个数据点可能会打开一个5分钟的聚合窗口,但下一个数据点会在20分钟后关闭,因此窗口会很晚关闭并发出输出记录。 我们提出的解决方案是使用AWS lamb

  • 事件可以由Hyperledger Composer发出并由外部应用程序订阅。事件在业务网络定义的模型文件中定义,并由交易处理器函数文件中的交易JavaScript发出。 在你开始之前 在开始将事件添加到您的业务网络之前,您应该对业务网络的建模语言以及构成完整的业务网络定义的内容有深入的了解。 过程 1.事件在业务网络定义的模型文件(.cto)中定义,与资产和参与者相同。事件使用以下格式: e

  • 问题内容: 有谁知道xlib函数可以在不失去原始焦点的情况下捕获按键事件?如何摆脱它? (或“使用XGrabKey()而不生成Grab样式的聚焦”?) (或“如何在系统级别摆脱NotifyGrab和NotifyUngrab焦点事件?) XGrabKey将失去对按键的关注,而将精力恢复于释放的键。 而且我想捕获按键而不泄漏到原始窗口(就像XGrabKey可以做到的一样)。 参考文献: … XGrab

  • 从文档中我可以看出推送API和服务器发送事件都是半双工的,但为什么两种不同的技术具有相同的功能?推送API中是否有更重要的内容?

  • 如图:el-select使用文档提供的focus事件和blur事件,当focus的时候执行blur,使其失去焦点收起下拉面板。但是执行了blur事件后,触发了2次focus,想问问原因,如何解决 业务需求是:点击下拉框的时候,根据条件判断是否要展开下拉面板,不用el-select的disabled禁止,所以用以上方式实现,但是有触发2个的问题