Skip to content

Commit 2654eb6

Browse files
committed
ci(release): attach changelog and release docs to GitHub Release
Stage CHANGELOG and docs/releases/v* notes + asset manifest as okcode-*.md uploads alongside desktop artifacts. Made-with: Cursor
1 parent 48294c0 commit 2654eb6

4 files changed

Lines changed: 35 additions & 2 deletions

File tree

.github/workflows/release.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,26 @@ jobs:
285285
release-assets/latest-mac-x64.yml
286286
rm -f release-assets/latest-mac-x64.yml
287287
288+
- name: Stage documentation for release assets
289+
env:
290+
RELEASE_VERSION: ${{ needs.preflight.outputs.version }}
291+
run: |
292+
set -euo pipefail
293+
v="${RELEASE_VERSION}"
294+
notes="docs/releases/v${v}.md"
295+
manifest="docs/releases/v${v}/assets.md"
296+
if [[ ! -f "$notes" ]]; then
297+
echo "Missing release notes: $notes" >&2
298+
exit 1
299+
fi
300+
if [[ ! -f "$manifest" ]]; then
301+
echo "Missing asset manifest: $manifest" >&2
302+
exit 1
303+
fi
304+
cp CHANGELOG.md release-assets/okcode-CHANGELOG.md
305+
cp "$notes" release-assets/okcode-RELEASE-NOTES.md
306+
cp "$manifest" release-assets/okcode-ASSETS-MANIFEST.md
307+
288308
- name: Publish release
289309
uses: softprops/action-gh-release@v2
290310
with:
@@ -301,6 +321,9 @@ jobs:
301321
release-assets/*.exe
302322
release-assets/*.blockmap
303323
release-assets/latest*.yml
324+
release-assets/okcode-CHANGELOG.md
325+
release-assets/okcode-RELEASE-NOTES.md
326+
release-assets/okcode-ASSETS-MANIFEST.md
304327
fail_on_unmatched_files: true
305328

306329
finalize:

docs/release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ This document covers how to run desktop releases from one tag, first without sig
1111
- macOS `x64` DMG
1212
- Linux `x64` AppImage
1313
- Windows `x64` NSIS installer
14-
- Publishes one GitHub Release with all produced files.
14+
- Publishes one GitHub Release with all produced files (desktop installers, updater metadata, and copies of `CHANGELOG.md` plus `docs/releases/vX.Y.Z.md` and `docs/releases/vX.Y.Z/assets.md` as `okcode-*.md` attachments).
1515
- Versions with a suffix after `X.Y.Z` (for example `1.2.3-alpha.1`) are published as GitHub prereleases.
1616
- Only plain `X.Y.Z` releases are marked as the repository's latest release.
1717
- Includes Electron auto-update metadata (for example `latest*.yml` and `*.blockmap`) in release assets.

docs/releases/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,5 @@ Human-readable notes and asset inventories for tagged releases.
77
| [0.0.1](v0.0.1.md) | First public tag | [manifest](v0.0.1/assets.md) |
88

99
The repository root [CHANGELOG.md](../../CHANGELOG.md) summarizes versions in Keep a Changelog form.
10+
11+
Each release workflow also uploads **`okcode-CHANGELOG.md`**, **`okcode-RELEASE-NOTES.md`**, and **`okcode-ASSETS-MANIFEST.md`** to the GitHub Release (see [.github/workflows/release.yml](../../.github/workflows/release.yml)).

docs/releases/v0.0.1/assets.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,15 @@
22

33
Binaries are **not** stored in this git repository; they are attached to the [GitHub Release for `v0.0.1`](https://github.com/OpenKnots/okcode/releases/tag/v0.0.1) by the [Release Desktop workflow](../../.github/workflows/release.yml).
44

5-
After the workflow completes, expect artifacts similar to the following (exact names may include the product name `OK Code` and version `0.0.1`).
5+
The GitHub Release also includes **documentation attachments** (same content as in-repo, stable filenames for download):
6+
7+
| File | Source in repo |
8+
| --------------------------- | ------------------------------------- |
9+
| `okcode-CHANGELOG.md` | [CHANGELOG.md](../../../CHANGELOG.md) |
10+
| `okcode-RELEASE-NOTES.md` | [v0.0.1.md](../v0.0.1.md) |
11+
| `okcode-ASSETS-MANIFEST.md` | This file |
12+
13+
After the workflow completes, expect **installer and updater** artifacts similar to the following (exact names may include the product name `OK Code` and version `0.0.1`).
614

715
## Desktop installers and payloads
816

0 commit comments

Comments
 (0)