From a941dff74449001e3bd1ef2a3c7f489768a83be2 Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Fri, 23 Sep 2022 15:02:32 +0300 Subject: [PATCH] Ignore vendor folder, add app-store release lane --- .gitignore | 1 + fastlane/Fastfile | 83 ++++++++++++++++++++++++++++++++-------------- fastlane/README.md | 24 +++++++++++--- 3 files changed, 80 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index 625cfeeae..944cb581a 100644 --- a/.gitignore +++ b/.gitignore @@ -34,6 +34,7 @@ version_changes.md build Tools/Scripts/element-android +vendor/ ## macOS Files .DS_Store diff --git a/fastlane/Fastfile b/fastlane/Fastfile index b4988c3bf..e60d74547 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -29,6 +29,8 @@ lane :alpha do update_app_icon(caption_text: "PR #{version}") + bump_build_number() + build_ios_app( scheme: "ElementX", clean: true, @@ -45,8 +47,8 @@ lane :alpha do end -lane :release do - adhoc() +lane :github_release do + build_adhoc() upload_to_diawi() @@ -55,21 +57,45 @@ lane :release do prepare_next_release() upload_dsyms_to_sentry() - end -lane :adhoc do +lane :app_store_release do + build_release() + + release_to_github() + + prepare_next_release() + + upload_dsyms_to_sentry() +end + + +lane :build_adhoc do + bump_build_number() + build_ios_app( - scheme: "ElementX", - clean: true, - export_method: "ad-hoc", - output_directory: "build", - export_options: { - provisioningProfiles: { - "io.element.elementx" => "ElementX Ad Hoc", - } + scheme: "ElementX", + clean: true, + export_method: "ad-hoc", + output_directory: "build", + export_options: { + provisioningProfiles: { + "io.element.elementx" => "ElementX Ad Hoc", } - ) + } + ) +end + +lane :build_release do + bump_build_number() + + build_ios_app( + scheme: "ElementX", + clean: true, + export_method: "app-store", + output_directory: "build", + xcargs: "-allowProvisioningUpdates", + ) end lane :unit_tests do @@ -111,6 +137,12 @@ lane :integration_tests do ) end +private_lane :bump_build_number do + # Increment build number to current date + build_number = Time.now.strftime("%Y%m%d%H%M") + increment_build_number(build_number: build_number) +end + private_lane :config_xcodegen_alpha do target_file_path = "../ElementX/SupportingFiles/target.yml" data = YAML.load_file target_file_path @@ -152,27 +184,30 @@ private_lane :release_to_github do # Get the Diawi link from Diawi action shared value diawi_link = lane_context[SharedValues::UPLOADED_FILE_LINK_TO_DIAWI] - # Generate the Diawi QR code file link - diawi_app_id = URI(diawi_link).path.split('/').last - diawi_qr_code_link = "https://www.diawi.com/qrcode/link/#{diawi_app_id}" - - # Increment build number to current date - build_number = Time.now.strftime("%Y%m%d%H%M") - increment_build_number(build_number: build_number) - release_version = get_version_number() changes = export_version_changes(version: release_version) + description = "" + if diawi_link.nil? + description = "#{changes}" + else + # Generate the Diawi QR code file link + diawi_app_id = URI(diawi_link).path.split('/').last + diawi_qr_code_link = "https://www.diawi.com/qrcode/link/#{diawi_app_id}" + + "[iOS AdHoc Release - Diawi Link](#{diawi_link}) + ![QR code](#{diawi_qr_code_link}) + #{changes}" + end + github_release = set_github_release( repository_name: "vector-im/element-x-ios", api_token: api_token, name: release_version, tag_name: release_version, is_generate_release_notes: false, - description: "[iOS AdHoc Release - Diawi Link](#{diawi_link}) - ![QR code](#{diawi_qr_code_link}) - #{changes}" + description: description ) end diff --git a/fastlane/README.md b/fastlane/README.md index f10106979..a7ca16cf5 100644 --- a/fastlane/README.md +++ b/fastlane/README.md @@ -21,18 +21,34 @@ For _fastlane_ installation instructions, see [Installing _fastlane_](https://do -### release +### github_release ```sh -[bundle exec] fastlane release +[bundle exec] fastlane github_release ``` -### adhoc +### app_store_release ```sh -[bundle exec] fastlane adhoc +[bundle exec] fastlane app_store_release +``` + + + +### build_adhoc + +```sh +[bundle exec] fastlane build_adhoc +``` + + + +### build_release + +```sh +[bundle exec] fastlane build_release ```