Some checks are pending
Tests & Quality Checks / Test on Python 3.11 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.10 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-2 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-2 (push) Waiting to run
Tests & Quality Checks / Build Artifacts (push) Blocked by required conditions
Tests & Quality Checks / Build Artifacts-1 (push) Blocked by required conditions
3.5 KiB
3.5 KiB
Package Manager Distributions
This directory contains package manager configurations for distributing WebDropBridge across different platforms.
Directory Structure
build/
├── chocolatey/ # Windows - Chocolatey/NuGet package
│ ├── webdrop-bridge.nuspec # Package manifest
│ └── tools/
│ ├── chocolateyInstall.ps1 # Installation script
│ └── chocolateyUninstall.ps1 # Uninstallation script
│
└── homebrew/ # macOS - Homebrew formula
└── webdrop-bridge.rb # Homebrew formula
Quick Start
Chocolatey Package (Windows)
-
Build MSI installer:
python build/scripts/build_windows.py --msi -
Get SHA256 checksum:
certutil -hashfile build/dist/windows/WebDropBridge_Setup.msi SHA256 -
Update package files:
build/chocolatey/webdrop-bridge.nuspec- update<version>build/chocolatey/tools/chocolateyInstall.ps1- update$Versionand$Checksum
-
Package it (requires Chocolatey CLI):
cd build/chocolatey choco pack webdrop-bridge.nuspec -
Publish (requires Chocolatey API key):
choco push webdrop-bridge.0.8.0.nupkg --api-key YOUR_KEY
Homebrew Formula (macOS)
-
Build DMG installer:
bash build/scripts/build_macos.sh -
Get SHA256 checksum:
shasum -a 256 build/dist/macos/WebDropBridge_Setup.dmg -
Update formula:
build/homebrew/webdrop-bridge.rb- updateversionandsha256
-
Test locally:
brew audit --formula build/homebrew/webdrop-bridge.rb brew install build/homebrew/webdrop-bridge.rb -
Publish (create Forgejo tap or submit to official Homebrew):
- Option A: Create
homebrew-webdrop-bridgetap on Forgejo - Option B: Submit to
homebrew/caskson GitHub
- Option A: Create
Publishing Strategy
Recommended Approach for HIM
-
Chocolatey:
- Host in internal Artifactory/Azure Artifacts NuGet repository
- OR submit to Chocolatey community (chocolatey.org)
- Users:
choco install webdrop-bridge
-
Homebrew:
- Create custom tap:
HIM-public/homebrew-webdrop-bridgeon Forgejo - Users add tap:
brew tap HIM-public/webdrop-bridge https://git.him-tools.de/... - Users:
brew install webdrop-bridge
- Create custom tap:
-
Fallback:
- Direct wget/downloads from Forgejo releases
- Built-in auto-update system in app
Release Checklist
When releasing version X.Y.Z:
- Build Windows MSI:
python build/scripts/build_windows.py --msi - Build macOS DMG:
bash build/scripts/build_macos.sh - Calculate checksums (certutil / shasum)
- Create Forgejo release with installers
- Update
build/chocolatey/webdrop-bridge.nuspecversion - Update
build/chocolatey/tools/chocolateyInstall.ps1version & checksum - Update
build/homebrew/webdrop-bridge.rbversion & checksum - Test Chocolatey package locally
- Test Homebrew formula locally
- Publish to package managers
User Installation Commands
After publishing:
# Windows
choco install webdrop-bridge
# macOS
brew tap HIM-public/webdrop-bridge https://git.him-tools.de/HIM-public/homebrew-webdrop-bridge.git
brew install webdrop-bridge