Skip to content

docs: introduce Beta/Stable two-channel branching workflow#327

Merged
appergb merged 1 commit into
betafrom
chore/branching-workflow
May 7, 2026
Merged

docs: introduce Beta/Stable two-channel branching workflow#327
appergb merged 1 commit into
betafrom
chore/branching-workflow

Conversation

@appergb
Copy link
Copy Markdown
Collaborator

@appergb appergb commented May 7, 2026

User description

Summary

把分支模型从「dev/main」改为「Beta/正式版」双渠道,渠道语义由分支名直接承载。

仓库侧动作(已完成,PR 之外)

  • 远端 dev 重命名为 betagit push origin dev:beta + 删旧 dev)
  • GitHub 仓库默认分支切到 beta,新建 PR 默认 base 是 beta
  • 本 PR 的 base 已从 dev 重新指向 beta
  • release-tauri.ymlv*-tauri tag 触发,跟分支无关,发版机制不受影响

渠道定义

  • betaBeta 渠道(开发版):默认分支 + 集成缓冲区。Beta 包不会推到普通用户,只对主动加入 Beta 渠道的用户可见。
  • main正式版渠道(Stable):始终可发布。普通用户默认拿到的就是这条线。

工作流核心约定

```text
fork / topic
│ (本地双端自测)

PR → beta ← AI Review (一次性,仅供参考)
│ ← 维护者轻量过一眼

合入 beta
│ (定期,双端冒烟通过)

合入 main → 打 v*-tauri tag → release CI → 推给正式版用户
```

  • 所有 PR 打到 betamain 只接 beta → main 合并
  • Beta 工作不能溢出到正式版 —— 双端冒烟闸门为此而设
  • AI Review 一次性辅助,rework 控制 1–2 轮
  • 正式版 release 仍从 main 切,tag 打在 main 上

文档 / CI 改动

  • README.md / README.zh.md:贡献流程章节改写为 Beta/正式版双渠道
  • CLAUDE.md### Branch & release-channel workflow 明确「分支名 = 渠道名」
  • .github/workflows/ci.yml:触发分支 [main, dev][main, beta]

后续(独立 PR)

Beta 包的 opt-in 分发机制——per-channel updater endpoint + 设置页"加入 Beta 渠道"开关——将在新 PR 中接入。在那之前,所有 `v*-tauri` tag 都按正式版对待,不要从 beta 分支直接打 tag

Test plan

  • 合并后访问 https://github.com/appergb/openless 主页,README 上「Contributing workflow」段落能看到 Beta/Stable 双渠道说明
  • 中文 README 可以看到「贡献流程」段落,含 Beta 渠道(开发版)/ 正式版渠道术语
  • 新建 PR 时 base 默认是 `beta`
  • 合到 beta 后 `ci.yml` 在 beta 分支正常触发
  • 维护者 `beta → main` 合并后,在 main 上打 `v*-tauri` tag,`release-tauri.yml` 正常触发

PR Type

Documentation, Enhancement


Description

  • Route CI to beta and main

  • Rewrite contribution docs for two channels

  • Clarify maintainer release and tagging rules

  • Note beta distribution is pending


Diagram Walkthrough

flowchart LR
  fork["Your fork / topic branch"]
  pr["PR to beta"]
  beta["beta branch"]
  main["main branch"]
  tag["v<version>-tauri tag"]
  ci["Release CI"]
  users["Stable users"]

  fork -- "test locally" --> pr
  pr -- "review and merge" --> beta
  beta -- "smoke build" --> main
  main -- "push tag" --> tag
  tag -- "triggers" --> ci
  ci -- "ship" --> users
Loading

File Walkthrough

Relevant files
Configuration changes
ci.yml
Run CI on beta and main                                                                   

.github/workflows/ci.yml

  • Updated push triggers to main and beta.
  • Updated pull_request triggers to main and beta.
+2/-2     
Documentation
CLAUDE.md
Add branch and release-channel guidance                                   

CLAUDE.md

  • Added beta and main channel definitions.
  • Documented PR, maintainer, and tagging rules.
  • Noted beta distribution work is still pending.
+22/-0   
README.md
Rewrite contributing flow for two channels                             

README.md

  • Added a new Contributing workflow section.
  • Included branch flow diagram and core rules.
  • Clarified stable releases come from main.
  • Mentioned beta opt-in distribution is pending.
+31/-0   
README.zh.md
Update Chinese docs for branching workflow                             

README.zh.md

  • Added a new 贡献流程 section.
  • Included the Beta/Stable flow diagram.
  • Clarified release and PR rules in Chinese.
  • Mentioned beta distribution is not yet wired.
+31/-0   

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

PR Reviewer Guide 🔍

(Review updated until commit 1394447)

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 1 🔵⚪⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ No major issues detected

@appergb appergb changed the base branch from dev to beta May 7, 2026 12:52
把分支模型从「dev/main」改造为「Beta/正式版」双渠道,渠道语义直接由分支名承载:

- `beta` — Beta 渠道(开发版),默认分支、集成缓冲区,所有 PR 一律打到这里。
  Beta 包不推送给普通用户,只面向主动加入 Beta 渠道的用户。
- `main` — 正式版渠道(Stable),始终可发布。仅由维护者在双端冒烟测试通过后从
  beta 合入;普通用户默认拿到的就是这条线。

文档与 CI 改动:
- README.md / README.zh.md:把「Contributing workflow / 贡献流程」章节
  改写为 Beta/正式版双渠道,含分支流向 ASCII 图、6 条核心规则,
  以及「Beta 不溢出正式版」的隔离要求。
- CLAUDE.md:把 `### Branch & contribution workflow` 改名为
  `### Branch & release-channel workflow`,明确「分支名=渠道名」。
- ci.yml:触发分支从 [main, dev] 改为 [main, beta]。

仓库侧已同步:
- 远端 dev 分支已重命名为 beta(git push origin dev:beta + 删除旧 dev)
- GitHub 仓库默认分支已切到 beta
- release-tauri.yml 用 v*-tauri tag 触发,跟分支无关,发版机制不受影响

Beta 包的 opt-in 分发机制(per-channel updater endpoint + 设置页开关)
将在独立 PR 中接入。在它落地之前,所有 v*-tauri tag 都按正式版对待,
不要从 beta 分支直接打 tag。
@appergb appergb force-pushed the chore/branching-workflow branch from 5fc02a1 to 1394447 Compare May 7, 2026 12:54
@appergb appergb changed the title docs: introduce dev/main two-tier branching workflow docs: introduce Beta/Stable two-channel branching workflow May 7, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

Persistent review updated to latest commit 1394447

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1394447c90

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/ci.yml
Comment on lines 10 to +13
push:
branches: [main, dev]
branches: [main, beta]
pull_request:
branches: [main, dev]
branches: [main, beta]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Restore the dev CI trigger

For this rollout the repository default branch and PR base are documented as dev in the PR description, but this change replaces the only CI trigger for dev with beta. As a result, pushes to dev and PRs targeting dev will not run this workflow at all, so the new integration branch can merge changes without the cross-platform checks that the workflow is meant to enforce.

Useful? React with 👍 / 👎.

H-Chris233 added a commit that referenced this pull request May 7, 2026
Translation settings were optimistically updated without awaiting or surfacing write failures, so users could see enabled language and shortcut states that were never persisted. This keeps the fix inside the Translation page: all three save paths now show saving/saved/failed feedback, catch failed writes, and refresh preferences after failed preference persistence to roll back local state.

Constraint: Follow the new beta-first PR workflow from #327.

Rejected: Refactor HotkeySettingsContext queue behavior | issue explicitly excludes queue redesign.

Confidence: high

Scope-risk: narrow

Directive: Keep Translation page save feedback local unless SelectionAsk receives the same treatment in its own issue.

Tested: npm run build

Tested: git diff --check

Related: #314
@appergb appergb merged commit 2fe5f2e into beta May 7, 2026
5 checks passed
@appergb appergb deleted the chore/branching-workflow branch May 7, 2026 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant