mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-08 17:06:15 -08:00
feat(release): announcement formats, highlight cards, and draft verification (#1480)
This commit is contained in:
1 parent
7a3d5eae56
commit
29ca94aa43
22 files changed
+3850
-64
No files matched your search
@@ -5,6 +5,8 @@ description: Use when preparing, cutting, tagging, publishing, or verifying an I
|
||||
|
||||
# Release Cut
|
||||
|
||||
Full contract, asset table and rationale: `docs/architecture/release-pipeline.md`.
|
||||
|
||||
The tag workflow authors the public GitHub body with
|
||||
`node tools/release/extract-changelog-section.mjs --public "${VERSION}"`.
|
||||
Keep the full changelog, including internal notes, committed before tagging.
|
||||
@@ -30,9 +32,18 @@ pnpm run i18n:check
|
||||
4. Capture required manifest screenshots only against mock servers:
|
||||
`pnpm nx run electron-backend:build-e2e`, then
|
||||
`pnpm run release:screenshots`.
|
||||
5. Consume notes only after reviewing all generated output:
|
||||
5. Render the announcement drafts, saving output outside the repository:
|
||||
`pnpm --silent run release:notes:telegram` and the `:reddit` counterpart
|
||||
(`--silent`, or pnpm's lifecycle banner lands in the saved post).
|
||||
6. Render highlight cards after the screenshots:
|
||||
`pnpm run release:cards:generate`. Review them; copy `hero.jpg` into the
|
||||
blog post's asset directory if it should ship as the hero image.
|
||||
7. Consume notes only after reviewing all generated output:
|
||||
`node tools/release/build-release-notes.mjs --consume`.
|
||||
|
||||
Steps 5 and 6 must precede `--consume`: `highlight:` exists only in the note
|
||||
files it deletes. Publishing announcements is manual, after the release.
|
||||
|
||||
The consume command is the destructive boundary: it deletes the direct note
|
||||
files. Stage only release-owned files, including exact website post/assets and
|
||||
`git add -A -- .changes`, then commit and create the exact tag.
|
||||
@@ -54,10 +65,11 @@ git push upstream v0.25.1
|
||||
```
|
||||
|
||||
Master and `v*` pushes can publish Docker images. The tag build creates a draft
|
||||
GitHub release. Verify authored text plus generated commits and all required
|
||||
macOS, Windows, DEB, RPM, Pacman (`.pacman`/`.pkg.tar.*`), AppImage, Snap,
|
||||
Flatpak, updater metadata, blockmaps, and
|
||||
`linux-frame-copy-runtime-sources.tar.xz`.
|
||||
GitHub release. Run `pnpm run release:verify:draft` — it waits for the tag
|
||||
build, then checks draft status, warns on an empty authored body, and verifies
|
||||
the complete 27-asset set documented in `docs/architecture/release-pipeline.md`.
|
||||
It is read-only, and fails on an already-published release. Still review the
|
||||
authored text and generated commits by eye.
|
||||
|
||||
After verification, manually publish the GitHub release. That publication
|
||||
automatically verifies its Snap assets and uploads them to `edge`.
|
||||
|
||||
@@ -17,6 +17,7 @@ type: fix
|
||||
area: stalker
|
||||
issues: [1234]
|
||||
screenshot: optional-manifest-slug
|
||||
highlight: Optional short headline
|
||||
---
|
||||
|
||||
Stalker series now resume the correct episode.
|
||||
@@ -25,6 +26,10 @@ Stalker series now resume the correct episode.
|
||||
`type` is `breaking`, `feature`, `fix`, `perf`, or `internal`. Omit optional
|
||||
fields instead of inventing values. Never add a version or PR number.
|
||||
|
||||
`highlight` (max 60 characters, never on `internal`) names a headline feature:
|
||||
it leads the Telegram/Reddit announcement drafts and becomes the blog section
|
||||
heading. Reserve it for the two or three changes worth announcing.
|
||||
|
||||
`internal` records invisible maintenance. It stays collapsed in `CHANGELOG.md`
|
||||
but is omitted from the blog and the authored public GitHub body. GitHub's
|
||||
generated commit list may still mention the underlying commits.
|
||||
|
||||
Reference in new issue
Block a user