mtg_python_deckbuilder/GITHUB_RELEASE_CHECKLIST.md
2025-08-21 10:50:22 -07:00

101 lines
2.6 KiB
Markdown

# GitHub Release Checklist
## Pre-Release Preparation
### 1. Version Management
- [ ] Update version in `pyproject.toml` (currently 1.0.0)
- [ ] Update version in `__init__.py` if applicable
- [ ] Update any hardcoded version references
### 2. Documentation Updates
- [ ] Update README.md with latest features
- [ ] Update DOCKER.md if needed
- [ ] Create/update CHANGELOG.md
- [ ] Verify all documentation is current
### 3. Code Quality
- [ ] Run tests: `python -m pytest`
- [ ] Check type hints: `mypy code/`
- [ ] Lint code if configured
- [ ] Verify Docker builds: `docker build -t mtg-deckbuilder .`
### 4. Final Testing
- [ ] Test Docker container functionality
- [ ] Test from fresh clone
- [ ] Verify all major features work
- [ ] Check file persistence in Docker
## Release Process
### 1. GitHub Release Creation
1. Go to: https://github.com/mwisnowski/mtg_python_deckbuilder/releases
2. Click "Create a new release"
3. Configure release:
- **Tag version**: `v1.0.0` (create new tag)
- **Target**: `main` branch
- **Release title**: `MTG Python Deckbuilder v1.0.0`
- **Description**: Use content from RELEASE_NOTES.md
### 2. Release Assets (Optional)
Consider including:
- [ ] Source code (automatic)
- [ ] Docker image reference
- [ ] Windows executable (if using PyInstaller)
- [ ] Requirements file
### 3. Docker Image Release (Optional)
```bash
# Build and tag for GitHub Container Registry
docker build -t ghcr.io/mwisnowski/mtg-deckbuilder:1.0.0 .
docker build -t ghcr.io/mwisnowski/mtg-deckbuilder:latest .
# Login to GitHub Container Registry
echo $GITHUB_TOKEN | docker login ghcr.io -u mwisnowski --password-stdin
# Push images
docker push ghcr.io/mwisnowski/mtg-deckbuilder:1.0.0
docker push ghcr.io/mwisnowski/mtg-deckbuilder:latest
```
### 4. PyPI Release (Optional)
```bash
# Build package
python -m build
# Upload to PyPI
python -m twine upload dist/*
```
## Post-Release
### 1. Documentation Updates
- [ ] Update README.md with release badge
- [ ] Add installation instructions
- [ ] Update Docker Hub description if applicable
### 2. Communication
- [ ] Announce on relevant platforms
- [ ] Update project status
- [ ] Create next milestone/version
### 3. Cleanup
- [ ] Merge any release branches
- [ ] Update development branch
- [ ] Plan next version features
## Quick Commands
```bash
# Check current version
grep version pyproject.toml
# Test Docker build
docker build -t mtg-deckbuilder-test .
# Run final tests
python -m pytest
mypy code/
# Create GitHub release (using gh CLI)
gh release create v1.0.0 --title "MTG Python Deckbuilder v1.0.0" --notes-file RELEASE_NOTES.md
```