1 Commits
Author SHA1 Message Date
malo c010662474 fix: update promote action to make supply working on promote 2023-08-10 16:10:54 +02:00
2 changed files with 42 additions and 41 deletions
@@ -25,29 +25,15 @@ module Fastlane
UI.message("👉🏼 App built")
# Upload the Android App Bundle to the Play Store
begin
other_action.upload_to_play_store(
track: params[:beta_type],
json_key: './service_account_key.json',
aab: '../build/app/outputs/bundle/release/app-release.aab',
skip_upload_metadata: true,
skip_upload_images: true,
skip_upload_screenshots: true,
release_status: "completed"
)
rescue StandardError => e
UI.message("👉🏼 Unable to upload as completed; try to upload it in draft status")
other_action.upload_to_play_store(
track: params[:beta_type],
json_key: './service_account_key.json',
aab: '../build/app/outputs/bundle/release/app-release.aab',
skip_upload_metadata: true,
skip_upload_images: true,
skip_upload_screenshots: true,
release_status: "draft"
)
end
other_action.upload_to_play_store(
track: params[:beta_type],
json_key: './service_account_key.json',
aab: '../build/app/outputs/bundle/release/app-release.aab',
skip_upload_metadata: true,
skip_upload_images: true,
skip_upload_screenshots: true,
release_status: "draft"
)
# Delete artifacts files
artifacts = ['android_keys.zip', 'key.jks', 'key.properties', 'service_account_key.json']
@@ -36,7 +36,7 @@ module Fastlane
Helper::IosCdHelper.check_required_fields(required_fields, creds.keys)
# Delete keychain if existing
if File.exist?(File.expand_path("~/Library/Keychains/#{creds['temp_keychain_user']}-db"))
if File.exist?(File.expand_path("~/Library/Keychains/#{name}-db"))
other_action.delete_keychain(
name: creds['temp_keychain_user'].to_s
)
@@ -61,6 +61,32 @@ module Fastlane
)
UI.message("🍺 API Key formated")
last_testflight_build_number =
other_action.latest_testflight_build_number(
api_key: api_key,
team_id: creds['team_id'].to_s,
team_name: creds['team_name'].to_s,
platform: 'ios',
app_identifier: creds['developer_app_identifier'].to_s,
username: creds['username'].to_s
) + 1
# Increment build number for latest TestFlight build
other_action.increment_build_number(
build_number: last_testflight_build_number,
xcodeproj: "Runner.xcodeproj"
)
UI.message("🍺 Build number incremented")
# Install Cocoapods
other_action.cocoapods(
clean_install: true,
clean: true,
integrate: true,
podfile: "./Podfile"
)
UI.message("🍺 Pod got")
# Set up code signing using match
# Configures and runs `match` which manages code signing certificates and provisioning profiles for the project.
# The function takes the app's bundle identifier, an authorization token for the project's Git repository, and the name and password for a temporary keychain used to store the signing certificate.
@@ -79,30 +105,19 @@ module Fastlane
git_url: creds['git_url'].to_s,
storage_mode: "git"
)
UI.message("🍺 Signing environment ready")
archive_path = "../build/ios/archive/Runner.xcarchive"
if File.exist?(archive_path)
UI.message("🍺 Archive built")
else
raise ArgumentError, "❌ Cannot build XCode archive"
end
UI.message("🍺 App signed")
# Build and export app using Gym
# Packages an iOS app or framework for distribution to the App Store, TestFlight, or Enterprise distribution.
# Builds and packages an iOS app or framework for distribution to the App Store, TestFlight, or Enterprise distribution.
other_action.gym(
configuration: "Release",
workspace: "Runner.xcworkspace",
archive_path: archive_path,
skip_build_archive: true,
export_method: "app-store",
export_team_id: creds['team_id'].to_s,
export_options: {
provisioningProfiles: creds['provisioning_profiles'],
signingCertificate: "Apple Distribution: Jagger & Lewis (8547YCHLVR)"
provisioningProfiles: creds['provisioning_profiles']
}
)
UI.message("🍺 App built")
# Upload build to App Store Connect using Pilot
other_action.pilot(
@@ -113,7 +128,7 @@ module Fastlane
skip_submission: true,
distribute_external: false,
notify_external_testers: false,
ipa: "./Runner.ipa",
ipa: "./Runner.ipa"
)
# Delete keychain if existing
@@ -148,7 +163,7 @@ module Fastlane
FastlaneCore::ConfigItem.new(key: :beta_type,
env_name: "IOS_CD_TEST_TYPE",
optional: false,
description: "Type of test (internal, external, production)"),
description: "Type of test (internal, external, production)")
]
end