build: production Windows release pipeline (PyInstaller, SBOM, CI, signing hook)
Some checks failed
CI / Test Python 3.10 (push) Has been cancelled
CI / Test Python 3.11 (push) Has been cancelled
CI / Test Python 3.12 (push) Has been cancelled

This commit is contained in:
Dr Jones
2026-05-22 20:05:00 -07:00
parent b852fd264f
commit 08683ab328
10 changed files with 659 additions and 95 deletions

View File

@@ -66,35 +66,56 @@ YOU -> VPN (outer tunnel) -> Hop 1 -> Hop 2 -> ... -> Exit hop -> Internet
---
## Build to Desktop (recommended)
## Build (Windows)
1. Clone (or `git pull` in existing repo):
```cmd
git clone https://gitea.thetempleofdoom.com/drjones/proxy-god.git
cd proxy-god
```
2. Install Python if needed:
```cmd
winget install Python.Python.3.12 --accept-package-agreements --accept-source-agreements
```
3. Build:
```powershell
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\setup_and_build.ps1
```
Requires **Python 3.10+** and **Windows 10/11 x64**. Python is not needed to *run* the built `.exe`.
Equivalent paths:
- `build_exe.bat`
- `FirstRun_Build_And_Install.bat`
```cmd
winget install Python.Python.3.12 --accept-package-agreements --accept-source-agreements
```
Artifacts:
### Production release (recommended for shipping)
Full pipeline: tests → bundled GOST → PyInstaller → SHA256 + SBOM + manifest → zip.
```cmd
build_release.bat
```
Or:
```powershell
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\release_build.ps1
```
Output: `releases\ProxyGod-v{version}-windows-amd64.zip` and `releases\v{version}\` (exe, checksum, SBOM, manifest). See [docs/RELEASE_PROCESS.md](docs/RELEASE_PROCESS.md).
Tag-driven CI build (GitHub):
```bash
git tag v1.0.0
git push origin v1.0.0
```
### Developer build (Desktop copy)
Faster iteration — copies `dist\ProxyChainManager.exe` to Desktop + shortcut.
```cmd
build_exe.bat
```
Or `FirstRun_Build_And_Install.bat` (same script, pauses on error).
| Path | Purpose |
|------|------|
| `dist\ProxyChainManager.exe` | Built binary |
| `Desktop\ProxyChainManager.exe` | Refreshed desktop copy |
| `Desktop\Proxy God.lnk` | Shortcut target for daily use |
| `releases\` | Production release folders + zip (from `release_build.ps1`) |
| `Desktop\ProxyChainManager.exe` | Dev build desktop copy |
| `Desktop\Proxy God.lnk` | Shortcut |
Recreate shortcut only:
Recreate missing shortcut:
```powershell
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\create_desktop_shortcut.ps1
```