Applications
An application in BuildMagic represents a mobile project linked to a Git repository. You can add iOS apps, Android apps, or cross-platform projects. Each application has its own workflows, builds, environment variables, and code signing configuration.
Adding an Application
- Go to Applications in the sidebar.
- Click Add Application.
- Select your Git provider (GitHub or GitLab). If you haven't connected a provider yet, you'll be prompted to do so.
- Browse your repositories and select the one containing your mobile project. You can also enter a repository URL manually.
- Choose the project type that matches your codebase.
- Give your application a name and click Create.
Project Types
The project type tells BuildMagic how to build your app. It determines which SDK, tools, and default pipeline steps are used.
| Project Type | Description | iOS Builds | Android Builds |
|---|---|---|---|
| Flutter | Cross-platform apps built with the Flutter SDK and Dart. | macOS VM with Xcode + Flutter | Docker with Android SDK + Flutter |
| iOS Native | Native iOS apps built with Xcode, Swift, or Objective-C. | macOS VM with Xcode | — |
| Android Native | Native Android apps built with Gradle, Kotlin, or Java. | — | Docker with Android SDK + Gradle |
| React Native | Cross-platform apps built with React Native and JavaScript/TypeScript, including Expo. npm, Yarn and pnpm workspaces are detected automatically. | macOS VM with Xcode + Node.js | Docker with Android SDK + Node.js |
Application Settings
After creating an application, you can configure the following settings:
| Setting | Description |
|---|---|
| Name | The display name shown in the dashboard. |
| Repository URL | The HTTPS clone URL for your Git repository. |
| Git Provider | GitHub or GitLab. This determines how BuildMagic authenticates when cloning. |
| Project Type | The framework and platform (Flutter, iOS Native, Android Native, React Native). |
| Bundle ID | Your iOS Bundle Identifier (e.g., com.yourcompany.app). Required for iOS code signing and for resolving build numbers from App Store Connect. |
| Project path | Where the project sits inside the repository. Detected automatically, including inside a monorepo; set it explicitly when detection picks the wrong directory. |
| Ignore repository config | Run the default pipeline even when the repository contains a buildmagic.yaml or codemagic.yaml. Useful for comparing the two, or when the committed file is meant for another CI service. |
Per-app settings tabs
An application's Settings page holds more than the fields above:
- Environment — variable groups belonging to this app only. See Environment Variables.
- Code signing — which keystore and which Google Play service account this app uses, chosen from the ones your team has uploaded. The certificates themselves live at team level; see Code Signing.
- buildmagic.yaml — edit the pipeline from the dashboard without committing to the repository.
Repository Access
BuildMagic clones your repository using the OAuth token from your connected Git provider. This means:
- You must have read access to the repository on GitHub or GitLab.
- Private repositories work automatically — no deploy keys or SSH setup required.
- If you disconnect your Git provider in settings, builds for apps using that provider will fail to clone until you reconnect.
Deleting an Application
To delete an application, open it, go to the Settings tab, scroll to the bottom, and click Delete Application. This permanently removes the app along with all its workflows, build history, and configuration. Build artifacts stored separately are not automatically deleted.