You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Fastfile 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. ENV["FASTLANE_SKIP_UPDATE_CHECK"] = "1"
  2. opt_out_usage
  3. default_platform(:ios)
  4. platform :ios do
  5. desc "Push a new beta build to TestFlight"
  6. lane :deploy do
  7. # Make sure we are on a clean tree
  8. ensure_git_status_clean
  9. # Set the app identifier
  10. update_app_identifier(
  11. xcodeproj: "app/app.xcodeproj",
  12. plist_path: "src/Info.plist",
  13. app_identifier: "com.atlassian.JitsiMeet.ios"
  14. )
  15. # Set the broadcast extension identifier
  16. update_app_identifier(
  17. xcodeproj: "app/app.xcodeproj",
  18. plist_path: "broadcast-extension/Info.plist",
  19. app_identifier: "com.atlassian.JitsiMeet.ios.broadcast"
  20. )
  21. update_info_plist(
  22. xcodeproj: "app/app.xcodeproj",
  23. plist_path: "src/Info.plist",
  24. block: proc do |plist|
  25. plist["RTCScreenSharingExtension"] = "com.atlassian.JitsiMeet.ios.broadcast"
  26. end
  27. )
  28. # Set the (watch) app identifier
  29. update_app_identifier(
  30. xcodeproj: "app/app.xcodeproj",
  31. plist_path: "watchos/app/Info.plist",
  32. app_identifier: "com.atlassian.JitsiMeet.ios.watchkit"
  33. )
  34. # Set the (watch) extension identifier
  35. update_app_identifier(
  36. xcodeproj: "app/app.xcodeproj",
  37. plist_path: "watchos/extension/Info.plist",
  38. app_identifier: "com.atlassian.JitsiMeet.ios.watchkit.extension"
  39. )
  40. update_info_plist(
  41. xcodeproj: "app/app.xcodeproj",
  42. plist_path: "watchos/app/Info.plist",
  43. block: proc do |plist|
  44. plist["WKCompanionAppBundleIdentifier"] = "com.atlassian.JitsiMeet.ios"
  45. end
  46. )
  47. update_info_plist(
  48. xcodeproj: "app/app.xcodeproj",
  49. plist_path: "watchos/extension/Info.plist",
  50. block: proc do |plist|
  51. plist["NSExtension"]["NSExtensionAttributes"]["WKAppBundleIdentifier"] = "com.atlassian.JitsiMeet.ios.watchkit"
  52. end
  53. )
  54. # Inrement the build number by 1
  55. increment_build_number(
  56. build_number: latest_testflight_build_number + 1,
  57. xcodeproj: "app/app.xcodeproj"
  58. )
  59. # Actually build the app
  60. build_app(
  61. scheme: "JitsiMeet",
  62. include_bitcode: true,
  63. include_symbols: true,
  64. export_xcargs: "-allowProvisioningUpdates"
  65. )
  66. # Upload the build to TestFlight (but don't distribute it)
  67. upload_to_testflight(
  68. beta_app_description: ENV["JITSI_CHANGELOG"],
  69. beta_app_feedback_email: ENV["JITSI_REVIEW_EMAIL"],
  70. beta_app_review_info: {
  71. contact_email: ENV["JITSI_REVIEW_EMAIL"],
  72. contact_first_name: ENV["JITSI_REVIEW_NAME"],
  73. contact_last_name: ENV["JITSI_REVIEW_SURNAME"],
  74. contact_phone: ENV["JITSI_REVIEW_PHONE"],
  75. demo_account_name: ENV["JITSI_DEMO_ACCOUNT"],
  76. demo_account_password: ENV["JITSI_DEMO_PASSWORD"],
  77. },
  78. changelog: ENV["JITSI_CHANGELOG"],
  79. demo_account_required: false,
  80. distribute_external: true,
  81. groups: ENV["JITSI_BETA_TESTING_GROUPS"],
  82. reject_build_waiting_for_review: true,
  83. uses_non_exempt_encryption: false
  84. )
  85. # Upload dSYMs to Crashlytics
  86. download_dsyms
  87. upload_symbols_to_crashlytics
  88. # Cleanup
  89. clean_build_artifacts
  90. reset_git_repo(skip_clean: true)
  91. end
  92. end