mirror of
https://github.com/LukeHagar/usage-statistics.git
synced 2025-12-06 04:21:55 +00:00
3.3 KiB
3.3 KiB
Release Process
This repository has two release workflows to make publishing new versions easy and automated.
🚀 Release Workflows
1. Manual Release (release.yml)
When to use: When you want to manually control the release process and version bump.
How to trigger:
- Go to the Actions tab in GitHub
- Select Release workflow
- Click Run workflow
- Choose the version bump type:
patch- Bug fixes and minor changes (1.0.0 → 1.0.1)minor- New features (1.0.0 → 1.1.0)major- Breaking changes (1.0.0 → 2.0.0)
What it does:
- ✅ Installs dependencies and builds the action
- ✅ Bumps version in
package.json - ✅ Creates a new GitHub release with tag
- ✅ Uploads built assets to the release
- ✅ Commits version bump back to repository
- ✅ Updates test workflow to use new version
2. Automated Release (auto-release.yml)
When to use: For automatic releases on every push to main.
How to trigger: Push any commits to main branch.
What it does:
- ✅ Automatically creates a new patch release
- ✅ Bumps version in package.json
- ✅ Creates release with commit history
- ✅ Uploads built assets
- ✅ Tags and commits version bump
📦 Release Assets
Each release includes:
action.js- Main action entry pointcollectors.zip- All collector modulessummaries.zip- All summary modulesutils.js- Utility functions
🔄 Version Management
Current Version
The current version is stored in package.json and follows semantic versioning:
- Major (X.0.0): Breaking changes
- Minor (0.X.0): New features, backward compatible
- Patch (0.0.X): Bug fixes, backward compatible
Version Tags
Releases are tagged with v prefix:
v1.0.0v1.1.0v2.0.0
Action Usage
Users can reference specific versions:
uses: LukeHagar/usage-statistics@v1.0.0 # Specific version
uses: LukeHagar/usage-statistics@v1 # Latest v1.x.x
uses: LukeHagar/usage-statistics@main # Latest from main branch
🛠️ Development Workflow
For Feature Development
- Create feature branch
- Make changes and commit
- Push to main branch
- Automated release will trigger automatically
For Manual Releases
- Make changes and commit
- Go to Actions → Release
- Choose version bump type
- Run workflow
For Quick Updates
- Make changes and commit
- Push to main branch
- Automated release creates patch version
📋 Release Checklist
Before releasing:
- All tests pass
- Action builds successfully
- Native modules compile correctly
- README is up to date
- Version is appropriate for changes
After release:
- Verify release assets are uploaded
- Check that action works with new version
- Update documentation if needed
- Notify users of breaking changes (if any)
🚨 Breaking Changes
When making breaking changes:
- Use
BREAKING CHANGE:in commit message - Update README with migration guide
- Consider creating a migration guide in release notes
- Notify users through GitHub discussions or issues
📈 Release History
Check the Releases page for:
- Complete release history
- Downloadable assets
- Release notes and changelog
- Migration guides for breaking changes