SkateSpots/distribution/README.md
SkateSpots 383ff8a5cf
Some checks are pending
Deploy to GitHub Pages / deploy (push) Waiting to run
dist: add Forgejo release helper and F-Droid instructions
2026-10-30 22:49:23 +07:00

4.1 KiB

Distribution without GitHub

SkateSpots is published from a self-hosted Forgejo instance. No GitHub account is required.

Current release source

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 family

Self-hosted F-Droid repo (live now)

A signed third-party F-Droid repository is published here:

  • Repo: https://fdroid.skate-spots.org/repo
  • App ID: org.skatespots.app
  • Repo signing fingerprint: 88:B1:71:1C:24:02:89:FB:B2:A7:FC:C1:B3:1F:BB:9D:60:F5:7F:19:18:E0:3D:62:2D:35:F2:3D:E1:84:46:75

Users can add this URL in F-Droid, or add it in Obtanium as an F-Droid Third Party Repo. This is not F-Droid main: it is a self-hosted, signed repository of the developer-signed APK. It keeps the existing install and signing key.

The repository metadata and APK are served from the relay host. The repo index is signed with a repository key stored on that host; the APK itself keeps the SkateSpots developer signature.

F-Droid main and IzzyOnDroid

F-Droid main requires a public, clonable source repository (the Forgejo URL above), an accepted fdroiddata recipe, a reproducible build and maintainer review. IzzyOnDroid is the easier external submission step. Both remain external-review processes; the self-hosted repo above is usable without waiting for either.

Recipe draft: distribution/fdroiddata/org.skatespots.app.yml Store metadata: fastlane/metadata/android/en-US/

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 to F-Droid main.

IzzyOnDroid submission details, when you want to send it:

  • App ID: org.skatespots.app
  • Source: https://git.skate-spots.org/skatespots/SkateSpots
  • APK: the signed asset on the latest Forgejo release
  • License: AGPL-3.0-only
  • Category: Sports
  • Summary: Local-first skate map, crews, events and marketplace
  • Keep the developer signature; do not ask users to replace an existing install with an F-Droid-main-signed build.

No GitHub account is used anywhere in this path.

Release checklist

  1. npm test
  2. scripts/release.sh patch --yes --deploy (Zapstore + web)
  3. Push the release tag and main to Forgejo.
  4. Upload the APK through the helper: FORGEJO_TOKEN=... scripts/publish-forgejo.sh <version> (or set FORGEJO_TOKEN before release.sh; the APK upload is then automatic)
  5. Copy the signed APK into the F-Droid repo on the relay host, add a metadata/org.skatespots.app.yml changelog entry, run fdroid update, and sync repo/ to /var/www/fdroid/repo/.
  6. Verify the public latest-release page contains the new .apk, and that https://fdroid.skate-spots.org/repo/index-v2.json lists the new versionCode.
  7. 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.