Browse Source

Merge pull request #9559 from nextcloud/fix/fastlane-check-apk

Fastlane: fix release with 3 apks, and minor improvements
Álvaro Brey 3 years ago
parent
commit
c6731093b1
2 changed files with 65 additions and 42 deletions
  1. 45 40
      Gemfile.lock
  2. 20 2
      fastlane/Fastfile

+ 45 - 40
Gemfile.lock

@@ -1,26 +1,27 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    CFPropertyList (3.0.3)
+    CFPropertyList (3.0.5)
+      rexml
     addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
     artifactory (3.0.15)
     atomos (0.1.3)
-    aws-eventstream (1.1.1)
-    aws-partitions (1.479.0)
-    aws-sdk-core (3.117.0)
+    aws-eventstream (1.2.0)
+    aws-partitions (1.541.0)
+    aws-sdk-core (3.124.0)
       aws-eventstream (~> 1, >= 1.0.2)
-      aws-partitions (~> 1, >= 1.239.0)
+      aws-partitions (~> 1, >= 1.525.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-kms (1.44.0)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-kms (1.52.0)
+      aws-sdk-core (~> 3, >= 3.122.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.96.2)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-s3 (1.109.0)
+      aws-sdk-core (~> 3, >= 3.122.0)
       aws-sdk-kms (~> 1)
-      aws-sigv4 (~> 1.1)
-    aws-sigv4 (1.2.4)
+      aws-sigv4 (~> 1.4)
+    aws-sigv4 (1.4.0)
       aws-eventstream (~> 1, >= 1.0.2)
     babosa (1.0.4)
     claide (1.0.3)
@@ -29,14 +30,14 @@ GEM
     commander (4.6.0)
       highline (~> 2.0.0)
     declarative (0.0.20)
-    digest-crc (0.6.3)
+    digest-crc (0.6.4)
       rake (>= 12.0.0, < 14.0.0)
     domain_name (0.5.20190701)
       unf (>= 0.0.5, < 1.0.0)
     dotenv (2.7.6)
-    emoji_regex (3.2.2)
-    excon (0.85.0)
-    faraday (1.5.1)
+    emoji_regex (3.2.3)
+    excon (0.89.0)
+    faraday (1.8.0)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
       faraday-excon (~> 1.1)
@@ -44,6 +45,7 @@ GEM
       faraday-net_http (~> 1.0)
       faraday-net_http_persistent (~> 1.1)
       faraday-patron (~> 1.0)
+      faraday-rack (~> 1.0)
       multipart-post (>= 1.2, < 3)
       ruby2_keywords (>= 0.0.4)
     faraday-cookie_jar (0.0.7)
@@ -56,10 +58,11 @@ GEM
     faraday-net_http (1.0.1)
     faraday-net_http_persistent (1.2.0)
     faraday-patron (1.0.0)
-    faraday_middleware (1.0.0)
+    faraday-rack (1.0.0)
+    faraday_middleware (1.2.0)
       faraday (~> 1.0)
-    fastimage (2.2.4)
-    fastlane (2.188.0)
+    fastimage (2.2.5)
+    fastlane (2.199.0)
       CFPropertyList (>= 2.3, < 4.0.0)
       addressable (>= 2.8, < 3.0.0)
       artifactory (~> 3.0)
@@ -76,7 +79,7 @@ GEM
       faraday_middleware (~> 1.0)
       fastimage (>= 2.1.0, < 3.0.0)
       gh_inspector (>= 1.1.2, < 2.0.0)
-      google-apis-androidpublisher_v3 (~> 0.1)
+      google-apis-androidpublisher_v3 (~> 0.3)
       google-apis-playcustomapp_v1 (~> 0.1)
       google-cloud-storage (~> 1.31)
       highline (~> 2.0)
@@ -85,6 +88,7 @@ GEM
       mini_magick (>= 4.9.4, < 5.0.0)
       multipart-post (~> 2.0.0)
       naturally (~> 2.2)
+      optparse (~> 0.1.1)
       plist (>= 3.1.0, < 4.0.0)
       rubyzip (>= 2.0.0, < 3.0.0)
       security (= 0.1.3)
@@ -97,9 +101,9 @@ GEM
       xcodeproj (>= 1.13.0, < 2.0.0)
       xcpretty (~> 0.3.0)
       xcpretty-travis-formatter (>= 0.0.3)
-    fastlane-plugin-huawei_appgallery_connect (1.0.16)
+    fastlane-plugin-huawei_appgallery_connect (1.0.17)
     gh_inspector (1.1.3)
-    google-apis-androidpublisher_v3 (0.8.0)
+    google-apis-androidpublisher_v3 (0.14.0)
       google-apis-core (>= 0.4, < 2.a)
     google-apis-core (0.4.1)
       addressable (~> 2.5, >= 2.5.1)
@@ -110,48 +114,49 @@ GEM
       retriable (>= 2.0, < 4.a)
       rexml
       webrick
-    google-apis-iamcredentials_v1 (0.6.0)
+    google-apis-iamcredentials_v1 (0.9.0)
       google-apis-core (>= 0.4, < 2.a)
-    google-apis-playcustomapp_v1 (0.5.0)
+    google-apis-playcustomapp_v1 (0.6.0)
       google-apis-core (>= 0.4, < 2.a)
-    google-apis-storage_v1 (0.6.0)
+    google-apis-storage_v1 (0.10.0)
       google-apis-core (>= 0.4, < 2.a)
     google-cloud-core (1.6.0)
       google-cloud-env (~> 1.0)
       google-cloud-errors (~> 1.0)
     google-cloud-env (1.5.0)
       faraday (>= 0.17.3, < 2.0)
-    google-cloud-errors (1.1.0)
-    google-cloud-storage (1.34.1)
-      addressable (~> 2.5)
+    google-cloud-errors (1.2.0)
+    google-cloud-storage (1.35.0)
+      addressable (~> 2.8)
       digest-crc (~> 0.4)
       google-apis-iamcredentials_v1 (~> 0.1)
       google-apis-storage_v1 (~> 0.1)
       google-cloud-core (~> 1.6)
       googleauth (>= 0.16.2, < 2.a)
       mini_mime (~> 1.0)
-    googleauth (0.16.2)
+    googleauth (1.1.0)
       faraday (>= 0.17.3, < 2.0)
       jwt (>= 1.4, < 3.0)
       memoist (~> 0.16)
       multi_json (~> 1.11)
       os (>= 0.9, < 2.0)
-      signet (~> 0.14)
+      signet (>= 0.16, < 2.a)
     highline (2.0.3)
     http-cookie (1.0.4)
       domain_name (~> 0.5)
     httpclient (2.8.3)
     jmespath (1.4.0)
-    json (2.5.1)
-    jwt (2.2.3)
+    json (2.6.1)
+    jwt (2.3.0)
     memoist (0.16.2)
     mini_magick (4.11.0)
-    mini_mime (1.1.0)
+    mini_mime (1.1.2)
     multi_json (1.15.0)
     multipart-post (2.0.0)
     nanaimo (0.3.0)
     naturally (2.2.1)
-    os (1.1.1)
+    optparse (0.1.1)
+    os (1.1.4)
     plist (3.6.0)
     public_suffix (4.0.6)
     rake (13.0.6)
@@ -165,8 +170,8 @@ GEM
     ruby2_keywords (0.0.5)
     rubyzip (2.3.2)
     security (0.1.3)
-    signet (0.15.0)
-      addressable (~> 2.3)
+    signet (0.16.0)
+      addressable (~> 2.8)
       faraday (>= 0.17.3, < 2.0)
       jwt (>= 1.5, < 3.0)
       multi_json (~> 1.10)
@@ -176,7 +181,7 @@ GEM
     terminal-notifier (2.0.0)
     terminal-table (1.8.0)
       unicode-display_width (~> 1.1, >= 1.1.1)
-    trailblazer-option (0.1.1)
+    trailblazer-option (0.1.2)
     tty-cursor (0.7.1)
     tty-screen (0.8.1)
     tty-spinner (0.9.3)
@@ -184,11 +189,11 @@ GEM
     uber (0.1.0)
     unf (0.1.4)
       unf_ext
-    unf_ext (0.0.7.7)
-    unicode-display_width (1.7.0)
+    unf_ext (0.0.8)
+    unicode-display_width (1.8.0)
     webrick (1.7.0)
     word_wrap (1.0.0)
-    xcodeproj (1.20.0)
+    xcodeproj (1.21.0)
       CFPropertyList (>= 2.3.3, < 4.0)
       atomos (~> 0.1.3)
       claide (>= 1.0.2, < 2.0)
@@ -208,4 +213,4 @@ DEPENDENCIES
   fastlane-plugin-huawei_appgallery_connect
 
 BUNDLED WITH
-   2.2.18
+   2.2.26

+ 20 - 2
fastlane/Fastfile

@@ -47,6 +47,7 @@ end
 
 desc "Release phase 2 for RC: checks, tag, upload gplay to playstore with values from build.gradle"
 lane :RC_releasePhase2 do |options|
+    checkReleaseRequirements_RC()
     info = androidVersion
     promptVersion(info)
     checkChangelog(info)
@@ -67,6 +68,7 @@ end
 
 desc "Release phase 2 for FINAL: checks, tag, upload gplay to playstore with values from build.gradle"
 lane :Final_releasePhase2 do |options|
+    checkReleaseRequirements_Final()
     info = androidVersion
     promptVersion(info)
     checkChangelog(info)
@@ -96,7 +98,7 @@ lane :makeReleases do
     sh("cp ../build/outputs/apk/gplay/release/*.apk ../release/")
     
     SignedRelease(flavor:"Huawei")
-        sh("cp ../build/outputs/apk/huawei/release/*.apk ../release/")
+    sh("cp ../build/outputs/apk/huawei/release/*.apk ../release/")
 end
 
 desc "Create GPlay release"
@@ -164,6 +166,22 @@ private_lane :build_for_screengrab do
     TEST_APK_LOCATION = lane_context[SharedValues::GRADLE_ALL_APK_OUTPUT_PATHS].select{ |i| i[/androidTest/] }[0]
 end
 
+private_lane :checkReleaseRequirements_common do
+    sh("if ! command -v fdroid &>/dev/null; then echo 'fdroid command not found' ; exit 1 ;")
+end
+
+private_lane :checkReleaseRequirements_RC do
+    checkReleaseRequirements_common()
+    sh("if ! command -v fdroidMergeRequestRC &>/dev/null; then echo 'fdroidMergeRequestRC command not found'; exit 1;")
+    sh("if ! command -v createChangelogPullRequestRC &>/dev/null; then echo 'createChangelogPullRequestRC command not found'; exit 1;")
+end
+
+private_lane :checkReleaseRequirements_Final do
+    checkReleaseRequirements_common()
+    sh("if ! command -v fdroidMergeRequestFinal &>/dev/null; then echo 'fdroidMergeRequestFinal command not found'; exit 1;")
+    sh("if ! command -v createChangelogPullRequestFinal &>/dev/null; then echo 'createChangelogPullRequestFinal command not found'; exit 1;")
+end
+
 private_lane :createChangelogPullRequest_RC do |options|
     sh("createChangelogPullRequestRC " +  options["tag"] + " \"" + options["versionName"] + "\" " + options["versionCode"] + " \"" + options["branch"] + "\" ")
 end
@@ -173,7 +191,7 @@ private_lane :createChangelogPullRequest_Final do |options|
 end
 
 private_lane :checkIfAPKexists do |options|
-    sh("if [ $(/bin/ls -1 ../release | wc -l) -ne 2 ]; then echo 'APKs do not exist ../release/; aborting!' ; exit 1 ;
+    sh("if [ $(/bin/ls -1 ../release | wc -l) -ne 3 ]; then echo 'APKs do not exist ../release/; aborting!' ; exit 1 ;
      fi")
 end