Latest upstream author date included at this registry's pinned revision.

gplay-migrate-fastlane

Synced v1.1.0 License: MIT Source: tamtom/gplay-cli-skills/skills/gplay-migrate-fastlane Commit: 10301b2 Latest included change:

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.

Summary

Purpose
Converts a Fastlane Android metadata directory into gplay's file-based format, consolidating listing text in listing.json and preserving changelogs and images.
When to use
Use it when migrating in stages, previewing changes with a dry run, or limiting conversion to selected locales.
Outputs
A gplay metadata directory with per-locale listing.json files and copied changelogs and images; dry runs preview changes without writing files.
Upstream changes (2, latest included 2026-07-04)
439c9ae fix(skills): audit cleanup — correct every command, cut dead weight, add drift guardrail (#3) Updated the migration guide to identify the output as the format used by gplay's file-based metadata commands and corrected the production rollout example from `10` to `0.1`.
f8592d5 feat: add skills for v0.4.2 new commands (vitals, users, migrate) Added a Fastlane-to-gplay migration guide with command examples, options, file-conversion and output details, workflow examples, command mappings, and best practices.
npx skills add "lettucebo/Skills#v2.2.0@gplay-migrate-fastlane" --full-depth

⚠ Available after v2.2.0 is published

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 format used by gplay's file-based metadata commands (metadata pull / metadata push / metadata validate):

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 0.1

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.

History

v1.1.0 baseline-verified 10301b2
v1.1.0 license-refresh 10301b2