You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需第三方Actions的GitHub Action main分支版本自增循环问题

解决原生GitHub Action版本递增循环触发问题

问题根本原因

你配置的tags-ignore规则未生效是因为该规则仅作用于tag推送事件,而你的工作流触发条件是main分支的代码推送,tag过滤规则对分支代码推送事件完全不生效,所以版本提交推送到main分支时会再次触发工作流,形成循环。

最优无if解决方案

直接使用GitHub Actions原生支持的提交跳过标识即可,无需添加任何if判断、无需修改工作流触发规则:

GitHub原生识别提交信息中的[skip ci]/[ci skip]标识,携带该标识的提交推送后不会触发任何工作流运行。

你只需要修改npm version的提交信息参数,给自动生成的版本提交添加跳过标识即可,同时可以删掉冗余的手动打标签步骤(npm version执行时会自动创建对应版本号的Git标签)。

修改后的完整工作流配置

name: Version Increment

on:
  push:
    branches:
      - main
    tags-ignore:
      - v*

jobs:
  version:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          token: ${{ secrets.ACCESS_TOKEN }}
      - run: git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
      - run: git config user.name "$GITHUB_ACTOR"
      # 修改提交信息添加[skip ci],避免触发循环
      - run: npm version minor -m "v%s [skip ci]"
      - run: git push origin --tags
      - run: git push origin --follow-tags

方案优势

  • 完全原生实现,无需依赖任何第三方Action
  • 无需添加任何if判断逻辑,符合你的需求
  • 规则由GitHub官方原生支持,无兼容问题
  • 同时保留了原工作流的所有功能,改动量极小

内容的提问来源于stack exchange,提问作者MarTic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 04:48:02