Repository navigation
feat(ci): one-click release workflow - #443
Conversation
📦 Built Plugin ArtifactBranch: Option A — Install from npm PR tag (recommended)opencode plugin opencode-acp@pr-443 --globalEach push to this PR publishes a new version under the Option B — Install from GitHubopencode plugin "github:ranxianglei/opencode-acp#2026-09-20_one-click-release" --globalOption C — Download artifact
tar xzf opencode-acp-pr443.tgz
cp -r package/dist ~/.cache/opencode/packages/opencode-acp@latest/node_modules/opencode-acp/dist
This comment is automatically updated on each push. |
[bot] 🏷 Verified this PR and fixed the one thing blocking it. PR #443 is ready for human merge once CI goes green (re-running now after my fix). Code verification (branch
|
[bot] 🏷 CI re-run on
PR state is now Nothing left on my side. Ready for you to merge whenever — and when you do this PR, either merge style works; just remember the standard merge commit rule for the generated release PRs produced by the new workflow itself (squash/rebase there would make
|
What
Port of the one-click release workflow from billion-context (origin: ranxianglei/billion-context#772, built as #944 + #978 green-on-prepared fallback + #994 generated changelog body + #1017 stale-branch collision fix). New file only:
.github/workflows/release-manual.yml— no product code touched.Usage: Actions tab → Release (one-click) → Run workflow.
versioninput blank = auto next-patch over npm latest; type an explicit semver for minor/major/prerelease.Flow
release v{V}: direct push to master if allowed → same run continues to publish + tag + GitHub Release; if branch protection blocks it → release prepared on aYYYY-MM-DD_release-v{V}branch (timestamp suffix on name collision), best-effort auto-PR with a generated changelog, run stays GREEN with the PR link in the job summary (one-click /pull/new link if auto-PR is blocked by the account-level Actions restriction)Adaptation notes
npm ci+npm run check:package+npm test(no separate build step), setup-node withcache: npmlike the existing workflows.workflow_dispatch(force input) on release.yml is untouched; this is a separate workflow named "Release (one-click)" so both show up distinctly in the Actions dropdown.npm latest(the stable lane), which is correct for this repo's dev/stable tag model.Verified locally
run:script passesbash -nNote
Merge the generated release PR with a standard merge commit (the default button) — squash/rebase would drop the date-prefixed branch name from the commit message and release.yml would skip publishing. Same convention the repo already uses for manual releases.