You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Cut a new versioned release of the book's CONTENT — bump the version, update the changelog, verify, and publish the GitHub Release with the PDF attached.
3
+
---
4
+
5
+
# Release Content
6
+
7
+
Publish a new **content version** of the GitHub Agentic Workflows interactive book. Versioning
8
+
applies to the **prose under `content/` only** — never the site generator, PDF tooling, analytics,
9
+
or any other part of the repo.
10
+
11
+
**What changed:** <one-line summary of the content edits, or "read the diff since the last release">
12
+
**Version bump:** <major | minor | patch, or an explicit `x.y` — decide from the rules below if unset>
13
+
14
+
## Versioning model (read first)
15
+
-**Source of truth:**`content/VERSION` — a single line, e.g. `1.1`.
16
+
-**History / release notes:**`content/CHANGELOG.md` — Keep-a-Changelog style; the release notes
17
+
are generated from this file.
18
+
-**Shared helper:**`scripts/content_version.py` (`version` / `tag` / `notes`) — the stdlib-only
19
+
parser used by the site generator, the PDF builder, and the release workflow.
20
+
-**Tag & Release:** each version ships as a GitHub Release tagged `content-vX.Y` with the matching
21
+
single-file PDF (`gh-aw-book-vX.Y.pdf`) attached, so every past state stays reproducible.
22
+
-**Automation:**`.github/workflows/release-content.yml` cuts the release automatically when
23
+
`content/VERSION` changes on `main`. It is idempotent (skips if the release exists) and
24
+
self-healing (re-attaches the PDF if it went missing). You normally just prepare the bump — the
25
+
workflow publishes.
26
+
27
+
**SemVer for prose** — pick the bump:
28
+
-**MAJOR** — structural rewrite or reordering of the book.
29
+
-**MINOR** — new chapters, sections, or material.
30
+
-**PATCH** — corrections and clarifications only.
31
+
32
+
## Steps
33
+
1.**Confirm the scope.** Show what content changed since the last release:
34
+
`git diff $(python scripts/content_version.py tag)..HEAD -- content/`. Summarize it for the
35
+
reader. If nothing under `content/` changed, **stop** — there is nothing to release.
36
+
2.**Pick the new version**`x.y` from the bump rules. The current version is
37
+
`python scripts/content_version.py version`.
38
+
3.**Update `content/CHANGELOG.md`.** Add a new section at the very top (keep older entries intact):
39
+
```
40
+
## [x.y] - YYYY-MM-DD (today's date)
41
+
One-line summary of this release.
42
+
43
+
### Added / ### Changed / ### Fixed
44
+
- **Bold lead:** what changed and why it matters to the reader.
45
+
```
46
+
4.**Bump `content/VERSION`** to `x.y` (single line, nothing else).
0 commit comments