Skip to content

Commit ba3d3c9

Browse files
committed
chore: add Quick Start and Release documentation for Windows
1 parent f9cade6 commit ba3d3c9

File tree

4 files changed

+472
-0
lines changed

4 files changed

+472
-0
lines changed

.github/QUICKSTART.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
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+

.github/RELEASE.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Creating a Release
2+
3+
This project uses GitHub Actions to automatically build and release Windows executables.
4+
5+
## How to Create a Release
6+
7+
1. **Update Version**: Make sure the version is updated in your project files (e.g., `src/untitled.pro` or version headers)
8+
9+
2. **Commit Changes**: Commit all your changes
10+
```bash
11+
git add .
12+
git commit -m "Release v1.0.0"
13+
```
14+
15+
3. **Create and Push Tag**: Create a version tag following semantic versioning
16+
```bash
17+
git tag -a v1.0.0 -m "Release version 1.0.0"
18+
git push origin v1.0.0
19+
```
20+
21+
4. **Automatic Build**: GitHub Actions will automatically:
22+
- Build the Windows 64-bit executable
23+
- Create an installer (.exe)
24+
- Create a portable ZIP package
25+
- Generate checksums
26+
- Create a GitHub Release with all artifacts
27+
28+
## Version Tag Format
29+
30+
Use semantic versioning: `v<major>.<minor>.<patch>`
31+
- `v1.0.0` - Major release
32+
- `v1.1.0` - Minor update (new features)
33+
- `v1.0.1` - Patch release (bug fixes)
34+
35+
## Release Artifacts
36+
37+
Each release will include:
38+
- **Installer**: `TorrHunt-Setup-v1.0.0-Win64.exe` - Full installer with shortcuts
39+
- **Portable**: `TorrHunt-Portable-v1.0.0-Win64.zip` - Extract and run anywhere
40+
- **Checksums**: `checksums.txt` - SHA256 hashes for verification
41+
42+
## Monitoring the Build
43+
44+
After pushing a tag, you can monitor the build progress at:
45+
`https://github.com/<your-username>/torrhunt/actions`
46+
47+
## Manual Release
48+
49+
If you need to manually create a release without the workflow:
50+
1. Go to the repository's Releases page
51+
2. Click "Draft a new release"
52+
3. Create a new tag or select an existing one
53+
4. Fill in the release notes
54+
5. Upload pre-built binaries
55+
6. Publish the release
56+
57+
## Troubleshooting
58+
59+
- **Build fails**: Check the Actions log for detailed error messages
60+
- **Missing dependencies**: The workflow installs Qt 6.4.2 automatically
61+
- **Tag not triggering build**: Ensure tag follows `v*.*.*` format
62+
63+
## Requirements
64+
65+
The workflow requires:
66+
- GitHub repository with Actions enabled
67+
- No additional secrets needed (uses `GITHUB_TOKEN` automatically)
68+
- Windows runner (provided by GitHub)
69+

0 commit comments

Comments
 (0)