diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 12a37f64f..ba86c9d1d 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -1,4 +1,4 @@ -fastlane_version '2.23.0' +fastlane_version '2.28.4' skip_docs platform :ios do @@ -31,7 +31,8 @@ platform :ios do build_ios({ release: false, increment_build: false, - ensure_git_status_clean: false + ensure_git_status_clean: false, + method: 'ad-hoc' }) end @@ -44,10 +45,29 @@ platform :ios do release: true, increment_build: true, ensure_git_status_clean: true, - branch_name: 'ios-beta' + method: 'app-store' }) - pilot + pilot(skip_waiting_for_build_processing: true) + + commit = last_git_commit + + push_to_git_remote( + remote: 'origin', + local_branch: 'ios-beta', + force: false, + tags: false + ) + + unless ENV['GITHUB_TOKEN'].nil? + create_pull_request( + api_token: ENV['GITHUB_TOKEN'], + repo: 'mattermost/mattermost-mobile', + head: 'mattermost:ios-beta', + base: 'master', + title: "IOS #{commit[:message]}" + ) + end if ENV['MATTERMOST_WEBHOOK_URL'] testflight_url = ENV['TESTFLIGHT_URL'] @@ -71,11 +91,30 @@ platform :ios do release: true, increment_build: true, ensure_git_status_clean: true, - branch_name: 'ios-release' + method: 'app-store' }) deliver(force: true) + commit = last_git_commit + + push_to_git_remote( + remote: 'origin', + local_branch: 'ios-release', + force: false, + tags: false + ) + + unless ENV['GITHUB_TOKEN'].nil? + create_pull_request( + api_token: ENV['GITHUB_TOKEN'], + repo: 'mattermost/mattermost-mobile', + head: 'mattermost:ios-release', + base: 'master', + title: "IOS #{commit[:message]}" + ) + end + # frameit if ENV['MATTERMOST_WEBHOOK_URL'] @@ -107,24 +146,6 @@ platform :ios do build_number: latest_testflight_build_number + 1 ) commit_version_bump(xcodeproj: './ios/Mattermost.xcodeproj') - commit = last_git_commit - - push_to_git_remote( - remote: 'origin', - local_branch: options[:branch_name], - force: false, - tags: false - ) - - unless ENV['GITHUB_TOKEN'].nil? - create_pull_request( - api_token: ENV['GITHUB_TOKEN'], - repo: 'mattermost/mattermost-mobile', - head: "mattermost:#{options[:branch_name]}", - base: 'master', - title: "IOS #{commit[:message]}" - ) - end end update_project_team( @@ -136,7 +157,8 @@ platform :ios do clean: true, scheme: 'Mattermost', configuration: (options[:release] ? 'Release' : 'Debug'), - project: './ios/Mattermost.xcodeproj' + project: './ios/Mattermost.xcodeproj', + export_method: options[:method] ) end @@ -203,17 +225,35 @@ platform :android do desc 'Submit a new Beta Build to Google Play' lane :alpha do build_android({ - release: true, - increment_build: true, - ensure_git_status_clean: true, - branch_name: 'android-alpha' - }) + release: true, + increment_build: true, + ensure_git_status_clean: true + }) supply( track: 'alpha', apk: "#{lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]}", ) + commit = last_git_commit + + push_to_git_remote( + remote: 'origin', + local_branch: 'android-alpha', + force: false, + tags: false + ) + + unless ENV['GITHUB_TOKEN'].nil? + create_pull_request( + api_token: ENV['GITHUB_TOKEN'], + repo: 'mattermost/mattermost-mobile', + head: 'mattermost:android-alpha', + base: 'master', + title: "Android #{commit[:message]}" + ) + end + if ENV['MATTERMOST_WEBHOOK_URL'] beta_url = ENV['GOOGLE_PLAY_BETA_URL'] send_message_for_android( @@ -229,17 +269,35 @@ platform :android do desc 'Deploy a new version to Google Play' lane :release do build_android({ - release: true, - increment_build: true, - ensure_git_status_clean: true, - branch_name: 'android-release' - }) + release: true, + increment_build: true, + ensure_git_status_clean: true + }) supply( track: "production", apk: "#{lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]}", ) + commit = last_git_commit + + push_to_git_remote( + remote: 'origin', + local_branch: 'android-release', + force: false, + tags: false + ) + + unless ENV['GITHUB_TOKEN'].nil? + create_pull_request( + api_token: ENV['GITHUB_TOKEN'], + repo: 'mattermost/mattermost-mobile', + head: 'mattermost:android-release', + base: 'master', + title: "Android #{commit[:message]}" + ) + end + if ENV['MATTERMOST_WEBHOOK_URL'] google_play_url = ENV['GOOGLE_PLAY_URL'] send_message_for_android( @@ -269,24 +327,6 @@ platform :android do app_folder_name: 'android/app', force: true ) - commit = last_git_commit - - push_to_git_remote( - remote: 'origin', - local_branch: options[:branch_name], - force: false, - tags: false - ) - - unless ENV['GITHUB_TOKEN'].nil? - create_pull_request( - api_token: ENV['GITHUB_TOKEN'], - repo: 'mattermost/mattermost-mobile', - head: "mattermost:#{options[:branch_name]}", - base: 'master', - title: "Android #{commit[:message]}" - ) - end end gradle( diff --git a/fastlane/Gemfile.lock b/fastlane/Gemfile.lock index 3c68aa3a1..395699a8a 100644 --- a/fastlane/Gemfile.lock +++ b/fastlane/Gemfile.lock @@ -2,23 +2,19 @@ GEM remote: https://rubygems.org/ specs: CFPropertyList (2.3.5) - activesupport (4.2.8) - i18n (~> 0.7) - minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) - tzinfo (~> 1.1) - addressable (2.5.0) + addressable (2.5.1) public_suffix (~> 2.0, >= 2.0.2) babosa (1.0.2) claide (1.0.1) colored (1.2) + colored2 (3.1.2) commander-fastlane (4.4.4) highline (~> 1.7.2) - domain_name (0.5.20170223) + domain_name (0.5.20170404) unf (>= 0.0.5, < 1.0.0) dotenv (2.2.0) excon (0.55.0) - faraday (0.11.0) + faraday (0.12.1) multipart-post (>= 1.2, < 3) faraday-cookie_jar (0.0.6) faraday (>= 0.7.4) @@ -26,8 +22,8 @@ GEM faraday_middleware (0.11.0.1) faraday (>= 0.7.4, < 1.0) fastimage (2.1.0) - fastlane (2.23.0) - activesupport (< 5) + fastlane (2.28.4) + CFPropertyList (>= 2.3, < 3.0.0) addressable (>= 2.3, < 3.0.0) babosa (>= 1.0.2, < 2.0.0) bundler (>= 1.12.0, < 2.0.0) @@ -55,7 +51,7 @@ GEM terminal-table (>= 1.4.5, < 2.0.0) tty-screen (~> 0.5.0) word_wrap (~> 1.0.0) - xcodeproj (>= 0.20, < 2.0.0) + xcodeproj (>= 1.4.4, < 2.0.0) xcpretty (>= 0.2.4, < 1.0.0) xcpretty-travis-formatter (>= 0.0.3) fastlane-plugin-commit_android_version_bump (0.1.3) @@ -83,11 +79,10 @@ GEM domain_name (~> 0.5) httpclient (2.8.3) hurley (0.2) - i18n (0.8.1) - json (2.0.3) + json (2.1.0) jwt (1.5.6) little-plugger (1.1.4) - logging (2.2.0) + logging (2.2.2) little-plugger (~> 1.1) multi_json (~> 1.10) memoist (0.15.0) @@ -95,7 +90,6 @@ GEM mime-types-data (~> 3.2015) mime-types-data (3.2016.0521) mini_magick (4.5.1) - minitest (5.10.1) multi_json (1.12.1) multi_xml (0.6.0) multipart-post (2.0.0) @@ -118,23 +112,19 @@ GEM terminal-notifier (1.7.1) terminal-table (1.7.3) unicode-display_width (~> 1.1.1) - thread_safe (0.3.6) tty-screen (0.5.0) - tzinfo (1.2.3) - thread_safe (~> 0.1) uber (0.0.15) unf (0.1.4) unf_ext - unf_ext (0.0.7.2) + unf_ext (0.0.7.4) unicode-display_width (1.1.3) word_wrap (1.0.0) - xcodeproj (1.4.2) + xcodeproj (1.4.4) CFPropertyList (~> 2.3.3) - activesupport (>= 3) claide (>= 1.0.1, < 2.0) - colored (~> 1.2) + colored2 (~> 3.1) nanaimo (~> 0.2.3) - xcpretty (0.2.4) + xcpretty (0.2.6) rouge (~> 1.8) xcpretty-travis-formatter (0.0.4) xcpretty (~> 0.2, >= 0.0.7)