1.3 KiB
Release
GitHub Releases attach only main.js, manifest.json, and styles.css as Obsidian install assets. LICENSE and NOTICE are kept in the repository and source archives for license distribution.
Create a release by preparing the next version, editing the generated release notes, committing the release changes, then running the preflight before pushing the matching tag:
npm run release:prepare -- X.Y.Z
# Edit .github/release-notes/X.Y.Z.md.
git status --short
git add package.json package-lock.json manifest.json versions.json .github/release-notes/X.Y.Z.md
git commit -m "Bump version to X.Y.Z"
npm run release:preflight
git tag X.Y.Z
git push origin main X.Y.Z
release:prepare updates the version files and creates a ## Changes release notes template. release:preflight verifies the local Git state, release metadata, lockfile, and full build once after the release commit is on main.
The release workflow runs npm ci, npm run release:check, npm run check, attaches the install assets, and generates GitHub artifact attestations for them. The release notes file is required and must contain a single ## Changes section. If a tag-triggered release fails before creating the GitHub Release, fix the commit, move the local tag with git tag -f X.Y.Z, then update the remote tag with git push --force origin X.Y.Z.