Release checklist
Use this checklist before creating each GitHub release.
Automated Releases (Recommended)
Section titled “Automated Releases (Recommended)”This plugin uses GitHub Actions to automate releases. When you push a tag, it automatically:
- Builds the plugin
- Creates a GitHub release
- Attaches
main.js,manifest.json, andstyles.css
How to Release (Automated)
Section titled “How to Release (Automated)”# 1. Update version in manifest.json and versions.json# Edit manifest.json: "version": "0.1.1"# Edit versions.json: add "0.1.1": "0.15.0"
# 2. Commit the version bumpgit add manifest.json versions.jsongit commit -m "Bump version to 0.1.1"
# 3. Create and push the tag (this triggers the release)git tag 0.1.1git push origin maingit push origin 0.1.1That’s it! GitHub Actions handles the rest. Check the “Actions” tab on GitHub to monitor progress.
GitHub Actions Workflow
Section titled “GitHub Actions Workflow”The workflow file is at .github/workflows/release.yml. It:
- Triggers on any tag push
- Sets up Node.js and Bun
- Installs dependencies
- Builds the plugin
- Creates a release with the required files
Important: You must enable workflow permissions first:
- Go to: https://github.com/cybersader/obsidian-folder-tag-sync/settings/actions
- Scroll to “Workflow permissions”
- Select “Read and write permissions”
- Click Save
Manual Releases (Fallback)
Section titled “Manual Releases (Fallback)”If GitHub Actions fails or you need manual control:
- Go to: https://github.com/cybersader/obsidian-folder-tag-sync/releases/new
- Fill in:
- Tag: Select the tag you pushed (e.g.,
0.1.1) - Release title:
0.1.1 - Description: Release notes
- Tag: Select the tag you pushed (e.g.,
- Attach files from your local build:
main.js(REQUIRED)manifest.json(REQUIRED)styles.css(REQUIRED)
- Click “Publish release”
Pre-Release Checks
Section titled “Pre-Release Checks”Code Quality
Section titled “Code Quality”- All tests passing (
bun test) - No TypeScript errors (
bun run build) - No console.log statements in production code
- No personal information in code or docs
Documentation
Section titled “Documentation”- README.md is up to date
- All new features documented
- Breaking changes clearly noted
Version Management
Section titled “Version Management”- manifest.json version bumped
- versions.json updated with new version
- Version follows semantic versioning
Testing
Section titled “Testing”- Tested in Obsidian desktop
- Tested in Obsidian mobile (or confirmed desktop-only)
- Tested with clean vault
- No data loss scenarios
Version Numbering Guide
Section titled “Version Numbering Guide”- 0.1.0 - First beta release, basic features working
- 0.1.X - Bug fixes and minor improvements
- 0.2.0 - New features added
- 0.X.0 - Major feature milestones
- 1.0.0 - Production-ready, fully tested, stable
Common Mistakes to Avoid
Section titled “Common Mistakes to Avoid”- Don’t commit main.js to the repo (only in releases)
- Don’t forget to update versions.json
- Don’t create releases without testing
- Don’t skip version numbering (0.1.0 → 0.3.0)
- Don’t include test vault data in releases
Quick Command Reference
Section titled “Quick Command Reference”# Build locally (for testing)bun run build
# Run testsbun test
# Full release workflowgit add manifest.json versions.jsongit commit -m "Bump version to X.Y.Z"git tag X.Y.Zgit push origin maingit push origin X.Y.Z# GitHub Actions handles the rest!