forked from Qortal/q-blog
1.6 KiB
1.6 KiB
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
- Format first:
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(ifdist/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.zipto Qortal once the Gitea release is live. - Announce using
docs/USER_ANNOUNCEMENT_vX.Y.Z.mdas 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.