Conversation
…test - Explain the image tag channels in .env.example: latest tracks main, vX.Y.Z pins a release, X.Y / X follow a release line - Add an optional "pin a stable release" step to the quick start (en/zh) - Replace the stale v1.0.0-rc.x advice in the deployment FAQ and describe upgrading a pinned deployment by tag - Create monthly statistic-* releases with --latest=false so they no longer take the repository's Latest release from vX.Y.Z Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
- Set appVersion to v1.1.2 (and chart version to match) instead of latest - Add astron-agent.imageTag helper: global.astronAgentVersion overrides, empty falls back to .Chart.AppVersion - Default global.astronAgentVersion to empty; "latest" still selects the rolling main build - Document pinning a release in helm/README.md Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
reward-* tags pointed at PR merge commits and statistic-* tags at main HEAD, so they became the nearest tag for later commits: between v1.1.1 and v1.1.2, most commits on main described as reward-1575-N-g<sha> instead of v1.1.1-N-g<sha>. - Point new reward-* / statistic-* tags at a parentless empty-tree commit (the merge commit SHA is kept in its message) so they are never reachable from a branch; tag contents and dates are read as before - Drop the describe-based "new commits since last statistic" check, which cannot see detached tags; count-reward.ts already exits when there is no reward data for the previous month Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
FenjuFu
force-pushed
the
docs/release-channels
branch
from
October 3, 2026 12:00
b3d5756 to
28bebd4
Compare
This branch has not been deployed
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
Makes the existing SemVer release channel visible to deployers and downstream automation, makes the Helm chart deploy a release by default, and keeps the reward bot's
reward-*/statistic-*tags from taking the "Latest" release or showing up ingit describe.Type of Change
Related Issue
Closes #1694
Changes
.github/scripts/count-reward.ts: createstatistic-*releases with--latest=false. Without it, the API default (make_latest: true) madestatistic-2026-09the newest release from 2026-09-01 untilv1.1.2shipped.docker/astronAgent/.env.example: document the image tag channels.latesttracksmain,vX.Y.Zpins an exact release, andX.Y/Xfollow a release line. The default stayslatest, so existing setups behave the same.docs/guide/quick-start.md,docs/zh/guide/quick-start.md: add an optional "pin a stable release" step that checks out the tag before copying.env.example, so the compose files match the images.docs/DEPLOYMENT_FAQ.md,docs/zh/DEPLOYMENT_FAQ.md: replace the stalev1.0.0-rc.xadvice, and describe upgrading a pinned deployment by tag instead ofgit pull.appVersion"latest"→"v1.1.2"(chartversion1.0.0 → 1.1.2). A newastron-agent.imageTaghelper usesglobal.astronAgentVersionwhen it is set and falls back to.Chart.AppVersionwhen it is empty.values.yamlnow defaults that value to"", andhelm/README.mddocuments pinning. Settingglobal.astronAgentVersion=latestrestores the previous behaviour exactly. From now on,appVersionneeds a bump at each release; if it is missed, the chart stays on the previous stable release instead of followingmain.git describe:share-reward.tstagged the PR merge commit andcount-reward.tstaggedmainHEAD, so these tags became the nearest tag for later commits. Of the last 400 commits onmain, 36 describe asreward-1575-N-g…orstatistic-2026-09-N-g…, compared with 12 asv1.1.1-N-g…, so most of the v1.1.1→v1.1.2 window reports a reward tag as its version. New tags now point at a parentless empty-tree commit created by.github/scripts/git.ts; its message keeps the merge commit SHA. Branches never reach that commit, sogit describe(with or without--tags) only seesvX.Y.Z. Tag contents and creator dates, whichcount-reward.tsreads, are unchanged. Because the oldgit describe --match "statistic-*"pre-check instatistic-member-reward.ymlcannot see detached tags, I removed it;count-reward.tsalready exits when the previous month has no reward data.reward-1575,statistic-2026-09) are older thanv1.1.2, somainand every future commit already describe correctly. I left them as they are, because re-pointing published tags would need a force-push and would leave stale copies in existing clones.Testing
Existing tests pass
New tests added (if applicable)
Manual testing completed
Queried GHCR for all 10 images in
docker-compose.yaml(core-*,console-*). Each hasv1.1.2,1.1.2,1.1,1andlatest. Forcore-agent,v1.1.2,1.1.2,1.1and1resolve to the same digest (sha256:1eaed2…), andlatestresolves to a different one (sha256:7033e8…, a build ofmain), so the tag semantics described in the docs match what is published.Confirmed the
v1.1.2tag containsdocker/astronAgent/.env.exampleanddocker-compose-with-auth.yaml, so the documentedgit checkout vX.Y.Z && cp .env.example .envsequence works.Helm (v4.2.4):
helm lintpasses. The default render uses:v1.1.2for all 10 service images. With--set global.astronAgentVersion=latest, the render matchesmainbyte-for-byte apart from thehelm.sh/chart/app.kubernetes.io/versionlabels and the per-render random secrets.helm/astron-agent/tests/verify_tenant_bootstrap.pypasses (7 positive modes, 13 negative cases). The only Helm changes onmainsincev1.1.2are MinIO infrastructure changes, somain's chart is compatible with thev1.1.2service images.Reward tags, tested end-to-end in a sandbox repo (local bare remote, Deno 2.9) with a
v1.0.0tag and later commits. RunningcreateDetachedCommitand the tagging and pushing code fromshare-reward.tswith a reward dated last month createdreward-42on a commit with no parents and the empty tree, and its message records the merge SHA. The unmodifiedcount-reward.tsthen found that tag by creator date, produced the correct summary (@bob,CNY RMB: 300), and pushedstatistic-2026-10on another detached commit. After that,git describeandgit describe --tagsstill returnedv1.0.0-2-g…, a fresh clone still received all three tags, and no git identity was left in the local config. The finalgh release createcall reached the realgh, which failed safely because the sandbox remote is not on GitHub.--latest=falseis the documentedgh release createflag for not marking a release as latest. The nextstatistic-*run will confirm it; I could not trigger the scheduled workflow from a fork.Checklist