* ci: draft the GitHub Release page from the CHANGELOG on tag
release.yml only published to PyPI; creating the Release page was an
undocumented manual step, and v1.2.2 shipped to PyPI without one.
A second job, gated on a successful upload, now drafts the page: title
"EverOS X.Y.Z", body lifted from the matching CHANGELOG section with the
group headings demoted to h2, `--prerelease` for PEP 440 suffixed tags. It
stays a draft because the lead summary that opens every EverOS release page
is prose CI cannot write.
The job runs separately from the publish job so that one keeps `contents:
read` alongside its OIDC token. A stable tag with no CHANGELOG section fails
the job rather than publishing an empty page; pre-releases fall back to a
placeholder. Existing releases are detected through the list endpoint, since
the by-tag endpoint cannot see drafts (cli/cli#3037) and a re-run would 422 —
a stale draft is replaced, a published release left alone.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* ci: prefill the Upgrade section on the drafted release page
Every EverOS release page since 1.1.3 closes with an Upgrade section — the
pip line, any migration notes, and a compare link to the previous tag. The
first draft dropped it, so a published page would have lost the one section
readers act on.
The pip line and the compare link are prefilled; the previous tag comes from
`git tag --sort=-v:refname`, which needs the full tag list, hence
fetch-depth: 0. Migration notes stay hand-written next to the lead summary,
since only a human knows whether a release needs them.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* docs(release): warn that API publishing drops the tag
Flipping `draft` through the API without `tag_name` rebinds the release to
the `untagged-<hash>` placeholder and creates a git tag by that name against
the default branch. Hit while publishing 1.2.2; the web UI button is
unaffected.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: zhanghui <zhanghui@shanda.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>