# Distribution without GitHub SkateSpots is published from a self-hosted **Forgejo** instance. No GitHub account is required. ## Current release source - Forge: - Latest release: - Signed APK (1.7.61): - SHA-256: `db0279f759efd9fa05d9d1bed57a3f5856777e6ccb208d3ed78b15398f266fba` The APK is signed with the same key as the Zapstore build. Installing an F-Droid-signed build over it would require uninstalling SkateSpots and losing the local key/settings. Obtanium and direct APK updates keep the install. ## Obtanium Obtanium cannot use a Zapstore URL as a source. Use the self-hosted Forgejo release page instead: 1. Open Obtanium → **Add App**. 2. Paste: `https://git.skate-spots.org/skatespots/SkateSpots/releases/latest` 3. If Obtanium does not recognise the self-hosted host, select **Override Source → HTML**. 4. Set version extraction if desired: `SkateSpots-([0-9.]+)\.apk`, match group `1`. The release page contains exactly one `.apk`, so Obtanium can follow the latest release without a custom store listing. ## F-Droid and IzzyOnDroid - Source: `https://git.skate-spots.org/skatespots/SkateSpots.git` - Recipe draft: `distribution/fdroiddata/org.skatespots.app.yml` - Store metadata: `fastlane/metadata/android/en-US/` ### IzzyOnDroid first IzzyOnDroid accepts reproducible third-party builds and is the least risky step before F-Droid main. Submit the public source URL and the signed release. Keep the developer signature for the Obtanium/APK channel; do not replace the existing install with an F-Droid-signed build without telling users. ### F-Droid main F-Droid main requires: - a public, clonable source repository (the Forgejo URL above); - a working `fdroiddata` recipe including the generated Android project step; - a reproducible build or an accepted build recipe; - maintainer review and F-Droid's own signing key. The recipe is a draft, not an accepted F-Droid build. The Android project is generated by Capacitor and intentionally not committed, so the prebuild steps must be verified in the F-Droid build environment before submitting. ## Release checklist 1. `npm test` 2. `scripts/release.sh patch --yes --deploy` (Zapstore + web) 3. Push the release tag and `main` to Forgejo. 4. Attach `android/app/build/outputs/apk/release/app-release.apk` and its `.sha256` to the Forgejo release. 5. Verify the public latest-release page contains the new `.apk`. 6. Update the static download page if the displayed version/checksum changes: `public/download/index.html`. The Forgejo instance runs on the same host as the relay. It exposes public read access and HTTPS through Caddy; registration is disabled and administrative credentials are kept on the host, not in this repository.