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

2.6 KiB

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)

# 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)

# 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

# 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