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.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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: "JitsiMeetBroadcast Extension/Info.plist",
  19. app_identifier: "com.atlassian.JitsiMeet.ios.broadcast"
  20. )
  21. # Set the (watch) app identifier
  22. update_app_identifier(
  23. xcodeproj: "app/app.xcodeproj",
  24. plist_path: "watchos/app/Info.plist",
  25. app_identifier: "com.atlassian.JitsiMeet.ios.watchkit"
  26. )
  27. # Set the (watch) extension identifier
  28. update_app_identifier(
  29. xcodeproj: "app/app.xcodeproj",
  30. plist_path: "watchos/extension/Info.plist",
  31. app_identifier: "com.atlassian.JitsiMeet.ios.watchkit.extension"
  32. )
  33. update_info_plist(
  34. xcodeproj: "app/app.xcodeproj",
  35. plist_path: "watchos/app/Info.plist",
  36. block: proc do |plist|
  37. plist["WKCompanionAppBundleIdentifier"] = "com.atlassian.JitsiMeet.ios"
  38. end
  39. )
  40. update_info_plist(
  41. xcodeproj: "app/app.xcodeproj",
  42. plist_path: "watchos/extension/Info.plist",
  43. block: proc do |plist|
  44. plist["NSExtension"]["NSExtensionAttributes"]["WKAppBundleIdentifier"] = "com.atlassian.JitsiMeet.ios.watchkit"
  45. end
  46. )
  47. # Inrement the build number by 1
  48. increment_build_number(
  49. build_number: latest_testflight_build_number + 1,
  50. xcodeproj: "app/app.xcodeproj"
  51. )
  52. # Actually build the app
  53. build_app(
  54. scheme: "JitsiMeet",
  55. include_bitcode: true,
  56. include_symbols: true,
  57. export_xcargs: "-allowProvisioningUpdates"
  58. )
  59. # Upload the build to TestFlight (but don't distribute it)
  60. upload_to_testflight(
  61. beta_app_description: ENV["JITSI_CHANGELOG"],
  62. beta_app_feedback_email: ENV["JITSI_REVIEW_EMAIL"],
  63. beta_app_review_info: {
  64. contact_email: ENV["JITSI_REVIEW_EMAIL"],
  65. contact_first_name: ENV["JITSI_REVIEW_NAME"],
  66. contact_last_name: ENV["JITSI_REVIEW_SURNAME"],
  67. contact_phone: ENV["JITSI_REVIEW_PHONE"],
  68. demo_account_name: ENV["JITSI_DEMO_ACCOUNT"],
  69. demo_account_password: ENV["JITSI_DEMO_PASSWORD"],
  70. },
  71. changelog: ENV["JITSI_CHANGELOG"],
  72. demo_account_required: false,
  73. distribute_external: true,
  74. groups: ENV["JITSI_BETA_TESTING_GROUPS"],
  75. reject_build_waiting_for_review: true,
  76. uses_non_exempt_encryption: false
  77. )
  78. # Upload dSYMs to Crashlytics
  79. download_dsyms
  80. upload_symbols_to_crashlytics
  81. # Cleanup
  82. clean_build_artifacts
  83. reset_git_repo(skip_clean: true)
  84. end
  85. end