mirror of
https://github.com/mwisnowski/mtg_python_deckbuilder.git
synced 2026-01-11 20:18:51 +01:00
101 lines
2.6 KiB
Markdown
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
|
|
```
|