Skip to content
2 min read

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:

ActionWhat it does
forgejo-mac-runnersSelf-hosted Forgejo Actions runner for Swift, macOS, and iOS CI, directly on a Mac.
apple-codesign-actionCodesign and notarize macOS/iOS artifacts on a mac runner, with an ephemeral keychain.
fjord-version-bump-actionMonotonic build number (Forgejo variable counter / run-number) plus a version bump.
fjord-distribute-actionDistribute a signed .ipa / .apk to testers via your own S3.
fjord-approval-gate-actionPause a workflow for a mobile (or comment) approval before continuing.
fjord-notify-actionSend 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