chore(changelog): retire CHANGELOG.md as a dependency
The update dialog (server and desktop) now reads changelog/index.json and renders title, intro and groups; the release workflow builds the GitHub Release body and name from changelog/<version>.md; oc-dev, the issue-intake agent, AGENTS.md and the changelog skill no longer point at the file. CHANGELOG.md stays as a legacy copy for installs up to 1.22.1, which fetch it for update notes. The generator refreshes it while it exists and never recreates it, so deleting it after 2026-09-19 retires it for good. Generated outputs hold released versions only, so editing unreleased.md never makes them stale: agents write that file and nothing else, and oc-dev create-release does the generation. Claude-Session: https://claude.ai/code/session_01VqV56Hez25hTxXH4ipJfzH
This commit is contained in:
@@ -48,26 +48,12 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Extract changelog for release
|
||||
id: release_notes
|
||||
env:
|
||||
VERSION: ${{ steps.get_version.outputs.version }}
|
||||
run: |
|
||||
node - <<'NODE'
|
||||
const fs = require('fs');
|
||||
const version = process.env.VERSION;
|
||||
const changelogPath = 'CHANGELOG.md';
|
||||
if (!fs.existsSync(changelogPath)) {
|
||||
throw new Error('CHANGELOG.md not found; add it before releasing.');
|
||||
}
|
||||
const changelog = fs.readFileSync(changelogPath, 'utf8');
|
||||
const sections = changelog.split(/^## /m);
|
||||
const section = sections.find(s => s.startsWith('[' + version + ']'));
|
||||
if (!section) {
|
||||
throw new Error('Changelog section [' + version + '] not found. Add a section like "## [' + version + '] - YYYY-MM-DD".');
|
||||
}
|
||||
const content = ('## ' + section).trim();
|
||||
fs.mkdirSync('artifacts', { recursive: true });
|
||||
fs.writeFileSync('artifacts/release-notes.md', content + '\n');
|
||||
NODE
|
||||
title=$(node scripts/changelog/release-notes.mjs "$VERSION" artifacts/release-notes.md)
|
||||
echo "name=OpenChamber v$VERSION: $title" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Create GitHub Release
|
||||
id: create_release
|
||||
@@ -77,7 +63,7 @@ jobs:
|
||||
draft: true
|
||||
generate_release_notes: false
|
||||
body_path: artifacts/release-notes.md
|
||||
name: OpenChamber v${{ steps.get_version.outputs.version }}
|
||||
name: ${{ steps.release_notes.outputs.name }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user