Skip to content

Update: gate package-smoke CI jobs to release branches#19

Merged
SI-RUI-ZHANG merged 1 commit intomainfrom
skillmgr-ci-gate-smoke
Apr 17, 2026
Merged

Update: gate package-smoke CI jobs to release branches#19
SI-RUI-ZHANG merged 1 commit intomainfrom
skillmgr-ci-gate-smoke

Conversation

@SI-RUI-ZHANG
Copy link
Copy Markdown
Contributor

原问题

CI 里的 package-smoke-arm64package-smoke-x64 每次 PR 和 main 推送都会跑:安装依赖 → PyInstaller 打包 → 生成 tarball → 计算 SHA256 → 验证 npm wrapper + Homebrew formula,单次约 1m25s / 3m33s,外加 macos-* runner 的队列时间。对于普通代码改动,这些跑跟后续 Release workflow 在 tag 上跑完全重叠,是冗余信号。

本次修复

  • package-smoke-arm64/x64if: startsWith(github.ref, 'refs/heads/release/') || github.event_name == 'workflow_dispatch'
  • on.push.branches 补上 release/**,新增 workflow_dispatch

行为变化:

触发 之前 之后
PR 全跑 (~4m30s) backend + frontend 约 41s
push main 全跑 同上
push release/** 全跑 (新)
workflow_dispatch 全跑 (新)

release cut / 验证场景仍然有 package-smoke 覆盖,日常 PR 不再被 macos 队列拖慢。

改动文件

.github/workflows/ci.yml

Reviewer: @SI-RUI-ZHANG

The macOS package-smoke-arm64 and package-smoke-x64 jobs perform a full
PyInstaller build + tarball + npm/homebrew validation roundtrip on every
PR and every main push. They run for 1.5-3.5 minutes on top of the
macos-* runner queue time, despite being redundant with the Release
workflow for normal code changes.

Gate them behind 'release/**' branches + workflow_dispatch so:

- PR CI: only backend-compat + frontend-validate (~41s)
- Push to main CI: same, no package-smoke
- Push to release/* branches: full CI including package-smoke
- Manual trigger: full CI via workflow_dispatch

This cuts typical PR CI wall time from ~4m30s to under 1 minute while
keeping release-gate signal intact.
@SI-RUI-ZHANG SI-RUI-ZHANG merged commit 2ec9693 into main Apr 17, 2026
7 checks passed
@SI-RUI-ZHANG SI-RUI-ZHANG deleted the skillmgr-ci-gate-smoke branch April 17, 2026 09:39
SI-RUI-ZHANG added a commit that referenced this pull request Apr 19, 2026
The macOS package-smoke-arm64 and package-smoke-x64 jobs perform a full
PyInstaller build + tarball + npm/homebrew validation roundtrip on every
PR and every main push. They run for 1.5-3.5 minutes on top of the
macos-* runner queue time, despite being redundant with the Release
workflow for normal code changes.

Gate them behind 'release/**' branches + workflow_dispatch so:

- PR CI: only backend-compat + frontend-validate (~41s)
- Push to main CI: same, no package-smoke
- Push to release/* branches: full CI including package-smoke
- Manual trigger: full CI via workflow_dispatch

This cuts typical PR CI wall time from ~4m30s to under 1 minute while
keeping release-gate signal intact.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant