103 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| default_platform(:ios)
 | |
| 
 | |
| platform :ios do
 | |
| 
 | |
|   desc "Load the App Store Connect API token"
 | |
|   lane :load_asc_api_token do
 | |
|     app_store_connect_api_key(
 | |
|       key_id: ENV["IOS_ASC_KEY_ID"],
 | |
|       issuer_id: ENV["IOS_ASC_ISSUER_ID"],
 | |
|       key_content: ENV["IOS_ASC_KEY"],
 | |
|       is_key_content_base64: true,
 | |
|       in_house: false
 | |
|     )
 | |
|   end
 | |
| 
 | |
| 
 | |
|   desc "Deploy a new version to closed testing (testflight)"
 | |
|   lane :deploy_testing do
 | |
|     build_name = ENV["BUILD_NAME"]
 | |
|     build_number = ENV["BUILD_NUMBER"]
 | |
|     
 | |
|     load_asc_api_token
 | |
|     api_key = lane_context[SharedValues::APP_STORE_CONNECT_API_KEY]
 | |
| 
 | |
|     sync_code_signing(
 | |
|       api_key: api_key,
 | |
|       type: "appstore",
 | |
|       readonly: true,
 | |
|     )
 | |
| 
 | |
| 
 | |
|     sh(
 | |
|       "flutter",
 | |
|       "build",
 | |
|       "ipa",
 | |
|       "--debug",
 | |
|       "--build-name=#{build_name}",
 | |
|       "--build-number=#{build_number}",
 | |
|     )
 | |
| 
 | |
|     # sign the app (whithout rebuilding it)
 | |
|     build_app(
 | |
|       skip_build_archive: true,
 | |
|       archive_path: "../build/ios/archive/Runner.xcarchive"
 | |
|     )
 | |
| 
 | |
|     upload_to_testflight(
 | |
|       skip_waiting_for_build_processing: true,
 | |
|     )
 | |
|   end
 | |
| 
 | |
| 
 | |
|   desc "Deploy a new version as a full release"
 | |
|   lane :deploy_release do
 | |
|     build_name = ENV["BUILD_NAME"]
 | |
|     build_number = ENV["BUILD_NUMBER"]
 | |
|     
 | |
|     load_asc_api_token
 | |
|     api_key = lane_context[SharedValues::APP_STORE_CONNECT_API_KEY]
 | |
| 
 | |
|     sync_code_signing(
 | |
|       api_key: api_key,
 | |
|       type: "appstore",
 | |
|       readonly: true,
 | |
|     )
 | |
| 
 | |
|     # replace secrets by real values, the stupid way
 | |
|     sh(
 | |
|       "sed",
 | |
|       "-i",
 | |
|       "",
 | |
|       "s/IOS_GOOGLE_MAPS_API_KEY/#{ENV["IOS_GOOGLE_MAPS_API_KEY"]}/g",
 | |
|       "../Runner/AppDelegate.swift"
 | |
| 
 | |
|     )
 | |
| 
 | |
|     sh(
 | |
|       "flutter",
 | |
|       "build",
 | |
|       "ipa",
 | |
|       "--release",
 | |
|       "--build-name=#{build_name}",
 | |
|       "--build-number=#{build_number}",
 | |
|     )
 | |
| 
 | |
|     # sign the app (whithout rebuilding it)
 | |
|     build_app(
 | |
|       skip_build_archive: true,
 | |
|       archive_path: "../build/ios/archive/Runner.xcarchive"
 | |
|     )
 | |
|   
 | |
|     upload_to_app_store(
 | |
|       skip_screenshots: true,
 | |
|       skip_metadata: true,
 | |
|       precheck_include_in_app_purchases: false,
 | |
|       
 | |
|       submit_for_review: true,
 | |
|       automatic_release: true,
 | |
|       # automatically release the app after review
 | |
|     )
 | |
|   end
 | |
| end
 |