Welcome! This is your central hub for all release-related documentation.
→ Read QUICK_START_RELEASE.md
→ Read RELEASE_GUIDE.md
→ Read RELEASE_WORKFLOW.md
→ Edit CHANGELOG.md
| File | Purpose | When to Read |
|---|---|---|
| QUICK_START_RELEASE.md | Fast-track guide to your first release | Before first release |
| RELEASE_GUIDE.md | Comprehensive best practices | When you want deep understanding |
| RELEASE_SUMMARY.md | Overview of entire setup | After setup, for reference |
| RELEASE_WORKFLOW.md | Visual workflow diagrams | When confused about process |
| CHANGELOG.md | Track version changes | Before every release |
| File | Purpose | When to Use |
|---|---|---|
| .github/RELEASE_TEMPLATE.md | Template for release notes | When creating GitHub release |
| build_local.py | Local build script | Before releasing (testing) |
| version.txt | Current version reference | For version tracking |
| File | Purpose | When to Touch |
|---|---|---|
| .github/workflows/release.yml | GitHub Actions automation | Rarely (already configured) |
| .github/PULL_REQUEST_TEMPLATE.md | PR template | When accepting contributions |
- Read
QUICK_START_RELEASE.md(5 min) - Update
CHANGELOG.md(3 min) - Follow the 3-step release process (5 min)
- Wait for GitHub Actions (15 min automated)
- Publish! (2 min)
Total time: ~30 minutes (mostly automated)
- Read
RELEASE_SUMMARY.md(10 min) - Read
RELEASE_GUIDE.md(30 min) - Read
RELEASE_WORKFLOW.md(10 min) - Skim
.github/workflows/release.yml(5 min) - Test
build_local.py(5 min)
Total time: ~1 hour
- Check
CHANGELOG.mdfor version number - Run:
git tag -a v1.0.0 -m "Release v1.0.0" git push origin v1.0.0 - Done!
Release Documentation
│
├── 🚀 Getting Started
│ ├── QUICK_START_RELEASE.md ◄── START HERE
│ └── RELEASE_SUMMARY.md
│
├── 📖 Deep Dive
│ ├── RELEASE_GUIDE.md
│ └── RELEASE_WORKFLOW.md
│
├── 📝 Maintenance
│ ├── CHANGELOG.md ◄── Update regularly
│ └── version.txt
│
├── 🛠️ Tools
│ └── build_local.py
│
└── 🤖 Automation
├── .github/workflows/release.yml
├── .github/RELEASE_TEMPLATE.md
└── .github/PULL_REQUEST_TEMPLATE.md
- Read
QUICK_START_RELEASE.md - Understand version numbering (semantic versioning)
- Know how to update
CHANGELOG.md - Test build locally with
build_local.py - Understand GitHub Actions will auto-build
- All features complete and tested
-
CHANGELOG.mdupdated - Version number decided
- Commit all changes
- Create and push tag
- Wait for GitHub Actions
- Review draft release
- Publish!
- Test download links
- Monitor GitHub Issues
- Respond to feedback
- Plan next version
Files to read:
QUICK_START_RELEASE.mdCHANGELOG.md
Files to edit:
CHANGELOG.md(move items to v1.0.0)
Commands to run:
git tag -a v1.0.0 -m "First release"
git push origin v1.0.0Files to read:
RELEASE_GUIDE.md(Local Build section)
Commands to run:
pip install pyinstaller
python build_local.pyFiles created:
dist/OrbitalSimulator-v0.1.0-dev.exe(or .app)
Files to read:
RELEASE_GUIDE.md(Troubleshooting section)
Commands to run:
# Delete wrong tag
git tag -d v1.0.0
git push origin --delete v1.0.0
# Create correct tag
git tag -a v1.0.0 -m "Correct release"
git push origin v1.0.0Files to read:
RELEASE_WORKFLOW.md(Visual diagrams).github/workflows/release.yml(Actual code)
What it does:
- Triggers on tag push
- Builds Windows + macOS
- Creates draft release
- Uploads binaries
→ RELEASE_GUIDE.md → Version Numbering section
→ .github/RELEASE_TEMPLATE.md
→ RELEASE_WORKFLOW.md → Complete Pipeline
→ RELEASE_GUIDE.md → Troubleshooting → Windows Defender
→ RELEASE_GUIDE.md → Manual Build section
→ Run python build_local.py
→ QUICK_START_RELEASE.md → The Fast Path
Typical file sizes for your project:
| File | Size | Notes |
|---|---|---|
| Windows .exe | 100-150 MB | Includes Python + libraries |
| macOS .zip | 90-130 MB | Compressed app bundle |
| Source code | 5-10 MB | For Linux users |
This is normal! PyInstaller bundles everything.
Edit: .github/workflows/release.yml
# Change app name
--name OrbitalSimulator-${{ github.ref_name }}-windows
# Add icon
--icon=assets/earth_sprite.png
# Include data files
--add-data "assets;assets"Edit: .github/workflows/release.yml
Add a new job:
build-linux:
runs-on: ubuntu-latest
# ... similar to Windows/macOSCreate: .github/workflows/version-bump.yml
Use tools like bump2version or semantic-release
| Problem | Solution Location |
|---|---|
| Build fails | RELEASE_GUIDE.md → Troubleshooting |
| Windows Defender | RELEASE_GUIDE.md → Windows Defender Flags |
| macOS Gatekeeper | RELEASE_GUIDE.md → macOS Gatekeeper Issues |
| Large file size | RELEASE_GUIDE.md → Large File Size |
| Missing dependencies | RELEASE_GUIDE.md → Build Fails |
| Wrong version number | RELEASE_GUIDE.md → Fix a Release Mistake |
- ✅ Read
QUICK_START_RELEASE.md - ✅ Understand the 3-step process
- ✅ Bookmark this index
- ⏳ Test
build_local.py - ⏳ Update
CHANGELOG.md - ⏳ Read
RELEASE_GUIDE.md(skim)
- 🎯 Follow
QUICK_START_RELEASE.md - 🎯 Create v1.0.0 release
- 🎯 Celebrate! 🎉
| Version | Date | Changes |
|---|---|---|
| 1.0 | 2026-01-17 | Initial release documentation setup |
- Bookmark this file - It's your central hub
- Start with QUICK_START - Don't overthink it
- Test locally first - Catch issues early
- Read RELEASE_GUIDE - When you have time
- Keep CHANGELOG updated - Makes releases easier
You now have:
- ✅ Complete documentation
- ✅ Automated build system
- ✅ Templates and tools
- ✅ Best practices guide
- ✅ Troubleshooting help
When you're ready to release:
- Open
QUICK_START_RELEASE.md - Follow the steps
- Ship your software! 🚀
Good luck with your release! 🎉
Questions? Check the relevant documentation file above.