native macOS codings agent orchestrator
5
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore: switch Prowl-Site rebuild to Netlify Build Hook

- Load .env for release secrets, add .env.example as template
- Replace gh api repository_dispatch with Netlify Build Hook curl
- Update docs: appcast URL now points to GitHub Releases

onevcat c11e2b66 33e24593

+31 -10
+13
.env.example
··· 1 + # Prowl release environment variables 2 + # Copy to .env and fill in values. .env is gitignored. 3 + 4 + # Apple code signing (auto-detected if unset) 5 + # APPLE_SIGNING_IDENTITY=Developer ID Application: Your Name (TEAM_ID) 6 + # APPLE_TEAM_ID=TEAM_ID 7 + # APPLE_NOTARY_KEYCHAIN_PROFILE=supacode-notary 8 + 9 + # Sparkle EdDSA private key (default: ~/.prowl-sparkle-private-key) 10 + # SPARKLE_PRIVATE_KEY_FILE=~/.prowl-sparkle-private-key 11 + 12 + # Netlify Build Hook for Prowl-Site rebuild after release 13 + NETLIFY_BUILD_HOOK=
+3 -5
doc-onevcat/fork-sync-and-release.md
··· 12 12 13 13 ### Sparkle Auto-Update 14 14 15 - - Feed URL: `https://prowl.onev.cat/appcast.xml` (hosted via Prowl-Site on Netlify) 15 + - Feed URL: `https://github.com/onevcat/Prowl/releases/latest/download/appcast.xml` (hosted as a GitHub Release asset) 16 16 - EdDSA public key configured in `supacode/Info.plist` as `SUPublicEDKey` 17 17 - Private key stored in macOS Keychain and exported to `~/.prowl-sparkle-private-key` 18 - - Appcast generated by `bins/generate_appcast` during release 18 + - Appcast generated by `bins/generate_appcast` during release and uploaded to the GitHub Release 19 19 20 20 ### Release Artifacts 21 21 ··· 77 77 4. DMG creation with signing 78 78 5. Notarization + stapling 79 79 6. Sparkle appcast generation 80 - 7. GitHub Release with all artifacts 81 - 8. Prowl-Site appcast update (triggers Netlify deploy) 80 + 7. GitHub Release with all artifacts (including `appcast.xml`) 82 81 83 82 ### Local Test Build (Release config, no publish) 84 83 ··· 96 95 | `APPLE_TEAM_ID` | from identity | Apple Team ID | 97 96 | `APPLE_NOTARY_KEYCHAIN_PROFILE` | `supacode-notary` | Keychain profile for notarytool | 98 97 | `SPARKLE_PRIVATE_KEY_FILE` | `~/.prowl-sparkle-private-key` | EdDSA private key for appcast | 99 - | `PROWL_SITE_DIR` | `../Prowl-Site` | Path to Prowl-Site repo | 100 98 101 99 ## Notarization Credentials 102 100
+15 -5
doc-onevcat/scripts/release.sh
··· 12 12 # APPLE_TEAM_ID Apple Team ID (inferred from identity if unset) 13 13 # APPLE_NOTARY_KEYCHAIN_PROFILE Keychain profile for notarytool (default: supacode-notary) 14 14 # SPARKLE_PRIVATE_KEY_FILE Path to EdDSA private key file (default: ~/.prowl-sparkle-private-key) 15 + # NETLIFY_BUILD_HOOK Netlify Build Hook URL for Prowl-Site rebuild 15 16 set -euo pipefail 16 17 17 18 SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" 18 19 PROJECT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)" 19 20 cd "$PROJECT_DIR" 21 + 22 + # Load .env if present (not committed to repo) 23 + if [[ -f "$PROJECT_DIR/.env" ]]; then 24 + set -a 25 + source "$PROJECT_DIR/.env" 26 + set +a 27 + fi 20 28 21 29 # ── Helpers ────────────────────────────────────────────────────────────────── 22 30 ··· 330 338 # ── Trigger Prowl-Site rebuild ─────────────────────────────────────────────── 331 339 332 340 log "triggering Prowl-Site rebuild..." 333 - gh api repos/onevcat/Prowl-Site/dispatches \ 334 - -f event_type=changelog-updated \ 335 - -f "client_payload[version]=$VERSION" 2>/dev/null \ 336 - && log "Prowl-Site rebuild triggered" \ 337 - || log "Prowl-Site dispatch failed (non-critical)" 341 + if [[ -n "${NETLIFY_BUILD_HOOK:-}" ]]; then 342 + curl -fsSL -X POST "$NETLIFY_BUILD_HOOK" 2>/dev/null \ 343 + && log "Prowl-Site rebuild triggered" \ 344 + || log "Prowl-Site rebuild trigger failed (non-critical)" 345 + else 346 + log "NETLIFY_BUILD_HOOK not set, skipping Prowl-Site rebuild" 347 + fi 338 348 339 349 echo 340 350 log "done! Release: $RELEASE_URL"