MCPcopy Index your code
hub / github.com/MTtankkeo/flutter-fastlane-action

github.com/MTtankkeo/flutter-fastlane-action @v1.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.4 ↗ · + Follow
26 symbols 51 edges 8 files 3 documented · 12% updated 6mo agov1.4 · 2025-12-23★ 33

Browse by type

Functions 15 Types & classes 11
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Introduction

This Flutter package provides a one-step CI/CD solution for Flutter apps. For a project without any Fastlane setup, it automatically configures all necessary Fastlane settings, builds your Android and iOS apps, and deploys them to Google Play and the App Store with zero manual setup. Developers only need to provide six essential configuration values for iOS deployment in GitHub Secrets.

[!TIP] If you are new to Fastlane or CI/CD, use GitHub Wiki - Basic-Settings to learn the basic concepts and usage, and follow along to apply them to your project.

Tested And Supported Runners

🟢 Stable 🟡 Testing...

🍎 OS Type ⚡ Status 🧩 Support
macos-14 🟡 Android, iOS
macos-15 (latest) 🟢 Android, iOS
macos-26 🟡 Android, iOS
ubuntu-latest 🟢 Android

Useage

Before using this action, the GitHub Actions runner must have the following setup: - A Flutter SDK compatible with your app is installed and configured

subosito/flutter-action - Java is installed for Android builds

actions/setup-java - Android SDK is installed and properly configured

android-actions/setup-android - SSH keys are configured to access your Fastlane match repository

webfactory/ssh-agent

Example

If you want to see an example or reference a template, check the templates/basic_deploy.yml or templates/advanced_depoy.yml files.

- name: Deploy Android and iOS
  uses: MTtankkeo/flutter-fastlane-action@v1.4
  with:
    version-name: ${{ github.event.inputs.VERSION_NAME }}
    build-number: ${{ github.event.inputs.BUILD_NUMBER }}
    release-note: ${{ github.event.inputs.RELEASE_NOTE }}
    match-repository: {...}
    match-password: ${{ secrets.MATCH_PASSWORD }}
    appstore-connect-issuer-id: ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
    appstore-connect-key-id: ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
    appstore-connect-key: ${{ secrets.APP_STORE_CONNECT_KEY }}
    appstore-team-id: ${{ secrets.APP_STORE_TEAM_ID }}

How to set additional Flutter build options?

Sometimes you may need to provide extra build options to Flutter, like choosing a flavor or specifying a different main entrypoint.

You can do this easily with the build-extra input, which passes any additional arguments directly to the Flutter build command.

# Build a production flavor with a custom entrypoint.
build-extra: --flavor prod --target "lib/main_prod.dart"

How to build only one platform?

You can control which platforms to build using the platform input:

# Build only Android
platform: android

# Build only iOS
platform: ios

# Build both platforms
platform: all

GitHub Actions Inputs

These are the input parameters for the GitHub Actions workflow.

🔹Required

Name Description Type
version-name🔹 Version name for the build String
build-number🔹 Build number for the build Number
release-note Release note for the build String?
release-note-language Language code for the release note (e.g., 'en-US', 'ko-KR') String?
app-id Common app identifier for both platforms (optional if platform-specific IDs are provided) String?
android-app-id Application ID for Android String?
ios-app-id Application bundle identifier for iOS String?
match-repository Repository for Fastlane match certificates String?
match-password Password for Fastlane match String?
match-keychain-password Optional keychain password for Fastlane match String?
appstore-connect-issuer-id Issuer ID for App Store Connect API key String?
appstore-connect-key-id Key ID for App Store Connect API key String?
appstore-connect-key API key content for App Store Connect String?
appstore-team-id Team ID for the Apple Developer account String?
service-account-path File path to store the Google service account JSON String?
service-account-json Google service account JSON content for Play Store (Base64-encoded) Base64?
skip-wait-processing Skip waiting for build processing after upload (true/false). And corresponds to Fastlane skip_waiting_for_build_processing option String?
flutter-dir Directory of the Flutter project String?
android-dir Directory of the Android project String?
ios-dir Directory of the iOS project String?
build-extra Additional Flutter build options or flags. Can include multiple tokens like '--flavor prod "lib/main_prod.dart"'. String?
platform Specifies which platform to build: android, ios, or all. iOS builds require a macOS runner. String?

Core symbols most depended-on inside this repo

Shape

Method 14
Class 11
Function 1

Languages

TypeScript100%

Modules by API surface

src/components/fastlane_ios_runner.ts7 symbols
src/components/fastlane_android_runner.ts7 symbols
src/components/fastlane.ts4 symbols
src/components/pubspec.ts3 symbols
src/components/config.ts3 symbols
src/index.ts1 symbols
src/components/fastlane_runner.ts1 symbols

For agents

$ claude mcp add flutter-fastlane-action \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page