Skip to content

refactor(autoflow): simplify release branch/tag dance, drop force-push (#320)#373

Merged
SisyphusZheng merged 1 commit into
devfrom
fix/320-simplify-release
Jul 9, 2026
Merged

refactor(autoflow): simplify release branch/tag dance, drop force-push (#320)#373
SisyphusZheng merged 1 commit into
devfrom
fix/320-simplify-release

Conversation

@SisyphusZheng

Copy link
Copy Markdown
Member

Summary

#320 (real) / batch #319 asks to simplify the AutoFlow release flow: reduce the
git branch/tag dance and avoid force-pushing tags.

Changes in tools/autoflow/release.ts:

  • Drop the force-push on tags. git push --force origin <tag> became
    git push origin <tag>. A tag that already exists at a different commit is
    now left untouched (the local git tag -f is still guarded by an
    existing-commit comparison + warning, so it only fires when truly needed).
  • Consolidate the local/manual release path. The old flow bounced between
    dev and main with redundant pull --ff-only / pull --rebase and
    duplicate push main + push dev round-trips. The new path does a single
    fast-forward main from dev, publishes/deploys/records evidence once,
    pushes main, then fast-forward dev from main and pushes dev. Fewer
    branch transitions, lower risk of a half-released state.

tools/autoflow/__tests__/policy.test.ts updated for the renamed local-plan
step.

Test plan

  • deno test tools/autoflow/__tests__/: 25 passed.
  • deno fmt + deno lint + deno check clean on release.ts.
  • ⚠️ The release flow is not executed by CI (it needs npm/GitHub publish
    credentials). This change should get a human eye before the next real
    release, but it reduces rather than increases release risk.

Closes #320

#320)

- Remove `--force` from the tag push in `release.ts`. A tag that already
  exists at a different commit is now left untouched; the guarded local
  `git tag -f` (only when an existing tag points at a different commit, with
  a warning) is preserved.
- Consolidate the local/manual release path: instead of bouncing dev -> main
  -> dev with redundant `pull --ff-only` / `pull --rebase` / duplicate
  `push main` + `push dev` round-trips, do a single fast-forward `main` from
  `dev`, publish/deploy/record evidence once, push `main`, then fast-forward
  `dev` from `main` and push `dev`. Fewer branch transitions, lower risk of a
  half-released state.
- Updated the local-plan assertion in policy.test.ts to the new step name.

The release flow itself is not executed by CI (it needs publish/release
credentials), so this needs a human eye before the next real release.

Closes #320
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

APIError: Insufficient Balance

opencode session  |  github run

@SisyphusZheng SisyphusZheng merged commit 13d5411 into dev Jul 9, 2026
4 of 5 checks passed
@SisyphusZheng SisyphusZheng deleted the fix/320-simplify-release branch July 9, 2026 09:18
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