Mobile overview
Fjord’s mobile story has two halves: a native client for managing your Forgejo from a phone, and the CI tooling to build, sign, and ship your own mobile apps from a self-hosted forge.
The Fjord app
fjord is a universal iOS / iPadOS
client for self-hosted Forgejo instances, aiming at feature parity with GitHub
Mobile. An Android client (fjord-android)
tracks the same API contract.
Inbox
Notifications with swipe-to-mark-read, and push that deep-links to the issue or PR.
Repos & code
Your repositories, activity, and a file-tree code browser with a line-numbered source viewer.
Issues & PRs
Read-complete detail with rendered Markdown, labels, and threads; PRs add merge status and a unified diff.
Write
Comment, open issues, close/reopen, and merge pull requests, on iPhone and iPad.
Built with SwiftUI and Swift 6 strict concurrency (iOS 17+), talking to a typed ForgejoKit client generated from the shared OpenAPI contract.
Shipping mobile apps from CI
Fjord runs the whole mobile release pipeline on your own infrastructure, no github.com and no hosted CI in the loop:
| Action | What it does |
|---|---|
forgejo-mac-runners | Self-hosted Forgejo Actions runner for Swift, macOS, and iOS CI, directly on a Mac. |
apple-codesign-action | Codesign and notarize macOS/iOS artifacts on a mac runner, with an ephemeral keychain. |
fjord-version-bump-action | Monotonic build number (Forgejo variable counter / run-number) plus a version bump. |
fjord-distribute-action | Distribute a signed .ipa / .apk to testers via your own S3. |
fjord-approval-gate-action | Pause a workflow for a mobile (or comment) approval before continuing. |
fjord-notify-action | Send a rich CI notification to the Fjord mobile relay, pushed to your phone. |
Tip
The approval gate and notify actions close the loop with the Fjord app: a build
pings your phone, you approve from the same app you use to triage issues.
Contributors
- Stephen Way