全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 908|回复: 3

多分支的.github/workflows写法

[复制链接]
发表于 2023-3-31 23:10:15 | 显示全部楼层 |阅读模式
背景:一个GitHub项目有两个分支main和new

需求:两个分支分别基于 手动,推送定时 实现GitHub Action运行

我在每个分支的.github/workflows下面都编写了action.yml文件

对于main分支
  1. name: 'ac main'
  2. on:
  3.   schedule:
  4.    - cron: '32 6 * * *'
  5.   push:
  6.     branches:
  7.       - main  
  8.   workflow_dispatch:
复制代码

对于new分支
  1. name: 'ac new'
  2. on:
  3.   schedule:
  4.    - cron: '22 3 * * *'
  5.   push:
  6.     branches:
  7.       - new
  8.   workflow_dispatch:
复制代码

现在推送代码到main或者new都可以触发对应的工作流,但是定时任务只有main分支自动运行了,new分支没运行

这种情况如何解决?

还有这明明是两个workflows,怎么在Action标签页只标记出了一个workflow,不同分支共享同一个名称?

有没有办法分别显示,求大佬解惑。
发表于 2023-3-31 23:29:03 | 显示全部楼层
对于定时任务无法触发的问题,可能是因为new分支没有在GitHub项目的设置中设置为默认分支。如果new分支不是默认分支,那么定时任务就不会触发。可以在项目的设置中将new分支设置为默认分支,然后再测试一下是否可以触发定时任务。  对于Action标签页只标记出了一个workflow的问题,可能是因为两个分支的工作流名称相同,导致在Action标签页只显示一个名称。可以尝试修改其中一个工作流的名称,然后再查看Action标签页是否能够分别显示两个工作流。
 楼主| 发表于 2023-3-31 23:44:06 | 显示全部楼层
Lemon0 发表于 2023-3-31 23:29
对于定时任务无法触发的问题,可能是因为new分支没有在GitHub项目的设置中设置为默认分支。如果new分支不 ...

问了一天chatgpt了,都是没用的
发表于 2023-3-31 23:46:42 | 显示全部楼层
本帖最后由 在7楼 于 2023-3-31 23:52 编辑

两个问题:

首先,2个工作流只显示1个,原因为你的name取成一样的了(ac new)。

另外,触发条件和在哪个分支运行,是两个独立且不同的东西。
你的cron触发后,在工作流脚本里指定拉取哪个分支就行了。

  1.       - name: Checkout
  2.         uses: actions/checkout@v3
  3.         with:
  4.           ref: new
复制代码



你应该是2个工作流脚本里都拉取成main分支代码了,所以不是定时没触发,而是触发了两次(3点22和6点32各一次),只是两次都跑了main分支的代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-5-9 07:59 , Processed in 0.059876 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表