From dda00f63e6c78ff3c47f60c4658a9875883e25ae Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 26 Jul 2025 23:58:48 +0100 Subject: [PATCH] CI: Remove frontmatter from release notes --- .github/workflows/ci.yml | 11 ++++++----- .gitignore | 1 + npm/release-notes.js | 9 +++++++++ package.json | 1 + 4 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 npm/release-notes.js diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ef2701aa..605cea29 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -313,12 +313,13 @@ jobs: path: npm - name: Create npm workspace tarball run: tar -vcaf npm-workspace.tar.xz --directory npm --exclude=from-local-build.js . - - name: Parse semver for tag + - uses: actions/setup-node@v4 if: startsWith(github.ref, 'refs/tags/v') - uses: madhead/semver-utils@v4 - id: semver with: - version: ${{ github.ref_name }} + node-version: "24" + - name: Create release notes + if: startsWith(github.ref, 'refs/tags/v') + run: npm run package-release-notes - name: Create GitHub release for tag if: startsWith(github.ref, 'refs/tags/v') uses: ncipollo/release-action@v1 @@ -327,4 +328,4 @@ jobs: artifactContentType: application/x-xz prerelease: ${{ contains(github.ref, '-rc') }} makeLatest: ${{ !contains(github.ref, '-rc') }} - bodyFile: "docs/src/content/docs/changelog/v${{ steps.semver.outputs.major }}.${{ steps.semver.outputs.minor }}.${{ steps.semver.outputs.patch }}.md" + bodyFile: release-notes.md diff --git a/.gitignore b/.gitignore index 6959cf62..82f73b3f 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ package-lock.json .firebase .astro docs/dist +release-notes.md diff --git a/npm/release-notes.js b/npm/release-notes.js new file mode 100644 index 00000000..13cc1877 --- /dev/null +++ b/npm/release-notes.js @@ -0,0 +1,9 @@ +const { readFileSync, writeFileSync } = require('node:fs'); + +const { version } = require('./package.json'); +const versionWithoutPreRelease = version.replace(/-rc\.\d+$/, ''); + +const markdown = readFileSync(`./docs/src/content/docs/changelog/v${versionWithoutPreRelease}.md`, 'utf8'); +const markdownWithoutFrontmatter = markdown.replace(/---\n.*?\n---\n+/s, ''); + +writeFileSync('./release-notes.md', markdownWithoutFrontmatter); diff --git a/package.json b/package.json index 0371408b..faa7da7e 100644 --- a/package.json +++ b/package.json @@ -101,6 +101,7 @@ "test-leak": "./test/leak/leak.sh", "test-types": "tsd", "package-from-local-build": "node npm/from-local-build.js", + "package-release-notes": "node npm/release-notes.js", "docs-build": "node docs/build.mjs", "docs-serve": "cd docs && npm start", "docs-publish": "cd docs && npm run build && npx firebase-tools deploy --project pixelplumbing --only hosting:pixelplumbing-sharp"