This project uses tag-based releases. Production deployments only happen when you create a Git tag.
# 1. Ensure main branch is ready
git checkout main
git pull
# 2. Create and push a version tag
git tag v1.0.0
git push origin v1.0.0This triggers the production deployment workflow automatically.
- Push commits to
mainbranch - CI runs automatically (tests + build)
- No deployment happens
When you're ready to deploy to production:
# Create a tag following semantic versioning
git tag v1.2.3
# Push the tag to GitHub
git push origin v1.2.3The tag push triggers .github/workflows/deploy.yml:
- ✅ Run tests
- ✅ Build application
- ✅ Run database migrations
- ✅ Deploy to Cloudflare Workers (openboot.dev)
Check GitHub Actions: https://github.com/openbootdotdev/openboot.dev/actions
Follow Semantic Versioning:
- v1.0.0 → Major release (breaking changes)
- v1.1.0 → Minor release (new features, backward compatible)
- v1.1.1 → Patch release (bug fixes)
# Bug fix
git tag v1.0.1
git push origin v1.0.1
# New feature
git tag v1.1.0
git push origin v1.1.0
# Breaking change
git tag v2.0.0
git push origin v2.0.0If a deployment has issues:
# Option 1: Deploy previous version
git push origin v1.0.0 --force-with-lease
# Option 2: Create hotfix tag
git tag v1.0.2
git push origin v1.0.2You can also trigger deployment manually from GitHub:
- Go to Actions → Deploy to Production
- Click "Run workflow"
- Select
mainbranch - Click "Run workflow"
Before tagging a release:
- All tests passing on
main - Migrations tested locally
- Breaking changes documented
- Version number follows semver
- Previous version tagged (for rollback reference)
Database migrations run automatically before deployment. Ensure:
- Migration is backward compatible (if possible)
- Migration tested with
wrangler d1 migrations apply openboot --local - Large migrations coordinated with zero-downtime deployment
Q: Can I delete a tag?
# Delete local tag
git tag -d v1.0.0
# Delete remote tag
git push origin :refs/tags/v1.0.0Q: What happens if deployment fails?
- GitHub Actions will show the error
- Previous version remains deployed
- Fix the issue and create a new tag
Q: How do I see what's deployed?
- Check latest tag:
git describe --tags --abbrev=0 - View deployment history in GitHub Actions