forked from Qortal/q-blog
64 lines
1.6 KiB
Markdown
64 lines
1.6 KiB
Markdown
# Releasing — Q-Blog
|
||
|
||
This summarizes the practical steps we use today to publish a release via Gitea and attach versioned artifacts.
|
||
|
||
## Pre-flight
|
||
|
||
- Ensure CI is green on the branch to release.
|
||
- Verify locally:
|
||
- Format first: `npm run format:fix`
|
||
- `npm run typecheck && npm run lint:full && npm run test:run`
|
||
- Optional production build: `npm run build`
|
||
|
||
## Create archives
|
||
|
||
Use our helper to produce versioned source and dist archives under `release/`:
|
||
|
||
```
|
||
bash scripts/release/build-archive.sh --with-build --outdir release --name q-blog
|
||
```
|
||
|
||
This creates:
|
||
|
||
- `release/q-blog-vX.Y.Z-src.zip` (always)
|
||
- `release/q-blog-vX.Y.Z-dist.zip` (if `dist/` exists)
|
||
|
||
## Tag
|
||
|
||
If the `package.json` version is already correct, tag it:
|
||
|
||
```
|
||
git tag -a vX.Y.Z -m "Q-Blog vX.Y.Z"
|
||
git push origin --tags
|
||
```
|
||
|
||
Or bump + tag via script:
|
||
|
||
```
|
||
bash scripts/release/bump-and-tag.sh X.Y.Z "Q-Blog vX.Y.Z"
|
||
```
|
||
|
||
## Create/Update Gitea Release
|
||
|
||
With `.gitea.env` configured, run:
|
||
|
||
```
|
||
bash scripts/tracker/with_env.sh .gitea.env \
|
||
bash scripts/release/create-gitea-release.sh X.Y.Z \
|
||
--title "Q-Blog vX.Y.Z" \
|
||
--notes docs/RELEASE_NOTES_vX.Y.Z.md \
|
||
--branch update
|
||
```
|
||
|
||
By default, only the current version’s zips are uploaded (`release/*-vX.Y.Z-*.zip`). Override with `--assets` if needed.
|
||
|
||
## Publish to Qortal
|
||
|
||
- Upload the `*-dist.zip` to Qortal once the Gitea release is live.
|
||
- Announce using `docs/USER_ANNOUNCEMENT_vX.Y.Z.md` as a base.
|
||
|
||
## Notes
|
||
|
||
- The release scripts avoid attaching older zip files by default.
|
||
- For re-runs where artifacts already exist, the API calls are idempotent: release is patched and assets re-uploaded as needed.
|