chore: drop beta channel — trunk-based only (#450) - #454
Merged
Conversation
Phase 1 finale of the trunk-based migration. The beta channel and branch
are retired; production now follows the latest GitHub Release tag on main.
api.py:
- /admin/channel: GET always returns {channel:stable, branch:main}; POST
rejects anything except "stable" with 400. Legacy PINKYBOT_CHANNEL=beta
env is logged + silently coerced to stable.
- /admin/update: rejects branch="beta" (or any non-main value) with 400.
Empty branch defaults to main. Always resolves to latest release tag
(use_release_tags is unconditionally True now).
.github/workflows/release.yml: NEW — workflow_dispatch with version input,
creates annotated tag + draft release. Validates calver YY.MM.NNN format
and that it runs from main. Auto-generates release notes from commits
since prior tag.
CI: ci.yml, codeql.yml, docker-publish.yml — drop "beta" from branch
filters (no more beta branch to test).
docker-publish.yml: tag pattern `26.*` already matches our calver tags,
so :latest publishing on releases needs no change.
CLAUDE.md: update Deploy section — single channel + release-workflow doc.
Tests: TestTrunkBasedChannel class covers rejection of beta/arbitrary
branches, default-to-main, legacy env coercion, and channel endpoints.
All 28 admin-update tests pass.
🤖 Opened by Barsik
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This was referenced May 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Final cleanup PR for Phase 1 of the trunk-based migration (#450). With beta and main now converged and tag
26.05.070cut, this PR removes the beta channel from the codebase.Changes
src/pinky_daemon/api.py— channel cleanupGET /admin/channel: always returns{channel: "stable", branch: "main"}. LegacyPINKYBOT_CHANNEL=betaenv is logged + coerced to stable.POST /admin/channel: only"stable"accepted; other values → 400.POST /admin/update: rejectsbranch=beta(or any non-main value) with 400. Empty branch defaults tomain.use_release_tagsis now unconditionally True — production always pulls the latest release tag..github/workflows/release.yml— NEW manual release workflowworkflow_dispatchwithversioninput (calverYY.MM.NNN, e.g.26.05.071) + optional release notes.docker-publish.ymlalready triggers on26.*tags → no change needed there for tag publishing.CI workflows — drop beta branch filters
ci.yml,codeql.yml,docker-publish.yml: removedbetafrombranches:filters (no more beta branch to test).CLAUDE.md— Deploy section updatedReleaseworkflow.Tests
TestTrunkBasedChannelclass added totests/test_admin_update.py:branch=beta→ 400PINKYBOT_CHANNEL=betaenv → coerced to stable, still pulls mainGET /admin/channelalways returns stable/main regardless of envPOST /admin/channel?channel=beta→ 400All 28 admin-update tests pass locally (
pytest tests/test_admin_update.py). Lint clean.After merge
26.05.070is already on main (cut earlier from Release: beta → main (Phase 1 trunk-based migration + watchdog + federation) #453 merge).Releaseworkflow with version26.05.071(or whatever's next).betabranch on GitHub can be archived or deleted at Brad's leisure — nothing in CI references it anymore.PINKYBOT_CHANNEL=stable(the only channel) keep working transparently. Any host that somehow hasPINKYBOT_CHANNEL=betawill log a deprecation warning and behave as stable.Test plan
🤖 Opened by Barsik