48 lines
1.6 KiB
Markdown
48 lines
1.6 KiB
Markdown
# Releasing
|
|
|
|
## Build locally
|
|
```bash
|
|
./scripts/build-release.sh [version] # ZIP with binary + docs
|
|
./scripts/build-app.sh [version] # RemminaMac.app (bundle, ad-hoc signed, icon + ctty-run)
|
|
./scripts/build-dmg.sh [version] # DMG with app + Applications link
|
|
./scripts/generate-icon.sh # re-render AppIcon.icns (Dracula terminal)
|
|
# Example:
|
|
./scripts/build-release.sh 0.7.0
|
|
./scripts/build-app.sh 0.7.0
|
|
./scripts/build-dmg.sh 0.7.0
|
|
# Output:
|
|
# dist/RemminaMac-0.7.0-macos-arm64.zip (+ .sha256)
|
|
# dist/RemminaMac.app/ (with ctty-run helper + icon)
|
|
# dist/RemminaMac-0.7.0-macos-arm64.dmg (+ .sha256)
|
|
```
|
|
|
|
Bump `AppInfo.version` in `Views/AboutView.swift` with each release.
|
|
|
|
## What the scripts do
|
|
1. `swift build -c release` (builds both `RemminaMac` and `ctty-run`)
|
|
2. Copy binaries into `dist/RemminaMac-<ver>-macos-arm64/`
|
|
3. Add `README.md` + `docs/` + `LICENSE`
|
|
4. ZIP + SHA256
|
|
|
|
`build-app.sh` also copies `AppIcon.icns` and `ctty-run` into the bundle and
|
|
signs ad-hoc (`codesign --deep`). `build-dmg.sh` creates the drag-and-drop DMG
|
|
via `hdiutil` (no extra tools).
|
|
|
|
## Publish a Gitea release
|
|
```bash
|
|
export GITEA_HOST="https://git.sysdaemon.xyz"
|
|
export GITEA_OWNER="<owner>"
|
|
export GITEA_REPO="remmina-mac"
|
|
export GITEA_TOKEN="<token>" # not password: user → Settings → Applications → token
|
|
export VERSION="0.7.0"
|
|
./scripts/publish-gitea-release.sh
|
|
```
|
|
The script creates the release (if needed) and uploads ZIP + SHA256 as attachments.
|
|
|
|
## Manual API
|
|
```bash
|
|
curl -u "user:pass" -H "Content-Type: application/json" \
|
|
-d '{"tag_name":"v0.7.0","name":"v0.7.0","body":"..."}' \
|
|
"$GITEA_HOST/api/v1/repos/$OWNER/$REPO/releases"
|
|
```
|