Skip to content

Futured iOS Fastlane

Centralized Fastlane configuration for iOS projects at Futured. This repository provides reusable lanes for common CI/CD tasks including provisioning, testing, beta/release builds, and App Store Connect management.


What's New in 2.0.0

Breaking Changes

  • Removed plugin fastlane-plugin-badge
  • Removed plugin fastlane-plugin-brew
  • ENV var BADGE_DARK is no longer used
  • ENV var PR_TITLE is no longer used

New

  • ENV var CHANGELOG

Full Changelog


How it works

The Fastfile in this repository is designed to be imported by individual iOS projects using Fastlane's import_from_git feature. Organizations set their specific values (team IDs, email, certificate repo URL) via environment variables, then import this Fastfile to get all lanes.

# Your organization's adapter Fastfile
ENV["USER_EMAIL"] = "ops@example.com"
ENV["TEAM_ID"] = "YOUR_TEAM_ID"
ENV["ASC_TEAM_ID"] = "YOUR_ASC_TEAM_ID"
ENV["MATCH_GIT_URL"] = "git@github.com:your-org/apple-certificates.git"
ENV["MATCH_GIT_BRANCH"] = "master"
ENV["DEVICE_LIST_GIT_URL"] = "git@github.com:your-org/fastlane.git"
ENV["DEVICE_LIST_GIT_BRANCH"] = "main"

import_from_git(url: "https://github.com/futuredapp/ios-fastlane.git")

Consumer projects then import from your organization's adapter:

ENV["APP_IDENTIFIER"] = "app.futured.myapp"
ENV["APP_SCHEME"] = "MyApp"
ENV["APP_NAME"] = "My App"

import_from_git(url: "git@github.com:your-org/fastlane.git")

Available lanes

Lane Description
provisioning Download development certificates and provisioning profiles
update_provisioning Register devices and update all profiles
update_release_provisioning Update release provisioning profiles only
test Run tests and report status to GitHub
beta Build and upload beta to TestFlight
release Build and upload release to TestFlight
create_apps Create app identifiers and apps in App Store Connect
create_apps_for_extension Create app identifiers for extensions
generate_graphql_operations Generate GraphQL models via Apollo

Required plugins

Plugin Purpose
fastlane-plugin-versioning Sets version and build numbers