The RubyEverywhere Platform
The Platform is the hosted counterpart to the DIY track. Instead of maintaining a native toolchain, a signing certificate, and a Mac, you submit a build and the Platform runs it on hosted runners: compile, sign, notarize, and hand back a downloadable artifact.
It reads the same config/everywhere.yml. Nothing about your app changes. You
are moving the build off your laptop, and nothing else.
Why use it
- No local toolchain. Skip the 30 to 90 minute first-build compile, and the Rust, rbe-tebako, Xcode, and Android SDK setup with it.
- No Mac required. macOS and iOS targets build on hosted macOS runners and Android on Linux, so you can ship an iPhone app from Linux, Windows, or CI.
- Managed signing. The Platform holds your Apple and Android credentials in custody and hands them to a runner only at the moment it signs, so a certificate never lives in your repo or your CI logs.
- The same CLI. You drive it with the
everycommand you already know. It builds on the Platform instead of locally.
How it fits together
- You connect the CLI to your Platform account
once, via a browser-based device flow:
every platform login. - You submit a build with
every platform build. Your source is snapshotted, uploaded, and queued, one hosted runner per target. - A runner compiles it, pulls your signing credentials at the moment it needs them, signs, and on macOS notarizes.
- The CLI downloads the finished artifacts into
dist/, and every build is also on its build page in the dashboard. - When you are ready to ship it, promote that build to a release channel from the web. That publishes to your update feed, Google Play, or App Store Connect, depending on the target.
Builds are always submitted from the CLI. The dashboard is where you watch them, manage credentials, and promote releases.
What you can build today
| Target | Channels | Guide |
|---|---|---|
macOS (macos-arm64) |
direct |
Hosted builds |
iOS (ios-arm64) |
testflight, app_store |
iOS on the Platform |
Android (android-arm64) |
direct, play |
Android on the Platform |
Windows and Linux targets are being built out. Declaring them in
build.targets is fine: hosted builds accept them as each lands.
Start by connecting the CLI.