-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationinfrastructure
Description
Summary
Establish a standardized git tagging and GitHub release workflow to support automated deployments.
Related: #174 (AWS ECS Deployment)
Context
The AWS deployment strategy (#174) uses git tags to trigger production deployments:
*-stabletags → Production ECR + ECS deploy- Push to
main→ Optional staging deploy
This issue defines the release workflow that feeds into that deployment pipeline.
Proposed Workflow
Versioning Scheme
Semantic Versioning (MAJOR.MINOR.PATCH):
v1.0.0- Initial production releasev1.1.0- New features (backwards compatible)v1.1.1- Bug fixesv2.0.0- Breaking changes
Tag Suffix Convention
| Tag | Purpose | Deploys To |
|---|---|---|
v1.2.3 |
Release candidate | Staging (if enabled) |
v1.2.3-stable |
Production release | Production |
Release Process
flowchart LR
A[Feature PRs] --> B[main branch]
B --> C[Create tag v1.2.3]
C --> D[Test in staging]
D --> E[Promote: v1.2.3-stable]
E --> F[Production deploy]
F --> G[GitHub Release]
- Merge to main - Features/fixes merged via PR
- Create release tag -
git tag v1.2.3 && git push --tags - Test in staging - Verify deployment works
- Promote to stable -
git tag v1.2.3-stable && git push --tags - Create GitHub Release - With changelog
Tasks
Git Workflow
- Document versioning scheme in CONTRIBUTING.md
- Add tag naming convention guidelines
- Create release checklist template
GitHub Actions
- Add workflow to create GitHub Release on
*-stabletags - Auto-generate changelog from PR titles/commits
- Optionally: Release drafter for draft releases
Optional Automation
-
make release VERSION=1.2.3- Create release tag -
make promote VERSION=1.2.3- Add-stablesuffix - Pre-release validation (tests must pass)
Example Workflow
# After merging features to main
git checkout main && git pull
# Create release candidate
git tag v1.2.3
git push --tags
# → Triggers staging deploy (if enabled)
# After testing, promote to production
git tag v1.2.3-stable
git push --tags
# → Triggers production deploy + GitHub ReleaseAcceptance Criteria
- Versioning scheme documented
- Tag convention documented (
v*andv*-stable) - GitHub Actions creates releases on stable tags
- Releases include changelog/release notes
- Team understands the workflow
Priority
Medium - Not a strict blocker for AWS deployment (can manually tag), but should be done early in Phase 4 (CI/CD Pipeline).
References
- AWS Deployment Epic: [Epic] AWS ECS Production Deployment with CDK #174
- Semantic Versioning
- GitHub Release Drafter
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationinfrastructure