From 55d65c02bd973f764835d2b2965ff87eb3b48393 Mon Sep 17 00:00:00 2001 From: Julian Raufelder Date: Fri, 10 Jan 2025 21:42:12 +0100 Subject: [PATCH] Add Accrescent Fastlane deployment --- Gemfile | 1 + Gemfile.lock | 2 ++ fastlane/Fastfile | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/Gemfile b/Gemfile index 448c34f44..1450419c2 100644 --- a/Gemfile +++ b/Gemfile @@ -4,6 +4,7 @@ gem "fastlane" gem "net-sftp" gem "ed25519" gem "bcrypt_pbkdf" +gem 'fastlane-plugin-bundletool' plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') eval_gemfile(plugins_path) if File.exist?(plugins_path) diff --git a/Gemfile.lock b/Gemfile.lock index b97c737e8..37c7f6316 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -118,6 +118,7 @@ GEM apktools (~> 0.7) aws-sdk-s3 (~> 1) mime-types (~> 3.3) + fastlane-plugin-bundletool (1.1.0) fastlane-plugin-get_version_name (0.2.2) fastlane-sirp (1.0.0) sysrandom (~> 1.0) @@ -236,6 +237,7 @@ DEPENDENCIES ed25519 fastlane fastlane-plugin-aws_s3 + fastlane-plugin-bundletool fastlane-plugin-get_version_name net-sftp diff --git a/fastlane/Fastfile b/fastlane/Fastfile index cbe92b507..75d64c7c0 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -38,6 +38,7 @@ platform :android do |options| deployToServer(alpha:options[:alpha], beta:options[:beta]) deployToFDroid(alpha:options[:alpha], beta:options[:beta]) deployLite(alpha:options[:alpha], beta:options[:beta]) + deployToAccrescent(alpha:options[:alpha], beta:options[:beta]) createGitHubDraftRelease(alpha:options[:alpha], beta:options[:beta]) slack( @@ -292,6 +293,41 @@ platform :android do |options| FileUtils.cp(lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH], "release/Cryptomator-#{version}_fdroid_signed.apk") end + desc "Deploy new version to Accrescent" + private_lane :deployToAccrescent do |options| + gradle(task: "clean") + + gradle( + task: "bundle", + build_type: "Release", + flavor: "accrescent", + print_command: false, + properties: { + "android.injected.signing.store.file" => ENV["SIGNING_KEYSTORE_PATH"], + "android.injected.signing.store.password" => ENV["SIGNING_KEYSTORE_PASSWORD"], + "android.injected.signing.key.alias" => ENV["SIGNING_KEY_ALIAS"], + "android.injected.signing.key.password" => ENV["SIGNING_KEY_PASSWORD"], + } + ) + + FileUtils.cp(lane_context[SharedValues::GRADLE_AAB_OUTPUT_PATH], "release/Cryptomator-#{version}_signed.aab") + + bundletool( + ks_path: ENV["SIGNING_KEYSTORE_PATH"], + ks_password: ENV["SIGNING_KEYSTORE_PASSWORD"], + ks_key_alias: ENV["SIGNING_KEY_ALIAS"], + ks_key_alias_password: ENV["SIGNING_KEY_PASSWORD"], + bundletool_version: '1.10.0', + aab_path: lane_context[SharedValues::GRADLE_AAB_OUTPUT_PATH], + apk_output_path: "fastlane/release/Cryptomator-#{version}_signed.apks", + verbose: true, + cache_path: "~/.cache/bundletool", + universal_apk: false + ) + + puts "Upload fastlane/release/Cryptomator-#{version}_signed.apks to Accrescent" + end + desc "Deploy new lite version" private_lane :deployLite do |options| sh("docker build -t cryptomator-android ../buildsystem")