feat: Add Forgejo CI/CD pipeline for automated builds and releases

- Create .forgejo/workflows/build.yml for automated Windows and macOS builds
- Trigger on version tags (v1.0.0, v1.0.1, etc.) or manual dispatch
- Windows job builds executable with PyInstaller
- macOS job builds DMG package
- Automatically generate SHA256 checksums for verification
- Create release on Forgejo with all artifacts
- Add FORGEJO_CI_CD_SETUP.md with complete setup guide
- Add CHANGELOG.md for version tracking
- Update DEVELOPMENT_PLAN.md with Phase 3.3 details

This enables:
- Centralized release hub on Forgejo
- Automatic distribution of builds
- Foundation for Phase 4.1 auto-update system
- Checksum-based integrity verification
This commit is contained in:
claudi 2026-01-28 13:14:41 +01:00
parent db0cef4797
commit 00b4c55612
4 changed files with 622 additions and 0 deletions

View file

@ -634,6 +634,71 @@ export APPLE_TEAM_ID="XXXXXXXXXX"
---
### 3.3 Forgejo CI/CD Pipeline
**Workflow File** (`.forgejo/workflows/build.yml`):
- Automated builds on tag push (v1.0.0, v1.0.1, etc.)
- Windows executable build (windows-latest runner)
- macOS DMG build (macos-latest runner)
- SHA256 checksum generation
- Release creation with artifacts
- Artifact upload to Forgejo releases
**Features:**
- ✅ Trigger on version tags
- ✅ Manual workflow dispatch option
- ✅ Multi-platform parallel builds
- ✅ Automatic release generation
- ✅ Checksum verification support
- ✅ Integration with auto-update system (Phase 4.1)
**Usage:**
```bash
# Create a release
git tag -a v1.0.0 -m "Release version 1.0.0"
git push upstream v1.0.0
# Forgejo Actions automatically:
# 1. Builds Windows executable
# 2. Builds macOS DMG
# 3. Generates checksums
# 4. Creates release with artifacts
```
**Requirements:**
- Forgejo instance with Actions enabled
- Windows runner (for Windows builds)
- macOS runner (for macOS builds)
- `GITEA_TOKEN` secret configured in repository
**Release Location:**
```
https://git.him-tools.de/HIM-public/webdrop-bridge/releases/vX.Y.Z
├── WebDropBridge.exe
├── WebDropBridge.exe.sha256
├── WebDropBridge.dmg
└── WebDropBridge.dmg.sha256
```
**Setup Guide:**
See [FORGEJO_CI_CD_SETUP.md](FORGEJO_CI_CD_SETUP.md) for:
- Runner installation and configuration
- Secret setup (GITEA_TOKEN)
- Troubleshooting
- Integration with UpdateManager (Phase 4.1)
**Acceptance Criteria:**
- [x] Workflow file created and committed
- [ ] Forgejo runners configured (Windows + macOS)
- [ ] GITEA_TOKEN secret added
- [ ] Test run: Tag v0.0.1 triggers builds
- [ ] Release appears on Forgejo with artifacts
- [ ] Checksums verify successfully
**Status**: ✅ Workflow created | ⏳ Runners needed
---
## Phase 4: Professional Features & Auto-Update (Weeks 9-12)
### 4.1 Auto-Update System with Forgejo Integration