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
Refactor changelog management and update workflows for version-first authoring
- Transitioned from `CHANGELOG-UPCOMING.md` to semver-named changelog files located in `docs/development/CHANGELOGS/`, enabling continuous updates during development.
- Updated `publish-main.yml` and `publish-staging.yml` workflows to read release notes from the new semver changelog files.
- Enhanced `bump-version.sh` to create and stage the changelog file upon version bump, ensuring immediate availability for updates.
- Deprecated the use of `CHANGELOG-UPCOMING.md` in documentation and workflows, streamlining the changelog process for both staging and main releases.
- Added a new changelog file for version 0.1.10 to reflect the migration to the new system.
Copy file name to clipboardExpand all lines: .cursor/skills/release-changelog/SKILL.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: release-changelog
3
-
description: "Keep the upcoming release note buffer updated on develop; ties into publish-staging and publish-main (RTM) and GitHub release/archive automation."
3
+
description: "Use version-first changelog files (docs/development/CHANGELOGS/X.Y.Z.md): bump version at start of work and write release notes continuously for staging and main releases."
4
4
---
5
5
6
6
# Release changelog (Metaboost)
@@ -11,13 +11,15 @@ When you ship or finish work that is **worth calling out** in preprod/prod relea
11
11
12
12
## What to update
13
13
14
-
- Edit [docs/operations/CHANGELOG-UPCOMING.md](../../docs/operations/CHANGELOG-UPCOMING.md) on **`develop` only** (promotion branches are triggers only—see [PUBLISH.md](../../PUBLISH.md)).
14
+
- Use [docs/development/CHANGELOGS/X.Y.Z.md](../../docs/development/CHANGELOGS/) where `X.Y.Z` is the current base version in `package.json`.
15
+
- Bump version **at the start of work** with `scripts/publish/bump-version.sh` so `docs/development/CHANGELOGS/X.Y.Z.md` exists before implementation.
16
+
- Keep updating that same semver file continuously as work lands.
15
17
16
18
## Conventions
17
19
18
20
1.**Order** — **Most important first** (safety, security, data, then big features, then smaller fixes; skip low-signal items).
19
21
2.**Wording** — Short, clear lines; link issues/PRs if useful.
20
-
3.**Markers** — Put new bullets between `UPCOMING-AUTO-START`and `UPCOMING-AUTO-END` so post-publish automation can reset that block via PR. Notes **above** the block are not auto-cleared.
22
+
3.**Single source** — Staging prereleases and main production releases both read the same `X.Y.Z.md` file.
21
23
4.**Brevity** — Concise, not a duplicate of git log.
Copy file name to clipboardExpand all lines: .github/skills/release-changelog/SKILL.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: release-changelog
3
-
description: "Keep the upcoming release note buffer updated on develop; ties into publish-staging and publish-main (RTM) and GitHub release/archive automation."
3
+
description: "Use version-first changelog files (docs/development/CHANGELOGS/X.Y.Z.md): bump version at start of work and write release notes continuously for staging and main releases."
4
4
---
5
5
6
6
# Release changelog (Metaboost)
@@ -11,13 +11,15 @@ When you ship or finish work that is **worth calling out** in preprod/prod relea
11
11
12
12
## What to update
13
13
14
-
- Edit [docs/operations/CHANGELOG-UPCOMING.md](../../docs/operations/CHANGELOG-UPCOMING.md) on **`develop` only** (promotion branches are triggers only—see [PUBLISH.md](../../PUBLISH.md)).
14
+
- Use [docs/development/CHANGELOGS/X.Y.Z.md](../../docs/development/CHANGELOGS/) where `X.Y.Z` is the current base version in `package.json`.
15
+
- Bump version **at the start of work** with `scripts/publish/bump-version.sh` so `docs/development/CHANGELOGS/X.Y.Z.md` exists before implementation.
16
+
- Keep updating that same semver file continuously as work lands.
15
17
16
18
## Conventions
17
19
18
20
1.**Order** — **Most important first** (safety, security, data, then big features, then smaller fixes; skip low-signal items).
19
21
2.**Wording** — Short, clear lines; link issues/PRs if useful.
20
-
3.**Markers** — Put new bullets between `UPCOMING-AUTO-START`and `UPCOMING-AUTO-END` so post-publish automation can reset that block via PR. Notes **above** the block are not auto-cleared.
22
+
3.**Single source** — Staging prereleases and main production releases both read the same `X.Y.Z.md` file.
21
23
4.**Brevity** — Concise, not a duplicate of git log.
Automated follow-up to a successful [publish](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) on `${{ github.ref_name }}`.
how are these PRs supposed to work? i think we need a different, and simpler system. instead of using a "recent" file to accumulate changelog, the changelog should simply be written by the LLM continuosly as it goes. to make this work, we will now make it a part of our process to bump the version at the BEGINNING of work, rather than at the end of work. since we bump at the beginning, LLM will know which changelog to write as we go. make sure there are vs code and cursor skills to remind you of this. the change logs should go in their own separate files named after the semver. we do not need separate staging changelogs, these changelogs represent the version number which will eventually be graduated to production anyway
6
+
7
+
https://github.com/podverse/podverse/pull/154
8
+
9
+
Start implementation
10
+
11
+
#### Key Decisions
12
+
13
+
- Switched from `CHANGELOG-UPCOMING.md` accumulation to semver-named changelog files at `docs/development/CHANGELOGS/X.Y.Z.md`.
14
+
- Updated staging and main publish workflows to read release notes from the base semver changelog file.
**Changelog (staging only):**The**staging**workflow reads [`docs/operations/CHANGELOG-UPCOMING.md`](operations/CHANGELOG-UPCOMING.md) on the build commit, creates a **prerelease**GitHub Release, and opens a **PR to `develop`** to append [`CHANGELOG-ARCHIVE/`](operations/CHANGELOG-ARCHIVE/DOCS-OPERATIONS-CHANGELOG-ARCHIVE.md) and clear the `UPCOMING` auto block. See the [release-changelog skill](../.cursor/skills/release-changelog/SKILL.md). The **main** workflow uses `CHANGELOG-UPCOMING` on the promote commit for the RTM release body when present.
13
+
**Changelog:**Both**staging**prereleases (`X.Y.Z-staging.N`) and **main**RTM releases (`X.Y.Z`) read release notes from [`docs/development/CHANGELOGS/X.Y.Z.md`](development/CHANGELOGS/). Bump the base version at the start of work with `scripts/publish/bump-version.sh` so the semver changelog file exists immediately, then update that file continuously as work lands.
14
14
15
15
**Promotion:** all product changes land on **`develop`**. **Promotion branches** (mirrors) are: **`sync-develop-to-staging.sh`**, **`sync-develop-to-main.sh`**. There is no **`beta`** publish line.
16
16
@@ -30,7 +30,7 @@ Pre-release image tags use **`X.Y.Z-staging.N`** and a floating **`:staging`** s
30
30
31
31
## What the staging branch is for
32
32
33
-
The **`staging`** branch is the preprod build line. Default development branch remains **`develop`**. When you fast-forward `staging` from `develop` (or run **Publish (staging)** via **Run workflow** on a chosen ref), the GitHub Action validates, reserves `X.Y.Z-staging.N`, builds images, pushes to GHCR, verifies tags, creates a matching **Git tag**, and creates/updates a **prerelease GitHub Release**(see [CHANGELOG-UPCOMING](operations/CHANGELOG-UPCOMING.md)).
33
+
The **`staging`** branch is the preprod build line. Default development branch remains **`develop`**. When you fast-forward `staging` from `develop` (or run **Publish (staging)** via **Run workflow** on a chosen ref), the GitHub Action validates, reserves `X.Y.Z-staging.N`, builds images, pushes to GHCR, verifies tags, creates a matching **Git tag**, and creates/updates a **prerelease GitHub Release**from `docs/development/CHANGELOGS/X.Y.Z.md`.
34
34
35
35
No Kubernetes manifests are applied from this repo to remote clusters. Clusters consume image pins from your **GitOps** repository (e.g. Argo CD `Application``targetRevision`, Kustomize `newTag`).
0 commit comments