diff --git a/Gemfile.lock b/Gemfile.lock index 2b5927a..88b9aff 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,21 +1,15 @@ -GIT - remote: https://github.com/arrouse/install_provisioning_profiles - revision: 4cd48378552db10f3872b5bb591cf219d30fb580 - specs: - fastlane-plugin-install_provisioning_profiles (0.2.1) - GEM remote: https://rubygems.org/ specs: CFPropertyList (2.3.6) - activesupport (4.2.10) + activesupport (4.2.11) i18n (~> 0.7) minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) addressable (2.5.2) public_suffix (>= 2.0.2, < 4.0) - atomos (0.1.2) + atomos (0.1.3) babosa (1.0.2) circleci (2.0.2) circleci_artifact (0.1.0) @@ -26,10 +20,10 @@ GEM nap open4 (~> 1.3) clamp (0.6.5) - cocoapods (1.5.0) + cocoapods (1.5.3) activesupport (>= 4.0.2, < 5) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.5.0) + cocoapods-core (= 1.5.3) cocoapods-deintegrate (>= 1.0.2, < 2.0) cocoapods-downloader (>= 1.2.0, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) @@ -45,17 +39,17 @@ GEM nap (~> 1.0) ruby-macho (~> 1.1) xcodeproj (>= 1.5.7, < 2.0) - cocoapods-core (1.5.0) + cocoapods-core (1.5.3) activesupport (>= 4.0.2, < 6) fuzzy_match (~> 2.0.4) nap (~> 1.0) cocoapods-deintegrate (1.0.2) - cocoapods-downloader (1.2.0) + cocoapods-downloader (1.2.2) cocoapods-plugins (1.0.0) nap cocoapods-search (1.0.0) cocoapods-stats (1.0.0) - cocoapods-trunk (1.3.0) + cocoapods-trunk (1.3.1) nap (>= 0.8, < 2.0) netrc (~> 0.11) cocoapods-try (1.1.0) @@ -64,17 +58,17 @@ GEM colorize (0.8.1) commander-fastlane (4.4.6) highline (~> 1.7.2) - concurrent-ruby (1.0.5) + concurrent-ruby (1.1.4) cork (0.3.0) colored2 (~> 3.1) - danger (5.5.13) + danger (5.11.1) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) cork (~> 0.1) faraday (~> 0.9) faraday-http-cache (~> 1.0) - git (~> 1) + git (~> 1.5) kramdown (~> 1.5) no_proxy_fix octokit (~> 4.7) @@ -82,7 +76,7 @@ GEM danger-junit (0.7.4) danger (> 2.0) ox (~> 2.0) - danger-swiftlint (0.16.0) + danger-swiftlint (0.18.0) danger rake (> 10) thor (~> 0.19) @@ -91,13 +85,14 @@ GEM xcov (>= 1.1.2) declarative (0.0.10) declarative-option (0.1.0) + digest-crc (0.4.1) domain_name (0.5.20180417) unf (>= 0.0.5, < 1.0.0) - dotenv (2.4.0) + dotenv (2.6.0) emoji_regex (0.1.1) escape (0.0.4) excon (0.62.0) - faraday (0.15.0) + faraday (0.15.4) multipart-post (>= 1.2, < 3) faraday-cookie_jar (0.0.6) faraday (>= 0.7.4) @@ -106,8 +101,8 @@ GEM faraday (~> 0.8) faraday_middleware (0.12.2) faraday (>= 0.7.4, < 1.0) - fastimage (2.1.1) - fastlane (2.93.1) + fastimage (2.1.5) + fastlane (2.112.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.3, < 3.0.0) babosa (>= 1.0.2, < 2.0.0) @@ -122,7 +117,8 @@ GEM faraday_middleware (~> 0.9) fastimage (>= 2.1.0, < 3.0.0) gh_inspector (>= 1.1.2, < 2.0.0) - google-api-client (>= 0.13.1, < 0.14.0) + google-api-client (>= 0.21.2, < 0.24.0) + google-cloud-storage (>= 1.15.0, < 2.0.0) highline (>= 1.7.2, < 2.0.0) json (< 3.0.0) mini_magick (~> 4.5.1) @@ -131,7 +127,7 @@ GEM multipart-post (~> 2.0.0) plist (>= 3.1.0, < 4.0.0) public_suffix (~> 2.0.0) - rubyzip (>= 1.1.0, < 2.0.0) + rubyzip (>= 1.2.2, < 2.0.0) security (= 0.1.3) simctl (~> 1.6.3) slack-notifier (>= 2.0.0, < 3.0.0) @@ -140,27 +136,37 @@ GEM tty-screen (>= 0.6.3, < 1.0.0) tty-spinner (>= 0.8.0, < 1.0.0) word_wrap (~> 1.0.0) - xcodeproj (>= 1.5.7, < 2.0.0) - xcpretty (>= 0.2.4, < 1.0.0) + xcodeproj (>= 1.6.0, < 2.0.0) + xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) + fastlane-plugin-install_provisioning_profiles (0.2.2) fourflusher (2.0.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) - git (1.3.0) - google-api-client (0.13.6) + git (1.5.0) + google-api-client (0.23.9) addressable (~> 2.5, >= 2.5.1) - googleauth (~> 0.5) + googleauth (>= 0.5, < 0.7.0) httpclient (>= 2.8.1, < 3.0) mime-types (~> 3.0) representable (~> 3.0) retriable (>= 2.0, < 4.0) - googleauth (0.6.2) + signet (~> 0.9) + google-cloud-core (1.2.7) + google-cloud-env (~> 1.0) + google-cloud-env (1.0.5) + faraday (~> 0.11) + google-cloud-storage (1.15.0) + digest-crc (~> 0.4) + google-api-client (~> 0.23) + google-cloud-core (~> 1.2) + googleauth (~> 0.6.2) + googleauth (0.6.7) faraday (~> 0.12) jwt (>= 1.4, < 3.0) - logging (~> 2.0) - memoist (~> 0.12) + memoist (~> 0.16) multi_json (~> 1.11) - os (~> 0.9) + os (>= 0.9, < 2.0) signet (~> 0.7) highline (1.7.10) http-cookie (1.0.3) @@ -170,59 +176,55 @@ GEM concurrent-ruby (~> 1.0) json (2.1.0) jwt (2.1.0) - kramdown (1.16.2) - little-plugger (1.1.4) - logging (2.2.2) - little-plugger (~> 1.1) - multi_json (~> 1.10) + kramdown (1.17.0) memoist (0.16.0) - mime-types (3.1) + mime-types (3.2.2) mime-types-data (~> 3.2015) - mime-types-data (3.2016.0521) + mime-types-data (3.2018.0812) mini_magick (4.5.1) mini_portile2 (2.3.0) minitest (5.11.3) - molinillo (0.6.5) + molinillo (0.6.6) multi_json (1.13.1) multi_xml (0.6.0) multipart-post (2.0.0) - nanaimo (0.2.5) + nanaimo (0.2.6) nap (1.1.0) - naturally (2.1.0) + naturally (2.2.0) netrc (0.11.0) no_proxy_fix (0.1.2) - nokogiri (1.8.2) + nokogiri (1.8.5) mini_portile2 (~> 2.3.0) - octokit (4.8.0) + octokit (4.13.0) sawyer (~> 0.8.0, >= 0.5.3) open4 (1.3.4) - os (0.9.6) - ox (2.9.2) - plist (3.4.0) + os (1.0.0) + ox (2.10.0) + plist (3.5.0) public_suffix (2.0.5) - rake (12.3.1) + rake (12.3.2) representable (3.0.4) declarative (< 0.1.0) declarative-option (< 0.2.0) uber (< 0.2.0) - retriable (3.1.1) + retriable (3.1.2) rouge (2.0.7) - ruby-macho (1.1.0) - rubyzip (1.2.1) + ruby-macho (1.3.1) + rubyzip (1.2.2) sawyer (0.8.1) addressable (>= 2.3.5, < 2.6) faraday (~> 0.8, < 1.0) security (0.1.3) - signet (0.8.1) + signet (0.11.0) addressable (~> 2.3) faraday (~> 0.9) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) - simctl (1.6.4) + simctl (1.6.5) CFPropertyList naturally slack-notifier (2.3.2) - slather (2.4.5) + slather (2.4.6) CFPropertyList (~> 2.2) activesupport (>= 4.0.2) clamp (~> 0.6) @@ -235,33 +237,33 @@ GEM terminal-notifier (1.8.0) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) - thor (0.20.0) + thor (0.20.3) thread_safe (0.3.6) - tty-cursor (0.5.0) - tty-screen (0.6.4) - tty-spinner (0.8.0) - tty-cursor (>= 0.5.0) + tty-cursor (0.6.0) + tty-screen (0.6.5) + tty-spinner (0.9.0) + tty-cursor (~> 0.6.0) tzinfo (1.2.5) thread_safe (~> 0.1) uber (0.1.0) unf (0.1.4) unf_ext unf_ext (0.0.7.5) - unicode-display_width (1.3.2) + unicode-display_width (1.4.1) word_wrap (1.0.0) - xcodeproj (1.5.7) + xcodeproj (1.7.0) CFPropertyList (>= 2.3.3, < 4.0) - atomos (~> 0.1.2) + atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) - nanaimo (~> 0.2.4) - xcov (1.4.2) + nanaimo (~> 0.2.6) + xcov (1.5.0) fastlane (>= 2.82.0, < 3.0.0) multipart-post slack-notifier terminal-table xcodeproj - xcpretty (0.2.8) + xcpretty (0.3.0) rouge (~> 2.0.7) xcpretty-travis-formatter (1.0.0) xcpretty (~> 0.2, >= 0.0.7) @@ -277,11 +279,11 @@ DEPENDENCIES danger-swiftlint danger-xcov fastlane - fastlane-plugin-install_provisioning_profiles! + fastlane-plugin-install_provisioning_profiles nanaimo slather synx xcov BUNDLED WITH - 1.16.1 + 1.17.1 diff --git a/PRODUCTNAME/app/fastlane/Fastfile b/PRODUCTNAME/app/fastlane/Fastfile index 3ec3ee5..5c8df8a 100644 --- a/PRODUCTNAME/app/fastlane/Fastfile +++ b/PRODUCTNAME/app/fastlane/Fastfile @@ -135,8 +135,13 @@ platform :ios do teamID: "XRTVVR644Y", signingCertificate: "iPhone Distribution", provisioningProfiles: { "com.raizlabs.PRODUCTNAME.develop" => "Raizlabs Generic Enterprise Profile" } - }) - hockey(public_identifier: 'ZZHOCKEY_DEVELOP_IDZZ') + }) + # CIRCLE_COMPARE_URL=https://github.com/Raizlabs/{{ cookiecutter.project_name }}-iOS/compare/... + compareArray = ENV['CIRCLE_COMPARE_URL'].split(/compare\/|\.{3}/) + hockey( + public_identifier: 'ZZHOCKEY_DEVELOP_IDZZ', + notes: build_change_log_from_between(compareArray[1], compareArray[2]) + ) # upload_symbols_to_crashlytics(:api_token => 'ZZCRASHLYTICS_API_TOKEN_DEVELOPZZ') slack(message: "Successfully uploaded build #{build_number} to develop", success: true) end @@ -147,8 +152,11 @@ platform :ios do teamID: "XRTVVR644Y", signingCertificate: "iPhone Distribution", provisioningProfiles: { "com.raizlabs.PRODUCTNAME.sprint" => "Raizlabs Generic Enterprise Profile" } - }) - hockey(public_identifier: 'ZZHOCKEY_SPRINT_IDZZ') + }) + hockey( + public_identifier: 'ZZHOCKEY_SPRINT_IDZZ', + notes: build_change_log_for_tag("sprint") + ) # upload_symbols_to_crashlytics(:api_token => 'ZZCRASHLYTICS_API_TOKEN_SPRINTZZ') slack(message: "Successfully uploaded build #{build_number} to sprint", success: true) end @@ -159,10 +167,11 @@ platform :ios do # teamID: "", # signingCertificate: "iPhone Distribution", # provisioningProfiles: { "" => "" } - # }) + # }) # pilot( - # distribute_external: false, - # skip_waiting_for_build_processing: true, + # distribute_external: false, + # skip_waiting_for_build_processing: true, + # changelog: build_change_log_for_tag("beta") # ) # upload_symbols_to_crashlytics(:api_token => 'ZZCRASHLYTICS_API_TOKEN_APPSTOREZZ') # slack(message: "Successfully uploaded build #{build_number} to test flight", success: true) @@ -193,4 +202,22 @@ platform :ios do `git rev-list HEAD --count`.chomp() end + def build_change_log_from_between(older, newer) + # http://git-scm.com/docs/pretty-formats + unless older.nil? || newer.nil? + return changelog_from_git_commits( + between: [older, newer], + pretty: "- %s", + merge_commit_filtering: "exclude_merges" + ) + end + end + + def build_change_log_for_tag(tag) + tagArray = `git rev-list --tags=#{tag}* --oneline --no-walk`.lines + newer = tagArray[0].split + older = tagArray[1].split + return build_change_log_from_between(older[0], newer[0]) + end + end diff --git a/PRODUCTNAME/app/fastlane/Pluginfile b/PRODUCTNAME/app/fastlane/Pluginfile index ea28e3f..92f71d4 100644 --- a/PRODUCTNAME/app/fastlane/Pluginfile +++ b/PRODUCTNAME/app/fastlane/Pluginfile @@ -2,4 +2,4 @@ # # Ensure this file is checked in to source control! -gem 'fastlane-plugin-install_provisioning_profiles', git: "https://github.com/arrouse/install_provisioning_profiles" +gem 'fastlane-plugin-install_provisioning_profiles' diff --git a/{{ cookiecutter.project_name | replace(' ', '') }}/app/fastlane/Fastfile b/{{ cookiecutter.project_name | replace(' ', '') }}/app/fastlane/Fastfile index ceefe66..b4e52b9 100644 --- a/{{ cookiecutter.project_name | replace(' ', '') }}/app/fastlane/Fastfile +++ b/{{ cookiecutter.project_name | replace(' ', '') }}/app/fastlane/Fastfile @@ -135,8 +135,13 @@ platform :ios do teamID: "XRTVVR644Y", signingCertificate: "iPhone Distribution", provisioningProfiles: { "com.raizlabs.{{ cookiecutter.project_name | replace(' ', '') }}.develop" => "Raizlabs Generic Enterprise Profile" } - }) - hockey(public_identifier: 'ZZHOCKEY_DEVELOP_IDZZ') + }) + # CIRCLE_COMPARE_URL=https://github.com/Raizlabs/{{ cookiecutter.project_name }}-iOS/compare/... + compareArray = ENV['CIRCLE_COMPARE_URL'].split(/compare\/|\.{3}/) + hockey( + public_identifier: 'ZZHOCKEY_DEVELOP_IDZZ', + notes: build_change_log_from_between(compareArray[1], compareArray[2]) + ) # upload_symbols_to_crashlytics(:api_token => 'ZZCRASHLYTICS_API_TOKEN_DEVELOPZZ') slack(message: "Successfully uploaded build #{build_number} to develop", success: true) end @@ -147,8 +152,11 @@ platform :ios do teamID: "XRTVVR644Y", signingCertificate: "iPhone Distribution", provisioningProfiles: { "com.raizlabs.{{ cookiecutter.project_name | replace(' ', '') }}.sprint" => "Raizlabs Generic Enterprise Profile" } - }) - hockey(public_identifier: 'ZZHOCKEY_SPRINT_IDZZ') + }) + hockey( + public_identifier: 'ZZHOCKEY_SPRINT_IDZZ', + notes: build_change_log_for_tag("sprint") + ) # upload_symbols_to_crashlytics(:api_token => 'ZZCRASHLYTICS_API_TOKEN_SPRINTZZ') slack(message: "Successfully uploaded build #{build_number} to sprint", success: true) end @@ -159,10 +167,11 @@ platform :ios do # teamID: "", # signingCertificate: "iPhone Distribution", # provisioningProfiles: { "" => "" } - # }) + # }) # pilot( - # distribute_external: false, - # skip_waiting_for_build_processing: true, + # distribute_external: false, + # skip_waiting_for_build_processing: true, + # changelog: build_change_log_for_tag("beta") # ) # upload_symbols_to_crashlytics(:api_token => 'ZZCRASHLYTICS_API_TOKEN_APPSTOREZZ') # slack(message: "Successfully uploaded build #{build_number} to test flight", success: true) @@ -193,4 +202,22 @@ platform :ios do `git rev-list HEAD --count`.chomp() end + def build_change_log_from_between(older, newer) + # http://git-scm.com/docs/pretty-formats + unless older.nil? || newer.nil? + return changelog_from_git_commits( + between: [older, newer], + pretty: "- %s", + merge_commit_filtering: "exclude_merges" + ) + end + end + + def build_change_log_for_tag(tag) + tagArray = `git rev-list --tags=#{tag}* --oneline --no-walk`.lines + newer = tagArray[0].split + older = tagArray[1].split + return build_change_log_from_between(older[0], newer[0]) + end + end diff --git a/{{ cookiecutter.project_name | replace(' ', '') }}/app/fastlane/Pluginfile b/{{ cookiecutter.project_name | replace(' ', '') }}/app/fastlane/Pluginfile index ea28e3f..92f71d4 100644 --- a/{{ cookiecutter.project_name | replace(' ', '') }}/app/fastlane/Pluginfile +++ b/{{ cookiecutter.project_name | replace(' ', '') }}/app/fastlane/Pluginfile @@ -2,4 +2,4 @@ # # Ensure this file is checked in to source control! -gem 'fastlane-plugin-install_provisioning_profiles', git: "https://github.com/arrouse/install_provisioning_profiles" +gem 'fastlane-plugin-install_provisioning_profiles'