Migration from Fastlane supply to gplay CLI using the gplay migrate fastlane command. Use when asked to convert a Fastlane-based Play Store workflow to gplay, or to import existing Fastlane metadata directories.
Install
npx skillscat add tamtom/gplay-cli-skills/gplay-migrate-fastlane Install via the SkillsCat registry.
We need to produce a 2-3 sentence plain-text summary, objective, factual, no marketing language, no bullet points, no headings, no markdown. At most 60 words. Must describe what skill does, what problem it solves, when to use. We need to ensure we don't exceed 60 words. Let's craft about 45 words. Sentence 1: The skill provides a command to migrate Fastlane supply metadata to the gplay CLI format. Sentence 2: It solves the problem of converting existing Fastlane Play Store workflows to gplay, enabling reuse of metadata without manual rewriting.
Fastlane Migration
Use this skill when you need to migrate from Fastlane supply to the gplay CLI.
Preconditions
- Existing Fastlane metadata directory structure.
- gplay CLI installed and authenticated.
- Familiarity with the source Fastlane directory layout.
Migrate Command
Basic migration
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadataDry run (preview without writing files)
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--dry-runMigrate specific locales only
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--locales en-US,es-ES,fr-FRDry run with specific locales
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--locales en-US,ja-JP \
--dry-runFlags
| Flag | Description | Required |
|---|---|---|
--source |
Path to Fastlane metadata directory | Yes |
--output-dir |
Output directory for gplay metadata | Yes |
--dry-run |
Preview changes without writing files | No |
--locales |
Comma-separated list of locales to migrate | No (all by default) |
What Gets Migrated
The command converts the Fastlane directory structure into the gplay metadata format:
Fastlane source structure
fastlane/metadata/android/
├── en-US/
│ ├── title.txt
│ ├── short_description.txt
│ ├── full_description.txt
│ ├── video.txt
│ ├── changelogs/
│ │ ├── 100.txt
│ │ └── 101.txt
│ └── images/
│ ├── phoneScreenshots/
│ │ ├── 1.png
│ │ └── 2.png
│ ├── icon.png
│ └── featureGraphic.png
├── es-ES/
│ └── ...Migrated output structure
metadata/
├── en-US/
│ ├── listing.json
│ ├── changelogs/
│ │ ├── 100.txt
│ │ └── 101.txt
│ └── images/
│ ├── phoneScreenshots/
│ │ ├── 1.png
│ │ └── 2.png
│ ├── icon.png
│ └── featureGraphic.png
├── es-ES/
│ └── ...File conversions
title.txt,short_description.txt,full_description.txt,video.txtare consolidated intolisting.json.changelogs/are copied as-is.images/are copied as-is.
Workflow Examples
Full migration from Fastlane
# 1. Preview the migration
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--dry-run
# 2. Run the actual migration
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata
# 3. Verify the output
ls -R ./metadata
# 4. Import to Play Store
gplay sync import-listings \
--package com.example.app \
--dir ./metadataIncremental locale migration
# Migrate English first
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--locales en-US
# Verify and test
gplay sync diff-listings \
--package com.example.app \
--dir ./metadata
# Migrate remaining locales
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--locales es-ES,fr-FR,de-DE,ja-JPCI/CD migration validation
# In CI, validate that migration produces expected output
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata-test \
--dry-run
# Check exit code
if [ $? -eq 0 ]; then
echo "Migration validation passed"
else
echo "Migration validation failed"
exit 1
fiReplacing Fastlane Supply Commands
| Fastlane Command | gplay Equivalent |
|---|---|
fastlane supply init |
gplay sync export-listings --dir ./metadata |
fastlane supply |
gplay sync import-listings --dir ./metadata |
fastlane supply --skip_upload_images |
gplay sync import-listings --dir ./metadata |
fastlane supply --track beta |
gplay release --track beta --bundle app.aab |
fastlane supply --track production --rollout 0.1 |
gplay release --track production --bundle app.aab --rollout 10 |
Best Practices
- Always dry-run first - Preview the migration output before writing files.
- Migrate locale by locale - Start with your primary locale and verify.
- Keep Fastlane source - Do not delete the Fastlane directory until fully migrated and verified.
- Validate after migration - Use
gplay validate listingto check character limits. - Update CI/CD gradually - Replace Fastlane commands one at a time.
- Version control the output - Commit migrated metadata to track changes.