This project now features fully automated releases that trigger when the version in package.json changes!
- On every push: GitHub Actions checks if the version in
package.jsonhas changed - If version changed: Automatically builds the app, creates a git tag, and publishes a GitHub release
- If version unchanged: Just builds the app to test that everything compiles correctly
# For patch version (1.0.0 -> 1.0.1)
npm run release:patch
# For minor version (1.0.0 -> 1.1.0)
npm run release:minor
# For major version (1.0.0 -> 2.0.0)
npm run release:majorThese scripts will:
- Bump the version in
package.json - Push the changes to GitHub
- GitHub Actions automatically detects the version change and creates the release!
# Bump version manually
npm version patch # or minor, major
# Push changes
git push
# GitHub Actions will automatically handle the rest!You can even manually edit the version in package.json, commit, and push - the workflow will detect the change and create a release automatically!
When a version change is detected, GitHub Actions will:
- Build the Windows executable
- Create a git tag (e.g.,
v1.0.1) - Create a GitHub release with:
- NSIS Installer (
.exe) - Standard Windows installer - Portable Executable (
.exe) - Standalone executable - Auto-generated release notes
- NSIS Installer (
The new workflow includes these jobs:
- check-version: Detects if version in
package.jsonchanged - build: Builds the app and uploads artifacts (always runs)
- create-tag-and-release: Creates tag and GitHub release (only if version changed)
- build-only: Test build without release (only if version unchanged)
# Current version is 1.0.0
npm run release:patch
# This will:
# 1. Change package.json version to 1.0.1
# 2. Commit the change
# 3. Push to GitHub
# 4. GitHub Actions detects version change
# 5. Builds Windows executable
# 6. Creates tag v1.0.1
# 7. Creates GitHub release with executables- Check the Actions tab to see the build progress
- Check the Releases section to see published releases
- Each release will include download links for Windows executables
✅ Fully Automated: Just bump version and push
✅ No Manual Tagging: Tags are created automatically
✅ Version Control: Only creates releases when version actually changes
✅ Consistent: Same process every time
✅ Safe: Still builds and tests on every push
If releases aren't being created:
- Ensure the version in
package.jsonactually changed - Check the Actions tab for any workflow errors
- Verify you have push permissions to the repository
- Make sure the workflow file is in the correct location
To test builds locally without releasing:
npm ci
npm run build:renderer
npm run build