Skip to content

getsentry/launchpad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Launchpad

A microservice for analyzing iOS and Android apps.

Installation

Development Setup

git clone https://github.com/getsentry/launchpad.git
cd launchpad
devenv sync

If you don't have devenv installed, follow these instructions.

Using devservices

devservices provides shared Kafka infrastructure used by multiple Sentry services:

# Start shared dependencies (Kafka)
devservices up

# In another terminal, start the service
launchpad serve

# Or run integration tests
make test-service-integration

# Stop shared dependencies
devservices down

Usage

Analyze an Android App

# Analyze an apk with a custom output location

Testing Kafka Integration

  • GET /health - Basic health check
  • GET /ready - Readiness check

Testing Kafka Integration

# Send a test message to Kafka
make test-kafka-message

# Send multiple test messages
make test-kafka-multiple

CLI Analysis (Development)

# Direct iOS analysis
launchpad apple-app path/to/app.xcarchive.zip

# Analyze an APK, AAB or Zip containing a single APK or AAB
launchpad android path/to/app.apk
launchpad android path/to/app.aab
launchpad android path/to/zipped_aab.zip

# Skip time-consuming analysis for faster results
launchpad apple-app path/to/app.xcarchive.zip --skip-swift-metadata --skip-symbols

# Custom output location
launchpad apple-app path/to/app.xcarchive.zip -o my-report.json
launchpad android app.apk -o detailed-report.json

Usage

$ launchpad apple-app --help
Usage: launchpad apple-app [OPTIONS] INPUT_PATH

  Analyze an Apple app bundle and generate a size report.

  INPUT_PATH can be: - .xcarchive.zip file

Options:
  -o, --output PATH      Output path for the JSON analysis report.  [default:
                         apple-app-analysis-report.json]
  --working-dir PATH     Working directory for temporary files (default:
                         system temp).
  --skip-swift-metadata  Skip Swift metadata parsing for faster analysis.
  --skip-symbols         Skip symbol extraction and analysis.
  --skip-range-mapping   Skip range mapping for binary content categorization.
  --skip-treemap         Skip treemap generation for hierarchical size
                         analysis.
  -v, --verbose          Enable verbose logging output.
  -q, --quiet            Suppress all output except errors.
  --format [json|table]  Output format for results.  [default: json]
  --help                 Show this message and exit
$ launchpad android --help
Usage: launchpad android [OPTIONS] INPUT_PATH

  Analyze an Android app bundle and generate a size report.

  INPUT_PATH can be: - Android .apk file - Android .aab file (coming soon)

Options:
  -o, --output PATH      Output path for the JSON analysis report.  [default:
                         android-analysis-report.json]
  -v, --verbose          Enable verbose logging output.
  -q, --quiet            Suppress all output except errors.
  --format [json|table]  Output format for results.  [default: json]
  --help                 Show this message and exit.

Development

Service Development

# Development with shared infrastructure
devservices up                  # Start Kafka via devservices
launchpad serve

Testing

# All tests (unit + integration)
make test

# Unit tests only
make test-unit

# Integration tests only
make test-integration

# Integration test with devservices
make test-service-integration

Code Quality

# Run all quality checks (check-format + check-lint + check-types)
make check

# Autofix as many checks as possible.
make fix

# Full CI pipeline
make ci

About

No description or website provided.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors 8