Skip to content

Instantly share code, notes, and snippets.

@longcao
Created December 4, 2025 17:09
Show Gist options
  • Select an option

  • Save longcao/684e596a3f5065600126eba0932ac65d to your computer and use it in GitHub Desktop.

Select an option

Save longcao/684e596a3f5065600126eba0932ac65d to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
set -uo pipefail
PACKAGES=(
# Other dirs
"//src/scala/example_lib/..."
"//src/scala/org/..."
"//src/scala/scala/..."
# Other src/scala/com/ dirs
"//src/scala/com/mongodb/..."
"//src/scala/com/twitter/..."
# Main stripe dirs
//src/scala/com/stripe/abecs/...
//src/scala/com/stripe/abyss/...
//src/scala/com/stripe/acceptance/...
//src/scala/com/stripe/acceptance_reporting/...
//src/scala/com/stripe/access_and_attribution/...
//src/scala/com/stripe/account_capabilities/...
//src/scala/com/stripe/account_context/...
//src/scala/com/stripe/account_enablement_primitives/...
//src/scala/com/stripe/account_recommendations/...
//src/scala/com/stripe/account_services/...
//src/scala/com/stripe/account_signals/...
//src/scala/com/stripe/acquiring/...
//src/scala/com/stripe/active_users/...
//src/scala/com/stripe/advanced_attacks/...
//src/scala/com/stripe/adw/...
//src/scala/com/stripe/aggregates/...
//src/scala/com/stripe/amazon_reporting/...
//src/scala/com/stripe/analytics/...
//src/scala/com/stripe/anaplan/...
//src/scala/com/stripe/anomaly/...
//src/scala/com/stripe/anomaly_detection/...
//src/scala/com/stripe/apac_growth/...
//src/scala/com/stripe/api_experience/...
//src/scala/com/stripe/api_platform/...
//src/scala/com/stripe/apiori/...
//src/scala/com/stripe/apollo/...
//src/scala/com/stripe/appflow/...
//src/scala/com/stripe/appsec_foundations/...
//src/scala/com/stripe/aqueduct/...
//src/scala/com/stripe/archiver/...
//src/scala/com/stripe/astro_insights/...
//src/scala/com/stripe/auth_opt/...
//src/scala/com/stripe/auth_rates/...
//src/scala/com/stripe/authentication/...
//src/scala/com/stripe/authorization_infrastructure/...
//src/scala/com/stripe/baas/...
//src/scala/com/stripe/baas_banking/...
//src/scala/com/stripe/backfill/...
//src/scala/com/stripe/bank_connections/...
//src/scala/com/stripe/bankintegrations/...
//src/scala/com/stripe/batch_features/...
//src/scala/com/stripe/bazel/...
//src/scala/com/stripe/beehive/...
//src/scala/com/stripe/billing/...
//src/scala/com/stripe/billing_dw/...
//src/scala/com/stripe/billing_growth/...
//src/scala/com/stripe/blueprint/...
//src/scala/com/stripe/brexit/...
//src/scala/com/stripe/build/...
//src/scala/com/stripe/buy_button/...
//src/scala/com/stripe/canary/...
//src/scala/com/stripe/capital/...
//src/scala/com/stripe/card_bin_ranges/...
//src/scala/com/stripe/card_testing/...
//src/scala/com/stripe/cards/...
//src/scala/com/stripe/cards_auth/...
//src/scala/com/stripe/cards_integrations_offline/...
//src/scala/com/stripe/cards_vault/...
//src/scala/com/stripe/cartographer/...
//src/scala/com/stripe/cash_and_transaction_speed/...
//src/scala/com/stripe/cash_data/...
//src/scala/com/stripe/cash_flows_infra/...
//src/scala/com/stripe/cash_forecasting/...
//src/scala/com/stripe/cau/...
//src/scala/com/stripe/cdm/...
//src/scala/com/stripe/cdw/...
//src/scala/com/stripe/change_data_capture/...
//src/scala/com/stripe/change_management/...
//src/scala/com/stripe/charge_integration_signature/...
//src/scala/com/stripe/checkout/...
//src/scala/com/stripe/checkout_conversion/...
//src/scala/com/stripe/checkout_fe/...
//src/scala/com/stripe/chronon/...
//src/scala/com/stripe/churn/...
//src/scala/com/stripe/clearbit/...
//src/scala/com/stripe/communia/...
//src/scala/com/stripe/communia_sales/...
//src/scala/com/stripe/communia_sales_core/...
//src/scala/com/stripe/company_lookalike/...
//src/scala/com/stripe/compartmentsgraph/...
//src/scala/com/stripe/compliance/...
//src/scala/com/stripe/compliance_applications/...
//src/scala/com/stripe/connect/...
//src/scala/com/stripe/consumer/...
//src/scala/com/stripe/contacts/...
//src/scala/com/stripe/contentment/...
//src/scala/com/stripe/controlplanes/...
//src/scala/com/stripe/core_data/...
//src/scala/com/stripe/cost_ledger/...
//src/scala/com/stripe/cost_platform/...
//src/scala/com/stripe/costopt/...
//src/scala/com/stripe/costs/...
//src/scala/com/stripe/credit/...
//src/scala/com/stripe/credit_decisions/...
//src/scala/com/stripe/crunchbase/...
//src/scala/com/stripe/crypto_eng/...
//src/scala/com/stripe/customer_engagement/...
//src/scala/com/stripe/customer_insights/...
//src/scala/com/stripe/customer_intelligence/...
//src/scala/com/stripe/customer_panorama/...
//src/scala/com/stripe/customer_search/...
//src/scala/com/stripe/customerportal/...
//src/scala/com/stripe/dashboard_data/...
//src/scala/com/stripe/dashboard_foundation/...
//src/scala/com/stripe/dashxp/...
//src/scala/com/stripe/data/...
//src/scala/com/stripe/data_common/...
//src/scala/com/stripe/data_environments/...
//src/scala/com/stripe/data_governance/...
//src/scala/com/stripe/data_ingestion/...
//src/scala/com/stripe/data_movement/...
//src/scala/com/stripe/data_orchestration/...
//src/scala/com/stripe/data_portability/...
//src/scala/com/stripe/data_privacy_technologies/...
//src/scala/com/stripe/data_productivity/...
//src/scala/com/stripe/data_quality/...
//src/scala/com/stripe/data_transformation/...
//src/scala/com/stripe/data_warehouse_analytics/...
//src/scala/com/stripe/databricks/...
//src/scala/com/stripe/dataservices/...
//src/scala/com/stripe/deal_ds/...
//src/scala/com/stripe/deal_management/...
//src/scala/com/stripe/deal_pricing/...
//src/scala/com/stripe/decibel/...
//src/scala/com/stripe/denorm/...
//src/scala/com/stripe/deploy/...
//src/scala/com/stripe/dev_tooling/...
//src/scala/com/stripe/devplat/...
//src/scala/com/stripe/diff/...
//src/scala/com/stripe/dim/...
//src/scala/com/stripe/diorama/...
//src/scala/com/stripe/disputes/...
//src/scala/com/stripe/disputes_auto_representment/...
//src/scala/com/stripe/dna/...
//src/scala/com/stripe/doppler/...
//src/scala/com/stripe/dp/...
//src/scala/com/stripe/dsutils/...
//src/scala/com/stripe/efficiency/...
//src/scala/com/stripe/ein/...
//src/scala/com/stripe/elements/...
//src/scala/com/stripe/emea_lpms/...
//src/scala/com/stripe/emerald/...
//src/scala/com/stripe/enrichment/...
//src/scala/com/stripe/etl/...
//src/scala/com/stripe/eva/...
//src/scala/com/stripe/event_enrichment/...
//src/scala/com/stripe/eventbus/...
//src/scala/com/stripe/events/...
//src/scala/com/stripe/events_pipeline/...
//src/scala/com/stripe/example/...
//src/scala/com/stripe/exchange_rates/...
//src/scala/com/stripe/experiments/...
//src/scala/com/stripe/explorador/...
//src/scala/com/stripe/fact/...
//src/scala/com/stripe/falcon9/...
//src/scala/com/stripe/fasttext/...
//src/scala/com/stripe/fdw/...
//src/scala/com/stripe/feature_monitoring/...
//src/scala/com/stripe/feature_store/...
//src/scala/com/stripe/featureflags/...
//src/scala/com/stripe/fee_explainability/...
//src/scala/com/stripe/finagle/...
//src/scala/com/stripe/finance/...
//src/scala/com/stripe/finance_eng_tax/...
//src/scala/com/stripe/finance_forecasts/...
//src/scala/com/stripe/finance_tooling_integration/...
//src/scala/com/stripe/financial_automation/...
//src/scala/com/stripe/financialreporting/...
//src/scala/com/stripe/finbi/...
//src/scala/com/stripe/finbi_india/...
//src/scala/com/stripe/flink/...
//src/scala/com/stripe/float/...
//src/scala/com/stripe/foundation_model/...
//src/scala/com/stripe/fp_reporting/...
//src/scala/com/stripe/fraud_ds/...
//src/scala/com/stripe/fraud_intelligence/...
//src/scala/com/stripe/fx_platform/...
//src/scala/com/stripe/fx_quotes_api/...
//src/scala/com/stripe/galaxy/...
//src/scala/com/stripe/gateway_selection/...
//src/scala/com/stripe/global_apac/...
//src/scala/com/stripe/google_sheets/...
//src/scala/com/stripe/gptn/...
//src/scala/com/stripe/growth_intelligence/...
//src/scala/com/stripe/growth_workability/...
//src/scala/com/stripe/hadoop/...
//src/scala/com/stripe/hadr/...
//src/scala/com/stripe/heavy_keys/...
//src/scala/com/stripe/hive/...
//src/scala/com/stripe/horizon/...
//src/scala/com/stripe/host_cluster/...
//src/scala/com/stripe/hosted_invoice_page/...
//src/scala/com/stripe/hostednotebooks/...
//src/scala/com/stripe/hubble/...
//src/scala/com/stripe/hydra/...
//src/scala/com/stripe/ice_flows_poc/...
//src/scala/com/stripe/iceberg/...
//src/scala/com/stripe/identity/...
//src/scala/com/stripe/identity_platform/...
//src/scala/com/stripe/identity_product/...
//src/scala/com/stripe/imaging/...
//src/scala/com/stripe/inb_billing/...
//src/scala/com/stripe/infra_stages/...
//src/scala/com/stripe/inscribe/...
//src/scala/com/stripe/integ_hlth/...
//src/scala/com/stripe/integration/...
//src/scala/com/stripe/intelligent_decisioning/...
//src/scala/com/stripe/international_tax/...
//src/scala/com/stripe/isolated_environments/...
//src/scala/com/stripe/issuing_compliance/...
//src/scala/com/stripe/issuing_data/...
//src/scala/com/stripe/issuing_fraud_detection/...
//src/scala/com/stripe/issuing_reporting/...
//src/scala/com/stripe/iterator/...
//src/scala/com/stripe/jobmeta/...
//src/scala/com/stripe/kafka/...
//src/scala/com/stripe/kafkatopicapi/...
//src/scala/com/stripe/kafkavalidator/...
//src/scala/com/stripe/kepler_export/...
//src/scala/com/stripe/kernel_metrics/...
//src/scala/com/stripe/latam/...
//src/scala/com/stripe/latency/...
//src/scala/com/stripe/lead_management/...
//src/scala/com/stripe/lead_scoring/...
//src/scala/com/stripe/ledger/...
//src/scala/com/stripe/link/...
//src/scala/com/stripe/liquidity_risk/...
//src/scala/com/stripe/llm/...
//src/scala/com/stripe/locality_zone/...
//src/scala/com/stripe/logs/...
//src/scala/com/stripe/losses/...
//src/scala/com/stripe/lpm/...
//src/scala/com/stripe/lpm_adoption/...
//src/scala/com/stripe/lpm_common_services/...
//src/scala/com/stripe/mantis/...
//src/scala/com/stripe/marketing/...
//src/scala/com/stripe/marketo/...
//src/scala/com/stripe/mce_insights/...
//src/scala/com/stripe/mdm/...
//src/scala/com/stripe/merchant/...
//src/scala/com/stripe/merchant_classification/...
//src/scala/com/stripe/merchant_credit/...
//src/scala/com/stripe/merchant_enablement/...
//src/scala/com/stripe/merchant_fraud/...
//src/scala/com/stripe/merchant_health/...
//src/scala/com/stripe/merchant_intelligence/...
//src/scala/com/stripe/merchant_product_description_topics/...
//src/scala/com/stripe/merchantfraudfeatures/...
//src/scala/com/stripe/merchantxp/...
//src/scala/com/stripe/messaging/...
//src/scala/com/stripe/migrate_iceberg/...
//src/scala/com/stripe/mirador/...
//src/scala/com/stripe/ml/...
//src/scala/com/stripe/ml_observability/...
//src/scala/com/stripe/ml_pipeline/...
//src/scala/com/stripe/mlbatchfeatures/...
//src/scala/com/stripe/mlserving/...
//src/scala/com/stripe/money_movement_product/...
//src/scala/com/stripe/mongo/...
//src/scala/com/stripe/mongo_scalability/...
//src/scala/com/stripe/monster/...
//src/scala/com/stripe/mugatu/...
//src/scala/com/stripe/multiregion/...
//src/scala/com/stripe/net/...
//src/scala/com/stripe/notebooks/...
//src/scala/com/stripe/observability/...
//src/scala/com/stripe/observability_monitoring/...
//src/scala/com/stripe/online_db/...
//src/scala/com/stripe/opal/...
//src/scala/com/stripe/ops/...
//src/scala/com/stripe/opsinfra/...
//src/scala/com/stripe/optimization_ml/...
//src/scala/com/stripe/org/...
//src/scala/com/stripe/org_credit/...
//src/scala/com/stripe/orr/...
//src/scala/com/stripe/orr_metrics_daily/...
//src/scala/com/stripe/palladium/...
//src/scala/com/stripe/panel/...
//src/scala/com/stripe/papertest/...
//src/scala/com/stripe/parquet/...
//src/scala/com/stripe/paseo/...
//src/scala/com/stripe/payarch/...
//src/scala/com/stripe/paydash/...
//src/scala/com/stripe/payins_dashboard/...
//src/scala/com/stripe/payins_data_tiering/...
//src/scala/com/stripe/payins_primitives/...
//src/scala/com/stripe/payment_flows/...
//src/scala/com/stripe/paymentrecords/...
//src/scala/com/stripe/payments_data_views/...
//src/scala/com/stripe/payouts/...
//src/scala/com/stripe/payweb/...
//src/scala/com/stripe/payx/...
//src/scala/com/stripe/penalty_box/...
//src/scala/com/stripe/people_data_labs/...
//src/scala/com/stripe/performance/...
//src/scala/com/stripe/perimeter_security/...
//src/scala/com/stripe/pin/...
//src/scala/com/stripe/pinfra/...
//src/scala/com/stripe/pinot/...
//src/scala/com/stripe/platmon/...
//src/scala/com/stripe/pricing_tables/...
//src/scala/com/stripe/privacy/...
//src/scala/com/stripe/privacy_products/...
//src/scala/com/stripe/product_adoption/...
//src/scala/com/stripe/radar/...
//src/scala/com/stripe/radar_experience/...
//src/scala/com/stripe/radar_foundations/...
//src/scala/com/stripe/rdp/...
//src/scala/com/stripe/reckointegrations/...
//src/scala/com/stripe/reconciliation_product/...
//src/scala/com/stripe/regreporting/...
//src/scala/com/stripe/regulatory_reporting/...
//src/scala/com/stripe/reliability/...
//src/scala/com/stripe/reporting_foundations/...
//src/scala/com/stripe/reporting_frameworks/...
//src/scala/com/stripe/reporting_ux_platform/...
//src/scala/com/stripe/revplat/...
//src/scala/com/stripe/revtools/...
//src/scala/com/stripe/rfm/...
//src/scala/com/stripe/risk/...
//src/scala/com/stripe/risk_data/...
//src/scala/com/stripe/risk_lpm_datasets/...
//src/scala/com/stripe/risk_observability/...
//src/scala/com/stripe/rosalind/...
//src/scala/com/stripe/ruby_infra/...
//src/scala/com/stripe/runway/...
//src/scala/com/stripe/s3/...
//src/scala/com/stripe/s3_inventory/...
//src/scala/com/stripe/s3_retention/...
//src/scala/com/stripe/salesforce/...
//src/scala/com/stripe/salesforce_support/...
//src/scala/com/stripe/sandbox/...
//src/scala/com/stripe/scaling_prediction/...
//src/scala/com/stripe/schema/...
//src/scala/com/stripe/schema_registry/...
//src/scala/com/stripe/scrooge/...
//src/scala/com/stripe/search/...
//src/scala/com/stripe/security/...
//src/scala/com/stripe/seller_systems/...
//src/scala/com/stripe/semblance/...
//src/scala/com/stripe/sentinel/...
//src/scala/com/stripe/sepa/...
//src/scala/com/stripe/sequins/...
//src/scala/com/stripe/service_networking/...
//src/scala/com/stripe/service_ops/...
//src/scala/com/stripe/setup_intent_decline_model/...
//src/scala/com/stripe/shepherd/...
//src/scala/com/stripe/sigma/...
//src/scala/com/stripe/signals_crawling/...
//src/scala/com/stripe/signals_platform/...
//src/scala/com/stripe/sima_charges_to_parquet/...
//src/scala/com/stripe/smor/...
//src/scala/com/stripe/snapshot_diff/...
//src/scala/com/stripe/spark/...
//src/scala/com/stripe/speed/...
//src/scala/com/stripe/src/...
//src/scala/com/stripe/storage/...
//src/scala/com/stripe/stream_infrastructure/...
//src/scala/com/stripe/streaming/...
//src/scala/com/stripe/stripe_apps/...
//src/scala/com/stripe/summingbird/...
//src/scala/com/stripe/support/...
//src/scala/com/stripe/supportability_enforcement/...
//src/scala/com/stripe/supportability_intelligence/...
//src/scala/com/stripe/systems_data_services/...
//src/scala/com/stripe/tax/...
//src/scala/com/stripe/tax_fact/...
//src/scala/com/stripe/terminal/...
//src/scala/com/stripe/territory_carving/...
//src/scala/com/stripe/testdata/...
//src/scala/com/stripe/third_party_payment_method/...
//src/scala/com/stripe/threatops/...
//src/scala/com/stripe/thriftbson/...
//src/scala/com/stripe/touchtech/...
//src/scala/com/stripe/tracing/...
//src/scala/com/stripe/transaction_laundering/...
//src/scala/com/stripe/transformation/...
//src/scala/com/stripe/treasury_frm/...
//src/scala/com/stripe/treasury_risk/...
//src/scala/com/stripe/unified_customer/...
//src/scala/com/stripe/unified_developer_activities/...
//src/scala/com/stripe/user_accounting_platform/...
//src/scala/com/stripe/user_churn/...
//src/scala/com/stripe/utils/...
//src/scala/com/stripe/validation/...
//src/scala/com/stripe/verification/...
//src/scala/com/stripe/xml/...
//src/scala/com/stripe/zendesk/...
//src/scala/com/stripe/zeppelin/...
//src/scala/com/stripe/zoolander/...
//src/scala/com/stripe/zoolander-archival/...
//src/scala/com/stripe/zoolander-index/...
)
LOG_DIR="/pay/userdata/scalapb_build_logs"
mkdir -p "$LOG_DIR"
for PACKAGE in "${PACKAGES[@]}"; do
# Convert package path to a safe filename
SAFE_NAME=$(echo "$PACKAGE" | sed 's|[^a-zA-Z0-9]|_|g; s|^_*||; s|_*$||')
LOG_FILE="${LOG_DIR}/${SAFE_NAME}.log"
echo ""
echo "Building package: $PACKAGE"
echo "Log: $LOG_FILE"
# Run bazel build and redirect stderr to the error file
if bazel build --config=llm --color=no --keep_going "$PACKAGE" 2> "$LOG_FILE"; then
echo "✅ Build successful"
else
echo "❌ Build failed"
fi
done
echo ""
echo "All builds complete."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment