tamtom

gplay-migrate-fastlane

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.

tamtom 45 6 Updated 6mo ago
GitHub

Install

npx skillscat add tamtom/gplay-cli-skills/gplay-migrate-fastlane

Install via the SkillsCat registry.

About this skill

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.

SKILL.md

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 ./metadata

Dry run (preview without writing files)

gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata \
  --dry-run

Migrate specific locales only

gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata \
  --locales en-US,es-ES,fr-FR

Dry run with specific locales

gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata \
  --locales en-US,ja-JP \
  --dry-run

Flags

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.txt are consolidated into listing.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 ./metadata

Incremental 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-JP

CI/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
fi

Replacing 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

  1. Always dry-run first - Preview the migration output before writing files.
  2. Migrate locale by locale - Start with your primary locale and verify.
  3. Keep Fastlane source - Do not delete the Fastlane directory until fully migrated and verified.
  4. Validate after migration - Use gplay validate listing to check character limits.
  5. Update CI/CD gradually - Replace Fastlane commands one at a time.
  6. Version control the output - Commit migrated metadata to track changes.