Tab Canopy uses Changesets for automated versioning and publishing, similar to @firtoz/fullstack-toolkit.
Make your code changes as usual and commit them.
Describe your changes by running:
bun changesetThis will prompt you to:
- Select which packages changed (
@tabcanopy/extension) - Choose the version bump type:
- patch: Bug fixes (0.1.0 → 0.1.1)
- minor: New features (0.1.0 → 0.2.0)
- major: Breaking changes (0.1.0 → 1.0.0)
- Write a summary of the changes (shows in CHANGELOG)
This creates a markdown file in .changeset/ describing your changes.
git add .
git commit -m "feat: add new feature"
git pushGitHub Actions automatically:
- Runs the Release workflow
- Checks if there are changesets
- Creates/updates a "Version Packages" PR with:
- Version bumps in
package.json - Updated
CHANGELOG.mdwith your descriptions - Combined changesets into release notes
- Version bumps in
- Automatically publishes to Chrome Web Store (as draft)
- Uploads the extension with the new version
- Adds job summary with link to manually publish
# 1. Make your changes
git checkout -b feature/new-tab-search
# ... make changes ...
git commit -m "feat: add tab search functionality"
# 2. Create a changeset
bun changeset
# Select: minor
# Write: Add tab search functionality with keyboard shortcuts
# 3. Push to main (or via PR)
git push origin feature/new-tab-search
# Create PR, get reviewed, merge
# 4. GitHub Actions creates "Version Packages" PR
# You see:
# - @tabcanopy/extension: 0.1.1 → 0.2.0
# - CHANGELOG.md updated with your description
# 5. Merge the "Version Packages" PR
# GitHub Actions automatically:
# ✅ Uploads v0.2.0 to Chrome Web Store as draft
# 📝 Provides link to manually publishAfter the automated upload:
- Go to Chrome Web Store Developer Dashboard
- Click on Tab Canopy
- Review the changes
- Click "Submit for review"
- Wait for Google's approval (usually 1-3 days)
- Version bumps handled automatically
- CHANGELOG generated from changesets
- No manual version management
- Extension uploaded as draft (not auto-published)
- You review and manually publish
- Perfect for alpha/experimental releases
- Rich changelogs with GitHub integration
- Links to PRs and commits
- Clear release notes for users
# Create a changeset describing your changes
bun changeset
# View status of pending changesets
bun changeset status
# Manually version (usually done by GitHub Actions)
bun run version
# Manually release (usually done by GitHub Actions)
bun run releaseYou forgot to run bun changeset after making changes. Create one before pushing.
Check the Actions tab for errors. Ensure you have changesets in .changeset/.
Check that the service account is still added to Chrome Web Store dashboard and secrets are configured.
Firefox publishing is currently a stub. When ready to implement:
- Update
scripts/publish-firefox.tswith Firefox Add-ons API - Add Firefox secrets to GitHub
- The workflow will automatically include Firefox in releases
See PUBLISHING.md for detailed Firefox setup instructions.