|
| 1 | +# Quick Start: Releasing TorrHunt on Windows |
| 2 | + |
| 3 | +## One-Command Release |
| 4 | + |
| 5 | +```bash |
| 6 | +# Update version, commit, tag, and push |
| 7 | +VERSION="1.0.0" |
| 8 | +git add . |
| 9 | +git commit -m "Release v${VERSION}" |
| 10 | +git tag -a v${VERSION} -m "Release version ${VERSION}" |
| 11 | +git push origin main v${VERSION} |
| 12 | +``` |
| 13 | + |
| 14 | +## What Happens Next? |
| 15 | + |
| 16 | +1. **GitHub Actions starts automatically** (watch at: Actions tab) |
| 17 | +2. **~10-15 minutes later**: Windows executables are ready |
| 18 | +3. **Release page updated** with: |
| 19 | + - Installer (recommended) |
| 20 | + - Portable ZIP |
| 21 | + - Checksums for verification |
| 22 | + - Auto-generated release notes |
| 23 | + |
| 24 | +## Testing the Workflow |
| 25 | + |
| 26 | +Want to test without creating a real release? |
| 27 | + |
| 28 | +```bash |
| 29 | +# Create a test tag |
| 30 | +git tag -a v0.0.1-test -m "Test release" |
| 31 | +git push origin v0.0.1-test |
| 32 | + |
| 33 | +# Delete test release and tag later from GitHub UI |
| 34 | +``` |
| 35 | + |
| 36 | +## Requirements |
| 37 | + |
| 38 | +✅ GitHub repository |
| 39 | +✅ Actions enabled (free for public repos) |
| 40 | +✅ Tag format: `v*.*.*` (e.g., v1.0.0) |
| 41 | +❌ No secrets or tokens needed |
| 42 | + |
| 43 | +## Workflow Features |
| 44 | + |
| 45 | +- ✅ Builds with Qt 6.4.2 |
| 46 | +- ✅ Creates Windows installer (Inno Setup) |
| 47 | +- ✅ Creates portable ZIP |
| 48 | +- ✅ Includes all dependencies |
| 49 | +- ✅ SHA256 checksums |
| 50 | +- ✅ Auto-generated release notes |
| 51 | +- ✅ Artifacts retained for 30 days |
| 52 | + |
| 53 | +## Customization |
| 54 | + |
| 55 | +Edit `.github/workflows/release.yml` to: |
| 56 | +- Change Qt version |
| 57 | +- Modify installer settings |
| 58 | +- Add/remove files |
| 59 | +- Change release description |
| 60 | +- Add multiple platforms (Linux, macOS) |
| 61 | + |
| 62 | +## Example Workflow |
| 63 | + |
| 64 | +```bash |
| 65 | +# 1. Make changes |
| 66 | +vim src/main.cpp |
| 67 | + |
| 68 | +# 2. Test locally |
| 69 | +cd src && qmake && make |
| 70 | + |
| 71 | +# 3. Commit changes |
| 72 | +git add . |
| 73 | +git commit -m "Add new feature" |
| 74 | + |
| 75 | +# 4. Release |
| 76 | +git tag v1.1.0 -m "Version 1.1.0 - Added new feature" |
| 77 | +git push origin main v1.1.0 |
| 78 | + |
| 79 | +# 5. Wait ~15 minutes |
| 80 | +# 6. Check: https://github.com/YOUR_USERNAME/torrhunt/releases |
| 81 | +``` |
| 82 | + |
| 83 | +## Troubleshooting |
| 84 | + |
| 85 | +**Build failed?** |
| 86 | +- Check Actions log |
| 87 | +- Verify Qt version compatibility |
| 88 | +- Check .pro file syntax |
| 89 | + |
| 90 | +**Release not created?** |
| 91 | +- Ensure tag format is `v*.*.*` |
| 92 | +- Check GITHUB_TOKEN permissions |
| 93 | +- Verify Actions are enabled |
| 94 | + |
| 95 | +**Missing files in release?** |
| 96 | +- Check windeployqt output |
| 97 | +- Verify file paths in workflow |
| 98 | +- Add missing resources to copy step |
| 99 | + |
| 100 | +## Support |
| 101 | + |
| 102 | +- Workflow issues: Check `.github/workflows/release.yml` |
| 103 | +- Build errors: Review Actions logs |
| 104 | +- Qt issues: Verify version in workflow matches your development environment |
| 105 | + |
0 commit comments