From 2fd44f5c73b3685df0448834d1c26be5871251f6 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Thu, 19 Sep 2024 12:32:29 +1000 Subject: [PATCH 01/57] Remove `h3` header from pods check step during code freeze An `h3` (`###` markdown) in the CI annotation results in a message that clashes visually with the rest of the annotations. See for example https://buildkite.com/automattic/simplenote-ios/builds/1146 --- fastlane/lanes/release.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index 676fc8f58..2f92867ec 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -312,9 +312,10 @@ def check_pods_references # This will also print the result to STDOUT result = ios_check_beta_deps(lockfile: File.join(PROJECT_ROOT_FOLDER, 'Podfile.lock')) + return unless is_ci + style = result[:pods].nil? || result[:pods].empty? ? 'success' : 'warning' - message = "### Checking Internal Dependencies are all on a **stable** version\n\n#{result[:message]}" - buildkite_annotate(context: 'pods-check', style: style, message: message) if is_ci + buildkite_annotate(context: 'pods-check', style: style, message: result[:message]) end def trigger_buildkite_release_build(branch:, beta:) From aa98425134a5d7649daf6310c05d4e41e2905a94 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Thu, 19 Sep 2024 12:37:21 +1000 Subject: [PATCH 02/57] Reintroduce check pods annotation header, but as a paragraph --- fastlane/lanes/release.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index 2f92867ec..d88fd2ca0 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -315,7 +315,9 @@ def check_pods_references return unless is_ci style = result[:pods].nil? || result[:pods].empty? ? 'success' : 'warning' - buildkite_annotate(context: 'pods-check', style: style, message: result[:message]) + # Notice the double new line to produce a new HTML paragraph from the Markdown formatting. + message = "Internal dependencies check result:\n\n#{result[:message]}" + buildkite_annotate(context: 'pods-check', style: style, message: message) end def trigger_buildkite_release_build(branch:, beta:) From 23a2dc059e6d63d19339f26b05a9c91cf5cd8425 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Thu, 19 Sep 2024 12:39:25 +1000 Subject: [PATCH 03/57] Tidy: Extract compound condition to variable for readability --- fastlane/lanes/release.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index d88fd2ca0..b4f159b51 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -314,7 +314,8 @@ def check_pods_references return unless is_ci - style = result[:pods].nil? || result[:pods].empty? ? 'success' : 'warning' + all_dependencies_stable = result[:pods].nil? || result[:pods].empty? + style = all_dependencies_stable ? 'success' : 'warning' # Notice the double new line to produce a new HTML paragraph from the Markdown formatting. message = "Internal dependencies check result:\n\n#{result[:message]}" buildkite_annotate(context: 'pods-check', style: style, message: message) From bdc664e9ebc5bb0a1c25e200b601dc9c23f15abd Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Thu, 19 Sep 2024 12:48:59 +1000 Subject: [PATCH 04/57] Replace "Internal" with "Stable" The `ios_check_beta_deps` action doesn't discriminated between internal (1st party) and external (3rd party) dependencies. https://github.com/wordpress-mobile/release-toolkit/blob/ee03eb9232597fd812c18d3fb0fbf91130facf97/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_check_beta_deps.rb --- fastlane/lanes/release.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index b4f159b51..dd7043aa7 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -317,7 +317,7 @@ def check_pods_references all_dependencies_stable = result[:pods].nil? || result[:pods].empty? style = all_dependencies_stable ? 'success' : 'warning' # Notice the double new line to produce a new HTML paragraph from the Markdown formatting. - message = "Internal dependencies check result:\n\n#{result[:message]}" + message = "Stable dependencies check result:\n\n#{result[:message]}" buildkite_annotate(context: 'pods-check', style: style, message: message) end From c7c26c491f69d54ad07ddadd0a929c8f7bfcb63b Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 11:18:12 +1100 Subject: [PATCH 05/57] Use latest release-toolkit --- Gemfile.lock | 78 +++++++++++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c134643c0..f288f5adf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,16 +5,17 @@ GEM base64 nkf rexml - activesupport (7.1.3.4) + activesupport (7.2.1.2) base64 bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) + concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) - mutex_m - tzinfo (~> 2.0) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) algoliasearch (1.27.5) @@ -24,25 +25,25 @@ GEM ast (2.4.2) atomos (0.1.3) aws-eventstream (1.3.0) - aws-partitions (1.958.0) - aws-sdk-core (3.201.3) + aws-partitions (1.997.0) + aws-sdk-core (3.211.0) aws-eventstream (~> 1, >= 1.3.0) - aws-partitions (~> 1, >= 1.651.0) - aws-sigv4 (~> 1.8) + aws-partitions (~> 1, >= 1.992.0) + aws-sigv4 (~> 1.9) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.88.0) - aws-sdk-core (~> 3, >= 3.201.0) + aws-sdk-kms (1.95.0) + aws-sdk-core (~> 3, >= 3.210.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.156.0) - aws-sdk-core (~> 3, >= 3.201.0) + aws-sdk-s3 (1.169.0) + aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) - aws-sigv4 (1.9.0) + aws-sigv4 (1.10.1) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) base64 (0.2.0) bigdecimal (3.1.8) - buildkit (1.6.0) + buildkit (1.6.1) sawyer (>= 0.6) chroma (0.2.0) claide (1.1.0) @@ -91,7 +92,7 @@ GEM colored2 (3.1.2) commander (4.6.0) highline (~> 2.0.0) - concurrent-ruby (1.3.3) + concurrent-ruby (1.3.4) connection_pool (2.4.1) cork (0.3.0) colored2 (~> 3.1) @@ -118,7 +119,7 @@ GEM danger rubocop (~> 1.0) declarative (0.0.20) - diffy (3.4.2) + diffy (3.4.3) digest-crc (0.6.5) rake (>= 12.0.0, < 14.0.0) domain_name (0.6.20240107) @@ -128,8 +129,8 @@ GEM escape (0.0.4) ethon (0.16.0) ffi (>= 1.15.0) - excon (0.111.0) - faraday (1.10.3) + excon (0.112.0) + faraday (1.10.4) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) @@ -157,10 +158,10 @@ GEM faraday-patron (1.0.0) faraday-rack (1.0.0) faraday-retry (1.0.3) - faraday_middleware (1.2.0) + faraday_middleware (1.2.1) faraday (~> 1.0) fastimage (2.3.1) - fastlane (2.222.0) + fastlane (2.225.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -176,6 +177,7 @@ GEM faraday-cookie_jar (~> 0.0.6) faraday_middleware (~> 1.0) fastimage (>= 2.1.0, < 3.0.0) + fastlane-sirp (>= 1.0.0) gh_inspector (>= 1.1.2, < 2.0.0) google-apis-androidpublisher_v3 (~> 0.3) google-apis-playcustomapp_v1 (~> 0.1) @@ -204,7 +206,7 @@ GEM fastlane-plugin-appcenter (2.1.2) fastlane-plugin-sentry (1.22.0) os (~> 1.1, >= 1.1.4) - fastlane-plugin-wpmreleasetoolkit (12.0.0) + fastlane-plugin-wpmreleasetoolkit (12.2.1) activesupport (>= 6.1.7.1) buildkit (~> 1.5) chroma (= 0.2.0) @@ -221,6 +223,8 @@ GEM rake (>= 12.3, < 14.0) rake-compiler (~> 1.0) xcodeproj (~> 1.22) + fastlane-sirp (1.0.0) + sysrandom (~> 1.0) ffi (1.16.3) fourflusher (2.3.1) fuzzy_match (2.0.4) @@ -244,7 +248,7 @@ GEM google-apis-core (>= 0.11.0, < 2.a) google-apis-storage_v1 (0.31.0) google-apis-core (>= 0.11.0, < 2.a) - google-cloud-core (1.7.0) + google-cloud-core (1.7.1) google-cloud-env (>= 1.0, < 3.a) google-cloud-errors (~> 1.0) google-cloud-env (1.6.0) @@ -265,29 +269,29 @@ GEM os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) highline (2.0.3) - http-cookie (1.0.6) + http-cookie (1.0.7) domain_name (~> 0.5) httpclient (2.8.3) - i18n (1.14.5) + i18n (1.14.6) concurrent-ruby (~> 1.0) java-properties (0.3.0) jmespath (1.6.2) - json (2.7.2) - jwt (2.8.2) + json (2.7.4) + jwt (2.9.3) base64 kramdown (2.4.0) rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) language_server-protocol (3.17.0.3) + logger (1.6.1) mini_magick (4.13.2) mini_mime (1.1.5) - minitest (5.24.1) + minitest (5.25.1) molinillo (0.8.0) multi_json (1.15.0) multipart-post (2.4.1) - mutex_m (0.2.0) - nanaimo (0.3.0) + nanaimo (0.4.0) nap (1.1.0) naturally (2.2.1) netrc (0.11.0) @@ -315,7 +319,7 @@ GEM racc (1.8.1) rainbow (3.1.1) rake (13.2.1) - rake-compiler (1.2.7) + rake-compiler (1.2.8) rake rchardet (1.8.0) regexp_parser (2.9.2) @@ -324,8 +328,7 @@ GEM trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) retriable (3.1.2) - rexml (3.2.9) - strscan + rexml (3.3.9) rmagick (3.2.0) rouge (2.0.7) rubocop (1.65.1) @@ -348,6 +351,7 @@ GEM sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) + securerandom (0.3.1) security (0.1.5) signet (0.19.0) addressable (~> 2.8) @@ -357,7 +361,7 @@ GEM simctl (1.6.10) CFPropertyList naturally - strscan (3.1.0) + sysrandom (1.0.5) terminal-notifier (2.0.0) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) @@ -371,15 +375,15 @@ GEM tzinfo (2.0.6) concurrent-ruby (~> 1.0) uber (0.1.0) - unicode-display_width (2.5.0) + unicode-display_width (2.6.0) word_wrap (1.0.0) - xcodeproj (1.24.0) + xcodeproj (1.26.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) - nanaimo (~> 0.3.0) - rexml (~> 3.2.4) + nanaimo (~> 0.4.0) + rexml (>= 3.3.6, < 4.0) xcpretty (0.3.0) rouge (~> 2.0.7) xcpretty-travis-formatter (1.0.1) From 7bbf67e06c7304b7ba41c07f96e25e57aad97867 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 11:25:46 +1100 Subject: [PATCH 06/57] Refine `checkout-release-branch.sh` to use `$1` only We don't want to use the `BUILDKITE_` prefix workaround. --- .../commands/checkout-release-branch.sh | 21 ++++++++++++------- .../complete-code-freeze.yml | 3 +-- .../release-pipelines/new-beta-release.yml | 3 +-- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/.buildkite/commands/checkout-release-branch.sh b/.buildkite/commands/checkout-release-branch.sh index 29bbde406..7e4479096 100755 --- a/.buildkite/commands/checkout-release-branch.sh +++ b/.buildkite/commands/checkout-release-branch.sh @@ -1,14 +1,21 @@ #!/bin/bash -eu -# We expect BUILDKITE_RELEASE_VERSION to be as an environment variable, e.g. by the automation that triggers the build on Buildkite. -# It must use the `BUILDKITE_` prefix to be passed to the agent due to how `hostmgr` works, in case this runs on a Mac agents. -if [[ -z "${BUILDKITE_RELEASE_VERSION}" ]]; then - echo "BUILDKITE_RELEASE_VERSION is not set." +# Checks out to the "release/$1" branch. +# +# Our CI system, Buildkite, by default checks out a specific commit. +# For many release actions, we need to be on a release branch instead. + +RELEASE_VERSION=${1:-} + +if [[ -z "${RELEASE_VERSION}" ]]; then + printf "Usage %s release_version.\n\nExample:\n" "$0" + printf "\t%s 1.2\n" "$0" exit 1 fi -# Buildkite, by default, checks out a specific commit. -# For many release actions, we need to be on a release branch instead. -BRANCH_NAME="release/${BUILDKITE_RELEASE_VERSION}" +echo '--- :git: Checkout Release Branch' + +BRANCH_NAME="release/${RELEASE_VERSION}" + git fetch origin "$BRANCH_NAME" git checkout "$BRANCH_NAME" diff --git a/.buildkite/release-pipelines/complete-code-freeze.yml b/.buildkite/release-pipelines/complete-code-freeze.yml index 18be74c0c..b842a64c3 100644 --- a/.buildkite/release-pipelines/complete-code-freeze.yml +++ b/.buildkite/release-pipelines/complete-code-freeze.yml @@ -18,8 +18,7 @@ steps: echo '--- :git: Configure Git for Release Management' source .buildkite/commands/configure-for-release.sh - echo '--- :git: Checkout release branch' - .buildkite/commands/checkout-release-branch.sh + .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" echo '--- :ruby: Set up Ruby Tools' install_gems diff --git a/.buildkite/release-pipelines/new-beta-release.yml b/.buildkite/release-pipelines/new-beta-release.yml index 49c98df79..0225e8a2d 100644 --- a/.buildkite/release-pipelines/new-beta-release.yml +++ b/.buildkite/release-pipelines/new-beta-release.yml @@ -20,8 +20,7 @@ steps: echo '--- :git: Configure Git for Release Management' source .buildkite/commands/configure-for-release.sh - echo '--- :git: Checkout Release Branch' - .buildkite/commands/checkout-release-branch.sh + .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" echo '--- :ruby: Set up Ruby Tools' install_gems From abe29cebf4567b48d493c4ab8f00ff0e57b7c315 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 11:36:29 +1100 Subject: [PATCH 07/57] DRY "Configure Git for..." Buildkite header --- .buildkite/commands/configure-for-release.sh | 2 ++ .buildkite/release-pipelines/complete-code-freeze.yml | 1 - .buildkite/release-pipelines/new-beta-release.yml | 1 - .buildkite/release-pipelines/start-code-freeze.yml | 1 - 4 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.buildkite/commands/configure-for-release.sh b/.buildkite/commands/configure-for-release.sh index 61fc4ee74..59ba15d49 100755 --- a/.buildkite/commands/configure-for-release.sh +++ b/.buildkite/commands/configure-for-release.sh @@ -9,6 +9,8 @@ fi set -e set -u +echo '--- :git: Configure Git for Release Management' + # The Git command line client is not configured in Buildkite. # At the moment, steps that need Git access can configure it on demand using this script. # Later on, we should be able to configure it on the agent instead. diff --git a/.buildkite/release-pipelines/complete-code-freeze.yml b/.buildkite/release-pipelines/complete-code-freeze.yml index b842a64c3..34cca6993 100644 --- a/.buildkite/release-pipelines/complete-code-freeze.yml +++ b/.buildkite/release-pipelines/complete-code-freeze.yml @@ -15,7 +15,6 @@ steps: key: complete_code_freeze plugins: [$CI_TOOLKIT_PLUGIN] command: | - echo '--- :git: Configure Git for Release Management' source .buildkite/commands/configure-for-release.sh .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" diff --git a/.buildkite/release-pipelines/new-beta-release.yml b/.buildkite/release-pipelines/new-beta-release.yml index 0225e8a2d..325e8c0a3 100644 --- a/.buildkite/release-pipelines/new-beta-release.yml +++ b/.buildkite/release-pipelines/new-beta-release.yml @@ -17,7 +17,6 @@ steps: - label: New Beta Release plugins: [$CI_TOOLKIT_PLUGIN] command: | - echo '--- :git: Configure Git for Release Management' source .buildkite/commands/configure-for-release.sh .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" diff --git a/.buildkite/release-pipelines/start-code-freeze.yml b/.buildkite/release-pipelines/start-code-freeze.yml index baa9e6231..e8bbf561a 100644 --- a/.buildkite/release-pipelines/start-code-freeze.yml +++ b/.buildkite/release-pipelines/start-code-freeze.yml @@ -14,7 +14,6 @@ steps: plugins: - $CI_TOOLKIT_PLUGIN command: | - echo '--- :git: Configure Git for Release Management' source .buildkite/commands/configure-for-release.sh echo '--- :ruby: Setup Ruby Tools' From 42f7d58c739f9039368b72eca6c356438cee1612 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 11:46:01 +1100 Subject: [PATCH 08/57] Adopt DRY create_backmerge_prs! from Simplenote Android --- fastlane/Fastfile | 3 ++ fastlane/lanes/release.rb | 59 +++--------------------------- fastlane/lib/release_helpers.rb | 63 +++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+), 55 deletions(-) create mode 100644 fastlane/lib/release_helpers.rb diff --git a/fastlane/Fastfile b/fastlane/Fastfile index aa1cb1fb3..8eb852599 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -1,6 +1,7 @@ # frozen_string_literal: true default_platform(:ios) + fastlane_require 'xcodeproj' fastlane_require 'dotenv' fastlane_require 'open-uri' @@ -53,6 +54,8 @@ require_relative 'lib/env_manager' import 'lanes/build.rb' import 'lanes/localization.rb' import 'lanes/release.rb' +# This helper is only used in the release lanes but it needs to be imported here in order to access Fastlane-specific API and our methods like release_version_current +import 'lib/release_helpers.rb' before_all do # Ensure we use the latest version of the toolkit diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index 676fc8f58..6992d2fe7 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -112,13 +112,7 @@ trigger_beta_build(branch_to_build: release_branch_name(release_version: version)) - pr_url = create_backmerge_pr! - - message = <<~MESSAGE - Code freeze completed successfully. Next, review and merge the [integration PR](#{pr_url}). - MESSAGE - buildkite_annotate(context: 'code-freeze-completed', style: 'success', message: message) if is_ci - UI.success(message) + create_backmerge_prs! end lane :new_beta_release do |skip_confirm: false| @@ -153,13 +147,7 @@ trigger_beta_build(branch_to_build: release_branch_name) - pr_url = create_backmerge_pr! - - message = <<~MESSAGE - New beta triggered successfully. Next, review and merge the [integration PR](#{pr_url}). - MESSAGE - buildkite_annotate(context: 'new-beta-completed', style: 'success', message: message) if is_ci - UI.success(message) + create_backmerge_prs! end desc 'Trigger the final release build on CI' @@ -197,7 +185,7 @@ trigger_release_build(branch_to_build: release_branch_name) - create_backmerge_prs + create_backmerge_prs! remove_branch_protection( repository: GITHUB_REPO, @@ -279,7 +267,7 @@ trigger_release_build(branch_to_build: release_branch_name(release_version: hotfix_version)) - create_backmerge_prs + create_backmerge_prs! begin close_milestone( @@ -332,45 +320,6 @@ def trigger_buildkite_release_build(branch:, beta:) buildkite_annotate(style: 'info', context: 'trigger-release-build', message: message) end -def create_backmerge_pr! - pr_urls = create_backmerge_prs - - return pr_urls unless pr_urls.length > 1 - - backmerge_error_message = UI.user_error! <<~ERROR - Unexpectedly opened more than one backmerge pull request. URLs: - #{pr_urls.map { |url| "- #{url}" }.join("\n")} - ERROR - buildkite_annotate(style: 'error', context: 'error-creating-backmerge', message: backmerge_error_message) if is_ci - UI.user_error!(backmerge_error_message) -end - -# Notice the plural in the name. -# The action this method calls may create multiple backmerge PRs, depending on how many release branches with version greater than the source are in the remote. -def create_backmerge_prs - version = release_version_current - - create_release_backmerge_pull_request( - repository: GITHUB_REPO, - source_branch: release_branch_name(release_version: version), - labels: ['Releases'], - milestone_title: release_version_next - ) -rescue StandardError => e - error_message = <<-MESSAGE - Error creating backmerge pull request: - - #{e.message} - - If this is not the first time you are running the release task, the backmerge PR for version `#{version}` might have already been created. - Please close any pre-existing backmerge PR for `#{version}`, delete the previous merge branch, then run the release automation again. - MESSAGE - - buildkite_annotate(style: 'error', context: 'error-creating-backmerge', message: error_message) if is_ci - - UI.user_error!(error_message) -end - def freeze_milestone_and_move_assigned_prs_to_next_milestone( milestone_to_freeze:, next_milestone:, diff --git a/fastlane/lib/release_helpers.rb b/fastlane/lib/release_helpers.rb new file mode 100644 index 000000000..d8c89c935 --- /dev/null +++ b/fastlane/lib/release_helpers.rb @@ -0,0 +1,63 @@ +# frozen_string_literal: true + +# Notice the plural in the name. +# The action this method calls may create multiple backmerge PRs, depending on how many release branches with version greater than the source are in the remote. +def create_backmerge_prs!( + version: release_version_current, + source_branch: release_branch_name(release_version: version), + labels: ['Releases'], + milestone_title: release_version_next +) + begin + pr_urls = create_release_backmerge_pull_request( + repository: GITHUB_REPO, + source_branch: source_branch, + labels: labels, + milestone_title: milestone_title + ) + rescue StandardError => e + error_message = create_backmerge_error_message(error: e, version: version) + + buildkite_annotate(style: 'error', context: 'error-creating-backmerge', message: error_message) if is_ci + + UI.user_error!(error_message) + end + + # It's possible that no backmerge was created when: + # + # - there are no hotfixes in development and the next release code freeze has not been started + # - nothing changes in the current release branch since release finalization + # + # As a matter of fact, in the context of Simplenote Android, the above is the most likely scenario. + style = pr_urls.empty? ? 'info' : 'success' + message = create_backmerge_success_message(pr_urls: pr_urls) + + buildkite_annotate(style: style, context: 'backmerge-prs-outcome', message: message) if is_ci + + UI.success(message) + + pr_urls +end + +def create_backmerge_error_message(error:, version:) + <<~MESSAGE + Error creating backmerge pull request(s): + + #{error.message} + + If this is not the first time you are running the release task, the backmerge PR(s) for the version `#{version}` might have already been previously created. + Please close any pre-existing backmerge PR for `#{version}`, delete the previous merge branch, then run the release task again. + MESSAGE +end + +def create_backmerge_success_message(pr_urls:) + if pr_urls.empty? + 'No backmerge PR was required.' + else + <<~MESSAGE + The following backmerge PR#{pr_urls.length > 1 ? '(s) were' : ' was'} created: + + #{pr_urls.map { |url| "- #{url}" }.join("\n")} + MESSAGE + end +end From e0fe4c44211dd2258fee3f74f84676c5c3eba17d Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 11:47:48 +1100 Subject: [PATCH 09/57] Tweak hotfix usage message --- fastlane/lanes/release.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index 6992d2fe7..18b05f110 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -152,7 +152,7 @@ desc 'Trigger the final release build on CI' lane :finalize_release do |skip_confirm: false| - UI.user_error!('To finalize a hotfix, please use the finalize_hotfix_release lane instead') if release_is_hotfix? + UI.user_error!('Hotfix release detected. Please use `finalize_hotfix_release` instead.') if release_is_hotfix? ensure_git_status_clean ensure_git_branch_is_release_branch! From dcae42c808224d6e231c24f76615c00bee698d88 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 11:48:36 +1100 Subject: [PATCH 10/57] Use dash over dots for simpler text manipulation --- fastlane/lanes/release.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index 18b05f110..28a45da8a 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -163,8 +163,8 @@ version = release_version_current UI.important <<~MESSAGE Finalizing release #{version}: - • Current build code: #{build_code_current} - • Final build code: #{new_build_code} + - Current build code: #{build_code_current} + - Final build code: #{new_build_code} MESSAGE UI.user_error!("Terminating as requested. Don't forget to run the remainder of this automation manually.") unless skip_confirm || UI.confirm('Do you want to continue?') From 6777df6cf5ead1b1ae237c91796cff3e7cc0c492 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 13:52:49 +1100 Subject: [PATCH 11/57] =?UTF-8?q?Remove=20call=20to=20create=20new=20miles?= =?UTF-8?q?tone=20=E2=80=93=20Rv2=20does=20that?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fastlane/lanes/release.rb | 2 -- 1 file changed, 2 deletions(-) diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index 28a45da8a..7261041d8 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -199,8 +199,6 @@ freeze: false ) - create_new_milestone(repository: GITHUB_REPO) - close_milestone( repository: GITHUB_REPO, milestone: version From 6a9de66f655af8fee7114c60716e9abb887ef1cb Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 13:55:25 +1100 Subject: [PATCH 12/57] Extract logic to close milestone --- fastlane/lanes/release.rb | 32 ++++++-------------------------- fastlane/lib/release_helpers.rb | 31 +++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 26 deletions(-) diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index 7261041d8..71156765e 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -187,25 +187,17 @@ create_backmerge_prs! + UI.message('Attempting to remove release branch protection in GitHub...') + remove_branch_protection( repository: GITHUB_REPO, branch: release_branch_name ) - begin - set_milestone_frozen_marker( - repository: GITHUB_REPO, - milestone: version, - freeze: false - ) - - close_milestone( - repository: GITHUB_REPO, - milestone: version - ) - rescue StandardError => e - report_milestone_error(error_title: "Error in milestone finalization process for `#{version}`: #{e.message}") - end + mark_github_release_milestone_as_completed( + repository: GITHUB_REPO, + release_version: version + ) end desc 'Creates a new hotfix branch for the given version:x.y.z. The branch will be cut from the tag x.y of the previous release' @@ -368,18 +360,6 @@ def freeze_milestone_and_move_assigned_prs_to_next_milestone( ) end -def report_milestone_error(error_title:) - error_message = <<-MESSAGE - #{error_title} - - If this is not the first time you are running the release task (e.g. retrying because it failed on first attempt), the milestone might have already been closed and this error is expected. - - Otherwise, please investigate the error. - MESSAGE - - UI.error(error_message) - - buildkite_annotate(style: 'warning', context: 'error-with-milestone', message: error_message) if is_ci -end - def delete_all_metadata_release_notes(store_metadata_folder: STORE_METADATA_FOLDER) files = Dir.glob(File.join(store_metadata_folder, '**', 'release_notes.txt')) files.each { |path| File.delete(path) } diff --git a/fastlane/lib/release_helpers.rb b/fastlane/lib/release_helpers.rb index d8c89c935..61d985846 100644 --- a/fastlane/lib/release_helpers.rb +++ b/fastlane/lib/release_helpers.rb @@ -61,3 +61,34 @@ def create_backmerge_success_message(pr_urls:) MESSAGE end end + +# Marks a GitHub release milestone as completed (i.e. removes the frozen marker from the name) and closes it. +def mark_github_release_milestone_as_completed(repository:, release_version:) + UI.message("Attempting to close the milestone for version #{release_version}...") + + set_milestone_frozen_marker( + repository: repository, + milestone: release_version, + freeze: false + ) + close_milestone( + repository: repository, + milestone: release_version + ) + + UI.message("Successfully closed the milestone for version #{release_version}.") +rescue StandardError => e + report_milestone_error(error_title: "Error in milestone finalization process for `#{release_version}`: #{e.message}") +end + +def report_milestone_error(error_title:) + error_message = <<-MESSAGE + #{error_title} + - If this is not the first time you are running the release task (e.g. retrying because it failed on first attempt), the milestone might have already been closed and this error is expected. + - Otherwise, please investigate the error. + MESSAGE + + UI.error(error_message) + + buildkite_annotate(style: 'warning', context: 'error-with-milestone', message: error_message) if is_ci +end From a6589d2d1f1c34425a7c1a98e6b18c1579295e1b Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 13:59:36 +1100 Subject: [PATCH 13/57] Add lane to publish release on GitHub --- fastlane/lanes/release.rb | 40 ++++++++++++++++++++++++++++----- fastlane/lib/release_helpers.rb | 10 +++++++++ 2 files changed, 44 insertions(+), 6 deletions(-) diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index 71156765e..d8941b8e9 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -187,17 +187,45 @@ create_backmerge_prs! - UI.message('Attempting to remove release branch protection in GitHub...') - - remove_branch_protection( + mark_github_release_milestone_as_completed( repository: GITHUB_REPO, - branch: release_branch_name + release_version: version ) + end - mark_github_release_milestone_as_completed( + lane :publish_release do |skip_confirm: false| + ensure_git_status_clean + ensure_git_branch_is_release_branch! + + version_number = release_version_current + + current_branch = release_branch_name(release_version: version_number) + next_release_branch = release_branch_name(release_version: release_version_next) + + UI.important <<~PROMPT + Publish the #{version_number} release. This will: + + - Publish the existing draft `#{version_number}` release on GitHub + - Which will also have GitHub create the associated Git tag, pointing to the tip of #{current_branch} + - If the release branch for the next version `#{next_release_branch}` already exists, backmerge `#{current_branch}` into it + - If needed, backmerge `#{current_branch}` back into `#{DEFAULT_BRANCH}` + - Delete the `#{current_branch}` branch + PROMPT + UI.user_error!("Terminating as requested. Don't forget to run the remainder of this automation manually.") unless skip_confirm || UI.confirm('Do you want to continue?') + + UI.important "Publishing release #{version_number} on GitHub..." + + publish_github_release( repository: GITHUB_REPO, - release_version: version + name: version_number ) + + create_backmerge_prs! + + # At this point, an intermediate branch has been created by creating a backmerge PR to a hotfix or the next version release branch. + # This allows us to safely delete the `release/*` branch. + # Note that if a hotfix or new release branches haven't been created, the backmerge PR would not have be created either. + delete_remote_git_branch!(current_branch) end desc 'Creates a new hotfix branch for the given version:x.y.z. The branch will be cut from the tag x.y of the previous release' diff --git a/fastlane/lib/release_helpers.rb b/fastlane/lib/release_helpers.rb index 61d985846..9041dc299 100644 --- a/fastlane/lib/release_helpers.rb +++ b/fastlane/lib/release_helpers.rb @@ -2,6 +2,7 @@ # Notice the plural in the name. # The action this method calls may create multiple backmerge PRs, depending on how many release branches with version greater than the source are in the remote. +# def create_backmerge_prs!( version: release_version_current, source_branch: release_branch_name(release_version: version), @@ -63,6 +64,7 @@ def create_backmerge_success_message(pr_urls:) end # Marks a GitHub release milestone as completed (i.e. removes the frozen marker from the name) and closes it. +# def mark_github_release_milestone_as_completed(repository:, release_version:) UI.message("Attempting to close the milestone for version #{release_version}...") @@ -92,3 +94,11 @@ def report_milestone_error(error_title:) buildkite_annotate(style: 'warning', context: 'error-with-milestone', message: error_message) if is_ci end + +# Delete a branch from the GitHub remote, after having removed any GitHub branch protection. +# +def delete_remote_git_branch!(branch_name, remote: 'origin') + remove_branch_protection(repository: GITHUB_REPO, branch: branch_name) + + Git.open(Dir.pwd).push(remote, branch_name, delete: true) +end From cda1d04483c165e69397744952aec0289f49c7ce Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 13:59:50 +1100 Subject: [PATCH 14/57] Add pipeline for release finalization --- .../release-pipelines/finalize-release.yml | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .buildkite/release-pipelines/finalize-release.yml diff --git a/.buildkite/release-pipelines/finalize-release.yml b/.buildkite/release-pipelines/finalize-release.yml new file mode 100644 index 000000000..e4b565077 --- /dev/null +++ b/.buildkite/release-pipelines/finalize-release.yml @@ -0,0 +1,31 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json +--- + +# Variables used in this pipeline are defined in `shared-pipeline-vars`, which is `source`'d before calling `buildkite-agent pipeline upload` + +agents: + queue: mac + +env: + IMAGE_ID: $IMAGE_ID + +steps: + - label: Finalize Release + plugins: [$CI_TOOLKIT_PLUGIN] + command: | + source .buildkite/commands/configure-for-release.sh + + .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" + + echo '--- :ruby: Set up Ruby Tools' + install_gems + + echo '--- :closed_lock_with_key: Access Secrets' + bundle exec fastlane run configure_apply + + echo '--- :shipit: Finalize Release' + bundle exec fastlane finalize_release skip_confirm:true + retry: + manual: + # If those jobs fail, one should always prefer re-triggering a new build from ReleaseV2 rather than retrying the individual job from Buildkite + allowed: false From d478e546024d2076c0a5f36142e6a61387d27626 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 14:01:55 +1100 Subject: [PATCH 15/57] Add pipeline to publish release --- .../release-pipelines/publish-release.yml | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .buildkite/release-pipelines/publish-release.yml diff --git a/.buildkite/release-pipelines/publish-release.yml b/.buildkite/release-pipelines/publish-release.yml new file mode 100644 index 000000000..7da8748b5 --- /dev/null +++ b/.buildkite/release-pipelines/publish-release.yml @@ -0,0 +1,31 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json +--- + +# Variables used in this pipeline are defined in `shared-pipeline-vars`, which is `source`'d before calling `buildkite-agent pipeline upload` + +agents: + queue: mac + +env: + IMAGE_ID: $IMAGE_ID + +steps: + - label: Publish Release + plugins: [$CI_TOOLKIT_PLUGIN] + command: | + source .buildkite/commands/configure-for-release.sh + + .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" + + echo '--- :ruby: Set up Ruby Tools' + install_gems + + echo '--- :closed_lock_with_key: Access Secrets' + bundle exec fastlane run configure_apply + + echo '--- :package: Publish Release' + bundle exec fastlane publish_release skip_confirm:true + retry: + manual: + # If those jobs fail, one should always prefer re-triggering a new build from ReleaseV2 rather than retrying the individual job from Buildkite + allowed: false From 898d2bfe565e50593d75fe798637cc2e8a897c00 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 14:04:32 +1100 Subject: [PATCH 16/57] Add pipeline to upload metadata on ASC --- .../update-metadata-on-app-store-connect.yml | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .buildkite/release-pipelines/update-metadata-on-app-store-connect.yml diff --git a/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml b/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml new file mode 100644 index 000000000..25d2e1c5c --- /dev/null +++ b/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml @@ -0,0 +1,31 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json +--- + +# Variables used in this pipeline are defined in `shared-pipeline-vars`, which is `source`'d before calling `buildkite-agent pipeline upload` + +agents: + queue: mac + +env: + IMAGE_ID: $IMAGE_ID + +steps: + - label: Finalize Release + plugins: [$CI_TOOLKIT_PLUGIN] + command: | + source .buildkite/commands/configure-for-release.sh + + .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" + + echo '--- :ruby: Set up Ruby Tools' + install_gems + + echo '--- :closed_lock_with_key: Access Secrets' + bundle exec fastlane run configure_apply + + echo '--- :shipit: Update Release Notes and Other App Store Metadata' + bundle exec fastlane update_metadata_on_app_store_connect skip_confirm:true + retry: + manual: + # If those jobs fail, one should always prefer re-triggering a new build from ReleaseV2 rather than retrying the individual job from Buildkite + allowed: false From 4aee98df4a0f0e6cc7e66893f471bfdab3227f3a Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 29 Oct 2024 00:58:59 -0700 Subject: [PATCH 17/57] Bump version number --- config/Version.Public.xcconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/Version.Public.xcconfig b/config/Version.Public.xcconfig index 48aa834d9..b4a587414 100644 --- a/config/Version.Public.xcconfig +++ b/config/Version.Public.xcconfig @@ -1,2 +1,2 @@ -VERSION_LONG = 4.54.0.1 -VERSION_SHORT = 4.54 +VERSION_LONG = 4.55.0.0 +VERSION_SHORT = 4.55 From ae807b9b183ff36b1e00692e5c36153f979ee108 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 29 Oct 2024 00:58:59 -0700 Subject: [PATCH 18/57] Delete previous version release notes before code freeze --- fastlane/metadata/ar-SA/release_notes.txt | 4 ---- fastlane/metadata/de-DE/release_notes.txt | 4 ---- fastlane/metadata/default/release_notes.txt | 4 ---- fastlane/metadata/es-ES/release_notes.txt | 4 ---- fastlane/metadata/fr-FR/release_notes.txt | 4 ---- fastlane/metadata/he/release_notes.txt | 4 ---- fastlane/metadata/id/release_notes.txt | 4 ---- fastlane/metadata/it/release_notes.txt | 4 ---- fastlane/metadata/ja/release_notes.txt | 4 ---- fastlane/metadata/ko/release_notes.txt | 4 ---- fastlane/metadata/nl-NL/release_notes.txt | 4 ---- fastlane/metadata/pt-BR/release_notes.txt | 4 ---- fastlane/metadata/ru/release_notes.txt | 4 ---- fastlane/metadata/sv/release_notes.txt | 4 ---- fastlane/metadata/tr/release_notes.txt | 4 ---- fastlane/metadata/zh-Hans/release_notes.txt | 4 ---- fastlane/metadata/zh-Hant/release_notes.txt | 4 ---- 17 files changed, 68 deletions(-) delete mode 100644 fastlane/metadata/ar-SA/release_notes.txt delete mode 100644 fastlane/metadata/de-DE/release_notes.txt delete mode 100644 fastlane/metadata/default/release_notes.txt delete mode 100644 fastlane/metadata/es-ES/release_notes.txt delete mode 100644 fastlane/metadata/fr-FR/release_notes.txt delete mode 100644 fastlane/metadata/he/release_notes.txt delete mode 100644 fastlane/metadata/id/release_notes.txt delete mode 100644 fastlane/metadata/it/release_notes.txt delete mode 100644 fastlane/metadata/ja/release_notes.txt delete mode 100644 fastlane/metadata/ko/release_notes.txt delete mode 100644 fastlane/metadata/nl-NL/release_notes.txt delete mode 100644 fastlane/metadata/pt-BR/release_notes.txt delete mode 100644 fastlane/metadata/ru/release_notes.txt delete mode 100644 fastlane/metadata/sv/release_notes.txt delete mode 100644 fastlane/metadata/tr/release_notes.txt delete mode 100644 fastlane/metadata/zh-Hans/release_notes.txt delete mode 100644 fastlane/metadata/zh-Hant/release_notes.txt diff --git a/fastlane/metadata/ar-SA/release_notes.txt b/fastlane/metadata/ar-SA/release_notes.txt deleted file mode 100644 index 23cd4de4b..000000000 --- a/fastlane/metadata/ar-SA/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- تم تحديث الأيقونات للعمل مع أنماط iOS 18 -- إضافة خيار تسجيل الدخول البديل باستخدام اسم المستخدم وكلمة المرور لتسجيل الدخول -- تم تحديث رابط إشعار الخصوصية الخاص بالمستخدمين في كاليفورنيا - diff --git a/fastlane/metadata/de-DE/release_notes.txt b/fastlane/metadata/de-DE/release_notes.txt deleted file mode 100644 index 28aa27984..000000000 --- a/fastlane/metadata/de-DE/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- Aktualisierte Icons, die mit den neuen iOS 18-Stilen funktionieren -- Fallback-Anmeldung mit Option für den Benutzernamen und das Passwort zur Anmeldung hinzufügen -- Aktualisierter Link zu den Datenschutzhinweisen für Benutzer in Kalifornien - diff --git a/fastlane/metadata/default/release_notes.txt b/fastlane/metadata/default/release_notes.txt deleted file mode 100644 index 9922f088e..000000000 --- a/fastlane/metadata/default/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- Updated icons to work with new iOS 18 styles -- Add fall back login with username and password option to login -- Updated link to privacy notice for California users - diff --git a/fastlane/metadata/es-ES/release_notes.txt b/fastlane/metadata/es-ES/release_notes.txt deleted file mode 100644 index 8ce8f1923..000000000 --- a/fastlane/metadata/es-ES/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- Se han actualizado los iconos para que funcionen con los nuevos estilos de iOS 18 -- Añade la opción de inicio de sesión «fall back» con nombre de usuario y contraseña para iniciar sesión -- Se ha actualizado el enlace que lleva al aviso de privacidad para usuarios de California - diff --git a/fastlane/metadata/fr-FR/release_notes.txt b/fastlane/metadata/fr-FR/release_notes.txt deleted file mode 100644 index 49965f950..000000000 --- a/fastlane/metadata/fr-FR/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- Mise à jour des icônes pour qu’elles fonctionnent avec les nouveaux styles d’iOS 18 -- Ajout d’une connexion de secours avec identifiant et mot de passe en option -- Mise à jour du lien vers l’avis de confidentialité pour les utilisateurs californiens - diff --git a/fastlane/metadata/he/release_notes.txt b/fastlane/metadata/he/release_notes.txt deleted file mode 100644 index 13c0d2da8..000000000 --- a/fastlane/metadata/he/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- עדכנו את הסמלים כדי להתאים אותם לסגנון של iOS 18 -- הוספנו ניסיון חוזר להתחברות באמצעות שם משתמש וסיסמה בכניסה -- עדכנו את הקישור להצהרת הפרטיות עבור משתמשים בקליפורניה - diff --git a/fastlane/metadata/id/release_notes.txt b/fastlane/metadata/id/release_notes.txt deleted file mode 100644 index 7e2398135..000000000 --- a/fastlane/metadata/id/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- Perbarui ikon untuk dapat bekerja dengan penataan iOS 18 yang baru -- Tambahkan login sementara dengan menggunakan nama pengguna dan kata sandi -- Tautan diperbarui untuk pemberitahuan privasi untuk pengguna di California - diff --git a/fastlane/metadata/it/release_notes.txt b/fastlane/metadata/it/release_notes.txt deleted file mode 100644 index 24546a851..000000000 --- a/fastlane/metadata/it/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- Aggiornato le icone per renderle compatibili con i nuovi stili di iOS 18 -- Aggiunto un accesso di ripiego con opzioni di nome utente e password per l'accesso -- Aggiornato il link alla nota sulla privacy per utenti in California - diff --git a/fastlane/metadata/ja/release_notes.txt b/fastlane/metadata/ja/release_notes.txt deleted file mode 100644 index c69992b82..000000000 --- a/fastlane/metadata/ja/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- 新しい iOS 18 のスタイルに対応するようにアイコンを更新しました -- ログインにユーザー名とパスワードのオプションを使用するフォールバックログインを追加します -- カリフォルニア州のユーザーへのプライバシー通知のリンクを更新しました - diff --git a/fastlane/metadata/ko/release_notes.txt b/fastlane/metadata/ko/release_notes.txt deleted file mode 100644 index 6346e49cf..000000000 --- a/fastlane/metadata/ko/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- 새로운 iOS 18 스타일에서 지원하도록 아이콘이 업데이트됨 -- 사용자명과 비밀번호로 로그인할 수 있는 대체 로그인 옵션 추가 -- 캘리포니아 사용자를 위한 개인정보 취급방침 링크가 업데이트됨 - diff --git a/fastlane/metadata/nl-NL/release_notes.txt b/fastlane/metadata/nl-NL/release_notes.txt deleted file mode 100644 index fb5ce0f87..000000000 --- a/fastlane/metadata/nl-NL/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- Pictogrammen bijgewerkt om te werken met nieuwe iOS 18-stijlen --Back-up login toevoegen met gebruikersnaam en wachtwoordoptie om in te loggen --Bijgewerkt link naar privacyverklaring voor gebruikers in Californië - diff --git a/fastlane/metadata/pt-BR/release_notes.txt b/fastlane/metadata/pt-BR/release_notes.txt deleted file mode 100644 index e0ed42b0d..000000000 --- a/fastlane/metadata/pt-BR/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- Ícones atualizados para funcionar com novos estilos do iOS 18 -- Adicionamos uma alternativa de login com opção de nome de usuário e senha -- Link do aviso de privacidade para usuários residentes da Califórnia atualizado - diff --git a/fastlane/metadata/ru/release_notes.txt b/fastlane/metadata/ru/release_notes.txt deleted file mode 100644 index 58e305475..000000000 --- a/fastlane/metadata/ru/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -— Значки обновлены в соответствии со стилями новой iOS 18 -— Добавлена опция резервного входа с именем пользователя и паролем -— Обновлена ссылка на заявление о защите конфиденциальности для пользователей из Калифорнии - diff --git a/fastlane/metadata/sv/release_notes.txt b/fastlane/metadata/sv/release_notes.txt deleted file mode 100644 index 20714a737..000000000 --- a/fastlane/metadata/sv/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- Uppdaterade ikoner som fungerar med nya iOS 18-stilar -- Lägg till fallback-inloggning med alternativ för användarnamn och lösenord för att logga in -- Uppdaterad länk till integritetsmeddelande för användare i Kalifornien - diff --git a/fastlane/metadata/tr/release_notes.txt b/fastlane/metadata/tr/release_notes.txt deleted file mode 100644 index 58a4fdad0..000000000 --- a/fastlane/metadata/tr/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- Yeni iOS 18 stilleriyle çalışması için simgeler güncellendi -- Oturum açmak için kullanıcı ve şifre seçeneği içeren ikinci oturum açma eklendi -- Kaliforniya'daki kullanıcılar için gizlilik bildirimine giden bağlantı güncellendi - diff --git a/fastlane/metadata/zh-Hans/release_notes.txt b/fastlane/metadata/zh-Hans/release_notes.txt deleted file mode 100644 index 51bd95f3d..000000000 --- a/fastlane/metadata/zh-Hans/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- 更新了图标,使其与 iOS 18 的新样式相匹配 -- 增加了使用用户名和密码进行回退登录的登录选项 -- 更新了面向加州用户的隐私声明的链接 - diff --git a/fastlane/metadata/zh-Hant/release_notes.txt b/fastlane/metadata/zh-Hant/release_notes.txt deleted file mode 100644 index 3d39bc13c..000000000 --- a/fastlane/metadata/zh-Hant/release_notes.txt +++ /dev/null @@ -1,4 +0,0 @@ -- 更新圖示以搭配新的 iOS 18 樣式 -- 新增可透過使用者名稱和密碼選項登入的備用登入方式 -- 更新了加州使用者隱私權聲明的連結 - From 57cce38f03429571240008e00f1685e6c6470aa7 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 29 Oct 2024 00:58:59 -0700 Subject: [PATCH 19/57] Update draft release notes for 4.55. --- fastlane/metadata/default/release_notes.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/default/release_notes.txt diff --git a/fastlane/metadata/default/release_notes.txt b/fastlane/metadata/default/release_notes.txt new file mode 100644 index 000000000..139597f9c --- /dev/null +++ b/fastlane/metadata/default/release_notes.txt @@ -0,0 +1,2 @@ + + From c33c5a5459a5f6f48aada56c32a8ffb32d33a2d5 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 29 Oct 2024 00:58:59 -0700 Subject: [PATCH 20/57] Release Notes: add new section for next version (4.56) --- RELEASE-NOTES.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 317d019a0..5fb6bc7e8 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -1,3 +1,7 @@ +4.56 +----- + + 4.55 ----- From 513d0021240e0c1e3aa984817367e81cdbc243b7 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 18:59:56 +1100 Subject: [PATCH 21/57] Set release-toolkit version as 12.2 explicitly to use new feature This way, we'll always be sure the gems resolved to a version that includes this new feature we want to use: `buildkite_pipeline_upload` --- Gemfile | 2 +- Gemfile.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 166d46262..227e97178 100644 --- a/Gemfile +++ b/Gemfile @@ -8,7 +8,7 @@ gem 'danger-dangermattic', '~> 1.0' gem 'fastlane', '~> 2' gem 'fastlane-plugin-appcenter', '~> 2.1.2' gem 'fastlane-plugin-sentry', '~> 1.6' -gem 'fastlane-plugin-wpmreleasetoolkit', '~> 12.0' +gem 'fastlane-plugin-wpmreleasetoolkit', '~> 12.2' group :screenshots, optional: true do gem 'rmagick', '~> 3.2.0' diff --git a/Gemfile.lock b/Gemfile.lock index f288f5adf..62220a608 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -401,7 +401,7 @@ DEPENDENCIES fastlane (~> 2) fastlane-plugin-appcenter (~> 2.1.2) fastlane-plugin-sentry (~> 1.6) - fastlane-plugin-wpmreleasetoolkit (~> 12.0) + fastlane-plugin-wpmreleasetoolkit (~> 12.2) rmagick (~> 3.2.0) BUNDLED WITH From 0e67fa32c289523c5f5f3bca055ff29083e4cb0c Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 19:04:18 +1100 Subject: [PATCH 22/57] Reuse release notes for 4.54 in 4.55 4.54 was not shipped so we can use its notes in 4.55 --- fastlane/metadata/default/release_notes.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fastlane/metadata/default/release_notes.txt b/fastlane/metadata/default/release_notes.txt index 139597f9c..167988bb8 100644 --- a/fastlane/metadata/default/release_notes.txt +++ b/fastlane/metadata/default/release_notes.txt @@ -1,2 +1,3 @@ - - +- Updated icons to work with new iOS 18 styles +- Add fall back login with username and password option to login +- Updated link to privacy notice for California users From d011d2d27ffcf90f183d4fcb25fe3a756aeb7c15 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 19:11:23 +1100 Subject: [PATCH 23/57] Add `UI.success` to method to trigger Buildkite build --- fastlane/lanes/release.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index d8941b8e9..275fa920a 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -332,6 +332,8 @@ def trigger_buildkite_release_build(branch:, beta:) pipeline_file: 'release-build.yml' ) + UI.success("Buildkite build triggered. Running on #{build_url}") + return unless is_ci message = "This build triggered #{build_url} on #{branch}." From f5465246cc4276b3971800079cbad019b976d98d Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 19:18:51 +1100 Subject: [PATCH 24/57] Update trigger build logic to upload pipeline when in CI --- fastlane/lanes/release.rb | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index 275fa920a..a82b4c02c 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -324,20 +324,27 @@ def check_pods_references end def trigger_buildkite_release_build(branch:, beta:) - build_url = buildkite_trigger_build( - buildkite_organization: BUILDKITE_ORGANIZATION, - buildkite_pipeline: BUILDKITE_PIPELINE, - branch: branch, - environment: { BETA_RELEASE: beta }, - pipeline_file: 'release-build.yml' - ) - - UI.success("Buildkite build triggered. Running on #{build_url}") - - return unless is_ci + environment = { BETA_RELEASE: beta } + pipeline_file_name = 'release-build.yml' + + # When in CI, upload the release build pipeline inline in the current pipeline. + # Otherwise, trigger a build via the Buildkite APIs. + if is_ci + buildkite_pipeline_upload( + pipeline_file: File.join(PROJECT_ROOT_FOLDER, '.buildkite', pipeline_file_name), + environment: environment + ) + else + build_url = buildkite_trigger_build( + buildkite_organization: BUILDKITE_ORGANIZATION, + buildkite_pipeline: BUILDKITE_PIPELINE, + branch: branch, + environment: environment, + pipeline_file: pipeline_file_name + ) - message = "This build triggered #{build_url} on #{branch}." - buildkite_annotate(style: 'info', context: 'trigger-release-build', message: message) + UI.success("Buildkite build triggered from branch #{branch}. Build URL: #{build_url}") + end end def freeze_milestone_and_move_assigned_prs_to_next_milestone( From d3fa5fa1633b208da736d508bf29a972b0ad9287 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 19:49:29 +1100 Subject: [PATCH 25/57] Update CocoaPods and AppCenter to work with Xcode 16.1 The previous AppCenter version failed the build with a "rsync.samba" error due to it having script sandboxing enabled. Noticed that: - The only breaking change from version 4 to 5 is the change in minimum deployment target. See https://github.com/microsoft/appcenter-sdk-apple/blob/8b039c9de609bd58ea7526c60954194cd1b3a94e/CHANGELOG.md#version-500 - The App Store build does not import AppCenter - AppCenter will be decommissioned in March 2025 --- Gemfile.lock | 11 ++++++----- Podfile | 6 ++++-- Podfile.lock | 24 ++++++++++++------------ 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 62220a608..5539dfe8f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -51,10 +51,10 @@ GEM cork nap open4 (~> 1.3) - cocoapods (1.15.2) + cocoapods (1.16.0) addressable (~> 2.8) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.15.2) + cocoapods-core (= 1.16.0) cocoapods-deintegrate (>= 1.0.3, < 2.0) cocoapods-downloader (>= 2.1, < 3.0) cocoapods-plugins (>= 1.0.0, < 2.0) @@ -68,8 +68,8 @@ GEM molinillo (~> 0.8.0) nap (~> 1.0) ruby-macho (>= 2.3.0, < 3.0) - xcodeproj (>= 1.23.0, < 2.0) - cocoapods-core (1.15.2) + xcodeproj (>= 1.26.0, < 2.0) + cocoapods-core (1.16.0) activesupport (>= 5.0, < 8) addressable (~> 2.8) algoliasearch (~> 1.0) @@ -225,7 +225,8 @@ GEM xcodeproj (~> 1.22) fastlane-sirp (1.0.0) sysrandom (~> 1.0) - ffi (1.16.3) + ffi (1.17.0-arm64-darwin) + ffi (1.17.0-x86_64-linux-gnu) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) diff --git a/Podfile b/Podfile index d6548d74f..9a5d380b9 100644 --- a/Podfile +++ b/Podfile @@ -19,8 +19,10 @@ abstract_target 'Automattic' do # Third Party # pod 'Gridicons', '~> 0.18' - pod 'AppCenter', '~> 4.4.3' - pod 'AppCenter/Distribute', '~> 4.4.3' + + app_center_rule = '~> 5.0' + pod 'AppCenter', app_center_rule + pod 'AppCenter/Distribute', app_center_rule # Automattic # diff --git a/Podfile.lock b/Podfile.lock index bf8d40e2c..44d55fbbc 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,13 +1,13 @@ PODS: - - AppCenter (4.4.3): - - AppCenter/Analytics (= 4.4.3) - - AppCenter/Crashes (= 4.4.3) - - AppCenter/Analytics (4.4.3): + - AppCenter (5.0.5): + - AppCenter/Analytics (= 5.0.5) + - AppCenter/Crashes (= 5.0.5) + - AppCenter/Analytics (5.0.5): - AppCenter/Core - - AppCenter/Core (4.4.3) - - AppCenter/Crashes (4.4.3): + - AppCenter/Core (5.0.5) + - AppCenter/Crashes (5.0.5): - AppCenter/Core - - AppCenter/Distribute (4.4.3): + - AppCenter/Distribute (5.0.5): - AppCenter/Core - Gridicons (0.19) - Simperium (1.9.0): @@ -26,8 +26,8 @@ PODS: - ZIPFoundation (0.9.15) DEPENDENCIES: - - AppCenter (~> 4.4.3) - - AppCenter/Distribute (~> 4.4.3) + - AppCenter (~> 5.0) + - AppCenter/Distribute (~> 5.0) - Gridicons (~> 0.18) - Simperium (= 1.9.0) - SwiftLint (= 0.54.0) @@ -44,13 +44,13 @@ SPEC REPOS: - ZIPFoundation SPEC CHECKSUMS: - AppCenter: 3fd04aa1b166e16fdb03ec81dabe488aece83fbd + AppCenter: 994875ea7941b9e168babb98299f900a94bcef13 Gridicons: dc92efbe5fd60111d2e8ea051d84a60cca552abc Simperium: 45d828d68aad71f3449371346f270013943eff78 SwiftLint: c1de071d9d08c8aba837545f6254315bc900e211 WordPress-Ratings-iOS: 9f83dbba6e728c5121b1fd21b5683cf2fd120646 ZIPFoundation: 063163dc828bf699c5be160eb4f58f676322d94f -PODFILE CHECKSUM: 6fc187e283b4fb7f9f4a0ef73a27632724c90845 +PODFILE CHECKSUM: b7dd9a755e346db3012689d69789e5d8b55a10a4 -COCOAPODS: 1.15.2 +COCOAPODS: 1.16.0 From 0dbeaabdfa41aca1f1a62660484ab118ed8f9111 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 29 Oct 2024 02:25:22 -0700 Subject: [PATCH 26/57] Update metadata strings --- Simplenote/Resources/AppStoreStrings.pot | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Simplenote/Resources/AppStoreStrings.pot b/Simplenote/Resources/AppStoreStrings.pot index 6acd42935..3632e8d35 100644 --- a/Simplenote/Resources/AppStoreStrings.pot +++ b/Simplenote/Resources/AppStoreStrings.pot @@ -66,11 +66,10 @@ msgctxt "app_store_keywords" msgid "notes,note,markdown,journal,sync,to-do,list,cloud,notebook,simple,notepad,tag,todo,writing,memo" msgstr "" -msgctxt "v4.54-whats-new" +msgctxt "v4.55-whats-new" msgid "" "- Updated icons to work with new iOS 18 styles\n" "- Add fall back login with username and password option to login\n" "- Updated link to privacy notice for California users\n" -"\n" msgstr "" From 5539e0fd62906ba874328f8471a946e41e23e2ca Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 20:26:56 +1100 Subject: [PATCH 27/57] Convert the bool `beta` flag to string for Buildkite This should address the failure seen running the new `buildkite_pipeline_upload` in CI: /opt/ci/builds/builder/automattic/simplenote-ios/vendor/bundle/ruby/3.2.0/gems/fastlane-2.225.0/fastlane/lib/fastlane/helper/sh_helper.rb:118:in `block in shell_command_from_args': [!] undefined method `shellescape' for true:TrueClass (NoMethodError) command = args.shift.map { |k, v| "#{k}=#{v.shellescape}" }.join(" ") + " " https://buildkite.com/automattic/simplenote-ios/builds/1184#0192d797-332d-4bed-990a-0101000f2f56 --- fastlane/lanes/release.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index 3bbd42e9e..b23b6b859 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -328,7 +328,7 @@ def check_pods_references end def trigger_buildkite_release_build(branch:, beta:) - environment = { BETA_RELEASE: beta } + environment = { BETA_RELEASE: beta.to_s } pipeline_file_name = 'release-build.yml' # When in CI, upload the release build pipeline inline in the current pipeline. From 551297bcff75725fdd163322cf9335ed4a743a7a Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 29 Oct 2024 20:48:35 +1100 Subject: [PATCH 28/57] Pass both keys and values in `buildkite_pipeline_upload` as strings This should (I verified locally) address the new CI failure with the `sh` call after addressing the previous one in https://github.com/Automattic/simplenote-ios/pull/1669 See https://buildkite.com/automattic/simplenote-ios/builds/1188#0192d79d-58c5-4b62-bec4-cd464ebaca60 ``` /Users/builder/.rbenv/versions/3.2.2/lib/ruby/3.2.0/open3.rb:222:in `spawn': [!] no implicit conversion of Symbol into String (TypeError) pid = spawn(*cmd, opts) ``` --- fastlane/lanes/release.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index b23b6b859..970df0f49 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -328,7 +328,7 @@ def check_pods_references end def trigger_buildkite_release_build(branch:, beta:) - environment = { BETA_RELEASE: beta.to_s } + environment = { BETA_RELEASE: beta } pipeline_file_name = 'release-build.yml' # When in CI, upload the release build pipeline inline in the current pipeline. @@ -336,7 +336,8 @@ def trigger_buildkite_release_build(branch:, beta:) if is_ci buildkite_pipeline_upload( pipeline_file: File.join(PROJECT_ROOT_FOLDER, '.buildkite', pipeline_file_name), - environment: environment + # Both keys and values need to be passed as strings + environment: environment.to_h { |k, v| [k.to_s, v.to_s] } ) else build_url = buildkite_trigger_build( From 9821f194c7da93133c8a4f5a452345b80e6bd76a Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 29 Oct 2024 17:37:55 -0700 Subject: [PATCH 29/57] Update App Store metadata translations --- fastlane/metadata/ar-SA/keywords.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/ar-SA/keywords.txt b/fastlane/metadata/ar-SA/keywords.txt index 66c12533b..be7cee772 100644 --- a/fastlane/metadata/ar-SA/keywords.txt +++ b/fastlane/metadata/ar-SA/keywords.txt @@ -1 +1 @@ -ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة \ No newline at end of file +ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة,مذكرة From 8255c3733c9637aa5af672a1ea2926e770da842c Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 29 Oct 2024 17:37:55 -0700 Subject: [PATCH 30/57] Trim ar-SA keywords to be less than 100 characters --- fastlane/metadata/ar-SA/keywords.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/ar-SA/keywords.txt b/fastlane/metadata/ar-SA/keywords.txt index be7cee772..66c12533b 100644 --- a/fastlane/metadata/ar-SA/keywords.txt +++ b/fastlane/metadata/ar-SA/keywords.txt @@ -1 +1 @@ -ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة,مذكرة +ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة \ No newline at end of file From 5aa207d7303efba78df565d387ce0995a3e9284c Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 29 Oct 2024 17:37:56 -0700 Subject: [PATCH 31/57] Bump version number --- config/Version.Public.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/Version.Public.xcconfig b/config/Version.Public.xcconfig index b4a587414..8dce446ee 100644 --- a/config/Version.Public.xcconfig +++ b/config/Version.Public.xcconfig @@ -1,2 +1,2 @@ -VERSION_LONG = 4.55.0.0 +VERSION_LONG = 4.55.0.1 VERSION_SHORT = 4.55 From ee9b7d99617375b30f5c9ec966c9d79efd4263a9 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Wed, 30 Oct 2024 13:19:50 +1100 Subject: [PATCH 32/57] Run `buildkite_pipeline_upload` on branch HEAD --- fastlane/lanes/release.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index 970df0f49..0e05c73d1 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -336,8 +336,14 @@ def trigger_buildkite_release_build(branch:, beta:) if is_ci buildkite_pipeline_upload( pipeline_file: File.join(PROJECT_ROOT_FOLDER, '.buildkite', pipeline_file_name), - # Both keys and values need to be passed as strings - environment: environment.to_h { |k, v| [k.to_s, v.to_s] } + environment: + # Override the commit to make sure it runs on the latest state, + # not the commit that triggered the automation that eventaully called this. + # + # Useful during release automation builds that make additional commits to the release branch. + { **environment, BUILDKITE_COMMIT: last_git_commit[:commit_hash] } + # Both keys and values need to be passed as strings + .to_h { |k, v| [k.to_s, v.to_s] } ) else build_url = buildkite_trigger_build( From 450994c939abfb463615cd06bc44ca99636ee7f5 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 29 Oct 2024 19:36:42 -0700 Subject: [PATCH 33/57] Update App Store metadata translations --- fastlane/metadata/ar-SA/keywords.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/ar-SA/keywords.txt b/fastlane/metadata/ar-SA/keywords.txt index 66c12533b..be7cee772 100644 --- a/fastlane/metadata/ar-SA/keywords.txt +++ b/fastlane/metadata/ar-SA/keywords.txt @@ -1 +1 @@ -ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة \ No newline at end of file +ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة,مذكرة From df672a7be0d63b2e68c31088ed817783cc55d6c1 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 29 Oct 2024 19:36:42 -0700 Subject: [PATCH 34/57] Trim ar-SA keywords to be less than 100 characters --- fastlane/metadata/ar-SA/keywords.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/ar-SA/keywords.txt b/fastlane/metadata/ar-SA/keywords.txt index be7cee772..66c12533b 100644 --- a/fastlane/metadata/ar-SA/keywords.txt +++ b/fastlane/metadata/ar-SA/keywords.txt @@ -1 +1 @@ -ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة,مذكرة +ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة \ No newline at end of file From 84b4502c117c6b5d1497db75c929c50b6a6bbc69 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 29 Oct 2024 19:36:43 -0700 Subject: [PATCH 35/57] Bump version number --- config/Version.Public.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/Version.Public.xcconfig b/config/Version.Public.xcconfig index 8dce446ee..b43d491cb 100644 --- a/config/Version.Public.xcconfig +++ b/config/Version.Public.xcconfig @@ -1,2 +1,2 @@ -VERSION_LONG = 4.55.0.1 +VERSION_LONG = 4.55.0.2 VERSION_SHORT = 4.55 From 0b87a5eebbb5f721321a045fa9779d15b926be4c Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Wed, 30 Oct 2024 14:15:22 +1100 Subject: [PATCH 36/57] Force release builds in CI to checkout release branch --- .buildkite/release-build.yml | 4 +++- fastlane/lanes/release.rb | 15 ++++++--------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/.buildkite/release-build.yml b/.buildkite/release-build.yml index 5631eff49..9e282c979 100644 --- a/.buildkite/release-build.yml +++ b/.buildkite/release-build.yml @@ -6,7 +6,9 @@ agents: steps: - label: ":testflight: Build Simplenote iOS for App Store Connect" key: testflight_build - command: .buildkite/commands/release-build.sh + command: | + .buildkite/commands/checkout-release-branch.sh $RELEASE_VERSION + .buildkite/commands/release-build.sh priority: 1 plugins: [$CI_TOOLKIT_PLUGIN] artifact_paths: diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index 0e05c73d1..73634b536 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -328,7 +328,10 @@ def check_pods_references end def trigger_buildkite_release_build(branch:, beta:) - environment = { BETA_RELEASE: beta } + environment = { + BETA_RELEASE: beta, + RELEASE_VERSION: release_version_current + } pipeline_file_name = 'release-build.yml' # When in CI, upload the release build pipeline inline in the current pipeline. @@ -336,14 +339,8 @@ def trigger_buildkite_release_build(branch:, beta:) if is_ci buildkite_pipeline_upload( pipeline_file: File.join(PROJECT_ROOT_FOLDER, '.buildkite', pipeline_file_name), - environment: - # Override the commit to make sure it runs on the latest state, - # not the commit that triggered the automation that eventaully called this. - # - # Useful during release automation builds that make additional commits to the release branch. - { **environment, BUILDKITE_COMMIT: last_git_commit[:commit_hash] } - # Both keys and values need to be passed as strings - .to_h { |k, v| [k.to_s, v.to_s] } + # Both keys and values need to be passed as strings + environment: environment.to_h { |k, v| [k.to_s, v.to_s] } ) else build_url = buildkite_trigger_build( From d48dc099aaaa8b2cd2f2df2ae4fc7c39a623760e Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Wed, 30 Oct 2024 14:16:55 +1100 Subject: [PATCH 37/57] Revert version bump that was never distributed for consistency This will allow us to retry the beta build from our Rv2 GUI instead of invalidating the previous one and start anew. --- config/Version.Public.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/Version.Public.xcconfig b/config/Version.Public.xcconfig index b43d491cb..8dce446ee 100644 --- a/config/Version.Public.xcconfig +++ b/config/Version.Public.xcconfig @@ -1,2 +1,2 @@ -VERSION_LONG = 4.55.0.2 +VERSION_LONG = 4.55.0.1 VERSION_SHORT = 4.55 From bb7cf4f30b03e7705470356d4c0c690742b6c417 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 29 Oct 2024 20:22:05 -0700 Subject: [PATCH 38/57] Update App Store metadata translations --- fastlane/metadata/ar-SA/keywords.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/ar-SA/keywords.txt b/fastlane/metadata/ar-SA/keywords.txt index 66c12533b..be7cee772 100644 --- a/fastlane/metadata/ar-SA/keywords.txt +++ b/fastlane/metadata/ar-SA/keywords.txt @@ -1 +1 @@ -ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة \ No newline at end of file +ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة,مذكرة From 11c70c63f6a245cbe02598ac497b45770e8db533 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 29 Oct 2024 20:22:05 -0700 Subject: [PATCH 39/57] Trim ar-SA keywords to be less than 100 characters --- fastlane/metadata/ar-SA/keywords.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/ar-SA/keywords.txt b/fastlane/metadata/ar-SA/keywords.txt index be7cee772..66c12533b 100644 --- a/fastlane/metadata/ar-SA/keywords.txt +++ b/fastlane/metadata/ar-SA/keywords.txt @@ -1 +1 @@ -ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة,مذكرة +ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة \ No newline at end of file From d70513db7b0e9e64912a5b22f066353a039e1f37 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Tue, 29 Oct 2024 20:22:06 -0700 Subject: [PATCH 40/57] Bump version number --- config/Version.Public.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/Version.Public.xcconfig b/config/Version.Public.xcconfig index 8dce446ee..b43d491cb 100644 --- a/config/Version.Public.xcconfig +++ b/config/Version.Public.xcconfig @@ -1,2 +1,2 @@ -VERSION_LONG = 4.55.0.1 +VERSION_LONG = 4.55.0.2 VERSION_SHORT = 4.55 From d7b634db6c7fd3020ba5be92b769fce5d85f0561 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Thu, 31 Oct 2024 06:16:37 +1100 Subject: [PATCH 41/57] Also checkout release branch in upload release step... --- .buildkite/release-build.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.buildkite/release-build.yml b/.buildkite/release-build.yml index 9e282c979..3770f7e54 100644 --- a/.buildkite/release-build.yml +++ b/.buildkite/release-build.yml @@ -17,7 +17,11 @@ steps: - label: ":testflight: Upload Simplenote iOS to App Store Connect" depends_on: testflight_build - command: .buildkite/commands/release-upload.sh $BETA_RELEASE + # This step does not only upload to ASC, but also create a GitHub release. + # For that, it needs to be on the latest release branch commit, hence the checkout command + command: | + .buildkite/commands/checkout-release-branch.sh $RELEASE_VERSION + .buildkite/commands/release-upload.sh $BETA_RELEASE priority: 1 plugins: [$CI_TOOLKIT_PLUGIN] notify: From 16544b008b66d27995c26051c4b8fa5f65bf5544 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Thu, 31 Oct 2024 06:16:53 +1100 Subject: [PATCH 42/57] Modernize `release-build.yml` syntax --- .buildkite/release-build.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.buildkite/release-build.yml b/.buildkite/release-build.yml index 3770f7e54..49bd3c986 100644 --- a/.buildkite/release-build.yml +++ b/.buildkite/release-build.yml @@ -1,8 +1,14 @@ -env: - IMAGE_ID: $IMAGE_ID +# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json +--- + +# Variables used in this pipeline are defined in `shared-pipeline-vars`, which is `source`'d before calling `buildkite-agent pipeline upload` + agents: queue: mac +env: + IMAGE_ID: $IMAGE_ID + steps: - label: ":testflight: Build Simplenote iOS for App Store Connect" key: testflight_build @@ -25,4 +31,4 @@ steps: priority: 1 plugins: [$CI_TOOLKIT_PLUGIN] notify: - - slack: "#build-and-ship" + - slack: "#build-and-ship" From 84e5173053c603e00e6adabfb81a9e69183a6e81 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Wed, 30 Oct 2024 12:29:48 -0700 Subject: [PATCH 43/57] Update App Store metadata translations --- fastlane/metadata/ar-SA/keywords.txt | 2 +- fastlane/metadata/ar-SA/release_notes.txt | 3 +++ fastlane/metadata/de-DE/release_notes.txt | 3 +++ fastlane/metadata/he/release_notes.txt | 3 +++ fastlane/metadata/it/release_notes.txt | 3 +++ fastlane/metadata/pt-BR/release_notes.txt | 3 +++ fastlane/metadata/ru/release_notes.txt | 3 +++ fastlane/metadata/sv/release_notes.txt | 3 +++ fastlane/metadata/zh-Hans/release_notes.txt | 3 +++ 9 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 fastlane/metadata/ar-SA/release_notes.txt create mode 100644 fastlane/metadata/de-DE/release_notes.txt create mode 100644 fastlane/metadata/he/release_notes.txt create mode 100644 fastlane/metadata/it/release_notes.txt create mode 100644 fastlane/metadata/pt-BR/release_notes.txt create mode 100644 fastlane/metadata/ru/release_notes.txt create mode 100644 fastlane/metadata/sv/release_notes.txt create mode 100644 fastlane/metadata/zh-Hans/release_notes.txt diff --git a/fastlane/metadata/ar-SA/keywords.txt b/fastlane/metadata/ar-SA/keywords.txt index 66c12533b..be7cee772 100644 --- a/fastlane/metadata/ar-SA/keywords.txt +++ b/fastlane/metadata/ar-SA/keywords.txt @@ -1 +1 @@ -ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة \ No newline at end of file +ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة,مذكرة diff --git a/fastlane/metadata/ar-SA/release_notes.txt b/fastlane/metadata/ar-SA/release_notes.txt new file mode 100644 index 000000000..ed38d1f80 --- /dev/null +++ b/fastlane/metadata/ar-SA/release_notes.txt @@ -0,0 +1,3 @@ +- تم تحديث الأيقونات للعمل مع أنماط iOS 18 +- إضافة خيار تسجيل الدخول البديل باستخدام اسم المستخدم وكلمة المرور لتسجيل الدخول +- تم تحديث رابط إشعار الخصوصية الخاص بالمستخدمين في كاليفورنيا diff --git a/fastlane/metadata/de-DE/release_notes.txt b/fastlane/metadata/de-DE/release_notes.txt new file mode 100644 index 000000000..db2e85364 --- /dev/null +++ b/fastlane/metadata/de-DE/release_notes.txt @@ -0,0 +1,3 @@ +- Aktualisierte Icons, die mit den neuen iOS 18-Stilen funktionieren +- Fallback-Anmeldung mit Option für den Benutzernamen und das Passwort zur Anmeldung hinzufügen +- Aktualisierter Link zu den Datenschutzhinweisen für Benutzer in Kalifornien diff --git a/fastlane/metadata/he/release_notes.txt b/fastlane/metadata/he/release_notes.txt new file mode 100644 index 000000000..3c9398488 --- /dev/null +++ b/fastlane/metadata/he/release_notes.txt @@ -0,0 +1,3 @@ +- עדכנו את הסמלים כדי להתאים אותם לסגנון של iOS 18 +- הוספנו ניסיון חוזר להתחברות באמצעות שם משתמש וסיסמה בכניסה +- עדכנו את הקישור להצהרת הפרטיות עבור משתמשים בקליפורניה diff --git a/fastlane/metadata/it/release_notes.txt b/fastlane/metadata/it/release_notes.txt new file mode 100644 index 000000000..ada7dfca5 --- /dev/null +++ b/fastlane/metadata/it/release_notes.txt @@ -0,0 +1,3 @@ +- Aggiornato le icone per renderle compatibili con i nuovi stili di iOS 18 +- Aggiunto un accesso di ripiego con opzioni di nome utente e password per l'accesso +- Aggiornato il link alla nota sulla privacy per utenti in California diff --git a/fastlane/metadata/pt-BR/release_notes.txt b/fastlane/metadata/pt-BR/release_notes.txt new file mode 100644 index 000000000..569aa651d --- /dev/null +++ b/fastlane/metadata/pt-BR/release_notes.txt @@ -0,0 +1,3 @@ +- Ícones atualizados para funcionar com novos estilos do iOS 18 +- Adicionamos uma alternativa de login com opção de nome de usuário e senha +- Link do aviso de privacidade para usuários residentes da Califórnia atualizado diff --git a/fastlane/metadata/ru/release_notes.txt b/fastlane/metadata/ru/release_notes.txt new file mode 100644 index 000000000..918c6d510 --- /dev/null +++ b/fastlane/metadata/ru/release_notes.txt @@ -0,0 +1,3 @@ +— Значки обновлены в соответствии со стилями новой iOS 18 +— Добавлена опция резервного входа с именем пользователя и паролем +— Обновлена ссылка на заявление о защите конфиденциальности для пользователей из Калифорнии diff --git a/fastlane/metadata/sv/release_notes.txt b/fastlane/metadata/sv/release_notes.txt new file mode 100644 index 000000000..ace746a81 --- /dev/null +++ b/fastlane/metadata/sv/release_notes.txt @@ -0,0 +1,3 @@ +- Uppdaterade ikoner som fungerar med nya iOS 18-stilar +- Lägg till fallback-inloggning med alternativ för användarnamn och lösenord för att logga in +- Uppdaterad länk till integritetsmeddelande för användare i Kalifornien diff --git a/fastlane/metadata/zh-Hans/release_notes.txt b/fastlane/metadata/zh-Hans/release_notes.txt new file mode 100644 index 000000000..3bc36e4c3 --- /dev/null +++ b/fastlane/metadata/zh-Hans/release_notes.txt @@ -0,0 +1,3 @@ +- 更新了图标,使其与 iOS 18 的新样式相匹配 +- 增加了使用用户名和密码进行回退登录的登录选项 +- 更新了面向加州用户的隐私声明的链接 From 0691b851c8673af1b15d368e8fddbf47be0b0d73 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Wed, 30 Oct 2024 12:29:48 -0700 Subject: [PATCH 44/57] Trim ar-SA keywords to be less than 100 characters --- fastlane/metadata/ar-SA/keywords.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/ar-SA/keywords.txt b/fastlane/metadata/ar-SA/keywords.txt index be7cee772..66c12533b 100644 --- a/fastlane/metadata/ar-SA/keywords.txt +++ b/fastlane/metadata/ar-SA/keywords.txt @@ -1 +1 @@ -ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة,مذكرة +ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة \ No newline at end of file From 8734d5ba26e88aad49a022b455bf7588826c4fa0 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Wed, 30 Oct 2024 12:29:49 -0700 Subject: [PATCH 45/57] Bump version number --- config/Version.Public.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/Version.Public.xcconfig b/config/Version.Public.xcconfig index b43d491cb..517286b67 100644 --- a/config/Version.Public.xcconfig +++ b/config/Version.Public.xcconfig @@ -1,2 +1,2 @@ -VERSION_LONG = 4.55.0.2 +VERSION_LONG = 4.55.0.3 VERSION_SHORT = 4.55 From 32f7e72214d8091342cea5e2092e8561ba4d27e2 Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Thu, 31 Oct 2024 00:38:46 +0100 Subject: [PATCH 46/57] Call `use-bot-for-git` script directly --- .buildkite/commands/configure-for-release.sh | 21 ------------------- .../complete-code-freeze.yml | 3 ++- .../release-pipelines/finalize-release.yml | 3 ++- .../release-pipelines/new-beta-release.yml | 3 ++- .../release-pipelines/publish-release.yml | 3 ++- .../release-pipelines/start-code-freeze.yml | 3 ++- .../update-metadata-on-app-store-connect.yml | 3 ++- 7 files changed, 12 insertions(+), 27 deletions(-) delete mode 100755 .buildkite/commands/configure-for-release.sh diff --git a/.buildkite/commands/configure-for-release.sh b/.buildkite/commands/configure-for-release.sh deleted file mode 100755 index 59ba15d49..000000000 --- a/.buildkite/commands/configure-for-release.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then - echo "This script must be 'source'd (instead of being called directly as an executable) to work properly" - exit 1 -fi - -# Note: Set the flags separately (instead of via the shebang), because that script will be `source`'d and not run directly -set -e -set -u - -echo '--- :git: Configure Git for Release Management' - -# The Git command line client is not configured in Buildkite. -# At the moment, steps that need Git access can configure it on demand using this script. -# Later on, we should be able to configure it on the agent instead. -git config --global user.email "mobile+wpmobilebot@automattic.com" -git config --global user.name "Automattic Release Bot" - -echo '--- :robot_face: Use bot for git operations' -source use-bot-for-git diff --git a/.buildkite/release-pipelines/complete-code-freeze.yml b/.buildkite/release-pipelines/complete-code-freeze.yml index 34cca6993..14fd74c7d 100644 --- a/.buildkite/release-pipelines/complete-code-freeze.yml +++ b/.buildkite/release-pipelines/complete-code-freeze.yml @@ -15,7 +15,8 @@ steps: key: complete_code_freeze plugins: [$CI_TOOLKIT_PLUGIN] command: | - source .buildkite/commands/configure-for-release.sh + echo '--- :robot_face: Use bot for git operations' + source use-bot-for-git .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" diff --git a/.buildkite/release-pipelines/finalize-release.yml b/.buildkite/release-pipelines/finalize-release.yml index e4b565077..0fbf6e481 100644 --- a/.buildkite/release-pipelines/finalize-release.yml +++ b/.buildkite/release-pipelines/finalize-release.yml @@ -13,7 +13,8 @@ steps: - label: Finalize Release plugins: [$CI_TOOLKIT_PLUGIN] command: | - source .buildkite/commands/configure-for-release.sh + echo '--- :robot_face: Use bot for git operations' + source use-bot-for-git .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" diff --git a/.buildkite/release-pipelines/new-beta-release.yml b/.buildkite/release-pipelines/new-beta-release.yml index 325e8c0a3..b69882391 100644 --- a/.buildkite/release-pipelines/new-beta-release.yml +++ b/.buildkite/release-pipelines/new-beta-release.yml @@ -17,7 +17,8 @@ steps: - label: New Beta Release plugins: [$CI_TOOLKIT_PLUGIN] command: | - source .buildkite/commands/configure-for-release.sh + echo '--- :robot_face: Use bot for git operations' + source use-bot-for-git .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" diff --git a/.buildkite/release-pipelines/publish-release.yml b/.buildkite/release-pipelines/publish-release.yml index 7da8748b5..310e54d24 100644 --- a/.buildkite/release-pipelines/publish-release.yml +++ b/.buildkite/release-pipelines/publish-release.yml @@ -13,7 +13,8 @@ steps: - label: Publish Release plugins: [$CI_TOOLKIT_PLUGIN] command: | - source .buildkite/commands/configure-for-release.sh + echo '--- :robot_face: Use bot for git operations' + source use-bot-for-git .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" diff --git a/.buildkite/release-pipelines/start-code-freeze.yml b/.buildkite/release-pipelines/start-code-freeze.yml index e8bbf561a..8c1e1311d 100644 --- a/.buildkite/release-pipelines/start-code-freeze.yml +++ b/.buildkite/release-pipelines/start-code-freeze.yml @@ -14,7 +14,8 @@ steps: plugins: - $CI_TOOLKIT_PLUGIN command: | - source .buildkite/commands/configure-for-release.sh + echo '--- :robot_face: Use bot for git operations' + source use-bot-for-git echo '--- :ruby: Setup Ruby Tools' install_gems diff --git a/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml b/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml index 25d2e1c5c..4e23425b4 100644 --- a/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml +++ b/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml @@ -13,7 +13,8 @@ steps: - label: Finalize Release plugins: [$CI_TOOLKIT_PLUGIN] command: | - source .buildkite/commands/configure-for-release.sh + echo '--- :robot_face: Use bot for git operations' + source use-bot-for-git .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" From 91e5ced34a4e36ca0dd6bdad0aaf47b8c90fd71a Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Thu, 31 Oct 2024 11:45:50 +1100 Subject: [PATCH 47/57] `s/for git/for Git/` --- .buildkite/release-pipelines/complete-code-freeze.yml | 2 +- .buildkite/release-pipelines/finalize-release.yml | 2 +- .buildkite/release-pipelines/new-beta-release.yml | 2 +- .buildkite/release-pipelines/publish-release.yml | 2 +- .buildkite/release-pipelines/start-code-freeze.yml | 2 +- .../release-pipelines/update-metadata-on-app-store-connect.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.buildkite/release-pipelines/complete-code-freeze.yml b/.buildkite/release-pipelines/complete-code-freeze.yml index 14fd74c7d..e50946847 100644 --- a/.buildkite/release-pipelines/complete-code-freeze.yml +++ b/.buildkite/release-pipelines/complete-code-freeze.yml @@ -15,7 +15,7 @@ steps: key: complete_code_freeze plugins: [$CI_TOOLKIT_PLUGIN] command: | - echo '--- :robot_face: Use bot for git operations' + echo '--- :robot_face: Use bot for Git operations' source use-bot-for-git .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" diff --git a/.buildkite/release-pipelines/finalize-release.yml b/.buildkite/release-pipelines/finalize-release.yml index 0fbf6e481..5f6f1deae 100644 --- a/.buildkite/release-pipelines/finalize-release.yml +++ b/.buildkite/release-pipelines/finalize-release.yml @@ -13,7 +13,7 @@ steps: - label: Finalize Release plugins: [$CI_TOOLKIT_PLUGIN] command: | - echo '--- :robot_face: Use bot for git operations' + echo '--- :robot_face: Use bot for Git operations' source use-bot-for-git .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" diff --git a/.buildkite/release-pipelines/new-beta-release.yml b/.buildkite/release-pipelines/new-beta-release.yml index b69882391..84c1a8de7 100644 --- a/.buildkite/release-pipelines/new-beta-release.yml +++ b/.buildkite/release-pipelines/new-beta-release.yml @@ -17,7 +17,7 @@ steps: - label: New Beta Release plugins: [$CI_TOOLKIT_PLUGIN] command: | - echo '--- :robot_face: Use bot for git operations' + echo '--- :robot_face: Use bot for Git operations' source use-bot-for-git .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" diff --git a/.buildkite/release-pipelines/publish-release.yml b/.buildkite/release-pipelines/publish-release.yml index 310e54d24..964c91cbf 100644 --- a/.buildkite/release-pipelines/publish-release.yml +++ b/.buildkite/release-pipelines/publish-release.yml @@ -13,7 +13,7 @@ steps: - label: Publish Release plugins: [$CI_TOOLKIT_PLUGIN] command: | - echo '--- :robot_face: Use bot for git operations' + echo '--- :robot_face: Use bot for Git operations' source use-bot-for-git .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" diff --git a/.buildkite/release-pipelines/start-code-freeze.yml b/.buildkite/release-pipelines/start-code-freeze.yml index 8c1e1311d..8de7affef 100644 --- a/.buildkite/release-pipelines/start-code-freeze.yml +++ b/.buildkite/release-pipelines/start-code-freeze.yml @@ -14,7 +14,7 @@ steps: plugins: - $CI_TOOLKIT_PLUGIN command: | - echo '--- :robot_face: Use bot for git operations' + echo '--- :robot_face: Use bot for Git operations' source use-bot-for-git echo '--- :ruby: Setup Ruby Tools' diff --git a/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml b/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml index 4e23425b4..94273bce7 100644 --- a/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml +++ b/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml @@ -13,7 +13,7 @@ steps: - label: Finalize Release plugins: [$CI_TOOLKIT_PLUGIN] command: | - echo '--- :robot_face: Use bot for git operations' + echo '--- :robot_face: Use bot for Git operations' source use-bot-for-git .buildkite/commands/checkout-release-branch.sh "$RELEASE_VERSION" From 7024636dc0753d2ca6fa29dd4c78f76387d9d595 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Sat, 2 Nov 2024 08:01:42 +1100 Subject: [PATCH 48/57] Fix version file path in `release_is_hotfix?` helper --- fastlane/lanes/release.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/lanes/release.rb b/fastlane/lanes/release.rb index 73634b536..7ae5231ed 100644 --- a/fastlane/lanes/release.rb +++ b/fastlane/lanes/release.rb @@ -419,6 +419,6 @@ def delete_all_metadata_release_notes(store_metadata_folder: STORE_METADATA_FOLD def release_is_hotfix? VERSION_CALCULATOR.release_is_hotfix?( - version: VERSION_FORMATTER.parse(VERSION_FILE.read_release_version) + version: VERSION_FORMATTER.parse(PUBLIC_VERSION_FILE.read_release_version) ) end From d87e024630423b3c3bdb60f1ce319f1485d7a143 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Sat, 2 Nov 2024 08:07:26 +1100 Subject: [PATCH 49/57] Update App Store metadata translations --- fastlane/metadata/ar-SA/keywords.txt | 2 +- fastlane/metadata/es-ES/release_notes.txt | 3 +++ fastlane/metadata/fr-FR/release_notes.txt | 3 +++ fastlane/metadata/id/release_notes.txt | 3 +++ fastlane/metadata/ja/release_notes.txt | 3 +++ fastlane/metadata/ko/release_notes.txt | 3 +++ fastlane/metadata/nl-NL/release_notes.txt | 3 +++ fastlane/metadata/tr/release_notes.txt | 3 +++ fastlane/metadata/zh-Hant/release_notes.txt | 3 +++ 9 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 fastlane/metadata/es-ES/release_notes.txt create mode 100644 fastlane/metadata/fr-FR/release_notes.txt create mode 100644 fastlane/metadata/id/release_notes.txt create mode 100644 fastlane/metadata/ja/release_notes.txt create mode 100644 fastlane/metadata/ko/release_notes.txt create mode 100644 fastlane/metadata/nl-NL/release_notes.txt create mode 100644 fastlane/metadata/tr/release_notes.txt create mode 100644 fastlane/metadata/zh-Hant/release_notes.txt diff --git a/fastlane/metadata/ar-SA/keywords.txt b/fastlane/metadata/ar-SA/keywords.txt index 66c12533b..be7cee772 100644 --- a/fastlane/metadata/ar-SA/keywords.txt +++ b/fastlane/metadata/ar-SA/keywords.txt @@ -1 +1 @@ -ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة \ No newline at end of file +ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة,مذكرة diff --git a/fastlane/metadata/es-ES/release_notes.txt b/fastlane/metadata/es-ES/release_notes.txt new file mode 100644 index 000000000..47e031564 --- /dev/null +++ b/fastlane/metadata/es-ES/release_notes.txt @@ -0,0 +1,3 @@ +- Se han actualizado los iconos para que funcionen con los nuevos estilos de iOS 18 +- Añade la opción de inicio de sesión «fall back» con nombre de usuario y contraseña para iniciar sesión +- Se ha actualizado el enlace que lleva al aviso de privacidad para usuarios de California diff --git a/fastlane/metadata/fr-FR/release_notes.txt b/fastlane/metadata/fr-FR/release_notes.txt new file mode 100644 index 000000000..985891238 --- /dev/null +++ b/fastlane/metadata/fr-FR/release_notes.txt @@ -0,0 +1,3 @@ +- Mise à jour des icônes pour qu’elles fonctionnent avec les nouveaux styles d’iOS 18 +- Ajout d’une connexion de secours avec identifiant et mot de passe en option +- Mise à jour du lien vers l’avis de confidentialité pour les utilisateurs californiens diff --git a/fastlane/metadata/id/release_notes.txt b/fastlane/metadata/id/release_notes.txt new file mode 100644 index 000000000..cd13aa2c3 --- /dev/null +++ b/fastlane/metadata/id/release_notes.txt @@ -0,0 +1,3 @@ +- Perbarui ikon untuk dapat bekerja dengan penataan iOS 18 yang baru +- Tambahkan login sementara dengan menggunakan nama pengguna dan kata sandi +- Pembaruan tautan pada pemberitahuan privasi bagi pengguna di California diff --git a/fastlane/metadata/ja/release_notes.txt b/fastlane/metadata/ja/release_notes.txt new file mode 100644 index 000000000..0eea9f843 --- /dev/null +++ b/fastlane/metadata/ja/release_notes.txt @@ -0,0 +1,3 @@ +- 新しい iOS 18 のスタイルに対応するようにアイコンを更新しました +- ログインにユーザー名とパスワードのオプションを使用するフォールバックログインを追加します +- カリフォルニア州のユーザーへのプライバシー通知のリンクを更新しました diff --git a/fastlane/metadata/ko/release_notes.txt b/fastlane/metadata/ko/release_notes.txt new file mode 100644 index 000000000..36b03c3d3 --- /dev/null +++ b/fastlane/metadata/ko/release_notes.txt @@ -0,0 +1,3 @@ +- 새로운 iOS 18 스타일에서 지원하도록 아이콘이 업데이트됨 +- 사용자명과 비밀번호로 로그인할 수 있는 대체 로그인 옵션 추가 +- 캘리포니아 사용자를 위한 개인정보 취급방침 링크가 업데이트됨 diff --git a/fastlane/metadata/nl-NL/release_notes.txt b/fastlane/metadata/nl-NL/release_notes.txt new file mode 100644 index 000000000..86db7b618 --- /dev/null +++ b/fastlane/metadata/nl-NL/release_notes.txt @@ -0,0 +1,3 @@ +- Pictogrammen bijgewerkt om te werken met nieuwe iOS 18-stijlen +-Back-up login toevoegen met gebruikersnaam en wachtwoordoptie om in te loggen +-Link naar privacyverklaring voor gebruikers in Californië bijgewerkt diff --git a/fastlane/metadata/tr/release_notes.txt b/fastlane/metadata/tr/release_notes.txt new file mode 100644 index 000000000..d2947be0a --- /dev/null +++ b/fastlane/metadata/tr/release_notes.txt @@ -0,0 +1,3 @@ +- Yeni iOS 18 stilleriyle çalışması için simgeler güncellendi +- Oturum açmak için kullanıcı ve şifre seçeneği içeren ikinci oturum açma eklendi +- Kaliforniya'daki kullanıcılar için gizlilik bildirimine giden bağlantı güncellendi diff --git a/fastlane/metadata/zh-Hant/release_notes.txt b/fastlane/metadata/zh-Hant/release_notes.txt new file mode 100644 index 000000000..f689b343d --- /dev/null +++ b/fastlane/metadata/zh-Hant/release_notes.txt @@ -0,0 +1,3 @@ +- 更新圖示以搭配新的 iOS 18 樣式 +- 新增可透過使用者名稱和密碼選項登入的備用登入方式 +- 更新了加州使用者隱私權聲明的連結 From cfdee16d2206aad9d048c323a7f43b952171c97f Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Sat, 2 Nov 2024 08:07:26 +1100 Subject: [PATCH 50/57] Trim ar-SA keywords to be less than 100 characters --- fastlane/metadata/ar-SA/keywords.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/ar-SA/keywords.txt b/fastlane/metadata/ar-SA/keywords.txt index be7cee772..66c12533b 100644 --- a/fastlane/metadata/ar-SA/keywords.txt +++ b/fastlane/metadata/ar-SA/keywords.txt @@ -1 +1 @@ -ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة,مذكرة +ملحوظات,ملحوظة,مهام مصغرة,صحيفة,مذكرات,مزامنة,قائمة مهام,مفكرة,بسيط,مفكرة,وسم قائمة مهام,كتابة \ No newline at end of file From 73ef833c9bdb884922a39c4fa21b39723628fbc2 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Sat, 2 Nov 2024 08:07:27 +1100 Subject: [PATCH 51/57] Bump version number --- config/Version.Public.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/Version.Public.xcconfig b/config/Version.Public.xcconfig index 517286b67..5cee0badb 100644 --- a/config/Version.Public.xcconfig +++ b/config/Version.Public.xcconfig @@ -1,2 +1,2 @@ -VERSION_LONG = 4.55.0.3 +VERSION_LONG = 4.55.0.4 VERSION_SHORT = 4.55 From 9965cad934baf01b9f04dc0abdee88075fc1c244 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Sun, 3 Nov 2024 08:08:42 +1100 Subject: [PATCH 52/57] Fix label name for upload metadata step --- .../release-pipelines/update-metadata-on-app-store-connect.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml b/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml index 94273bce7..e4932a29f 100644 --- a/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml +++ b/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml @@ -10,7 +10,7 @@ env: IMAGE_ID: $IMAGE_ID steps: - - label: Finalize Release + - label: Update Release Notes and Other Metadata on App Store Connect plugins: [$CI_TOOLKIT_PLUGIN] command: | echo '--- :robot_face: Use bot for Git operations' From 17ff370b9ca53202d29282a81225b19d10f8eeee Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Sun, 3 Nov 2024 08:09:43 +1100 Subject: [PATCH 53/57] Remove `skip_confirm` parameter from update metadata lane call --- .../release-pipelines/update-metadata-on-app-store-connect.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml b/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml index e4932a29f..356f1e68c 100644 --- a/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml +++ b/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml @@ -25,7 +25,7 @@ steps: bundle exec fastlane run configure_apply echo '--- :shipit: Update Release Notes and Other App Store Metadata' - bundle exec fastlane update_metadata_on_app_store_connect skip_confirm:true + bundle exec fastlane update_metadata_on_app_store_connect retry: manual: # If those jobs fail, one should always prefer re-triggering a new build from ReleaseV2 rather than retrying the individual job from Buildkite From ee530cdd46824c6e437c0ad020677726eea8662a Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Sun, 3 Nov 2024 08:15:07 +1100 Subject: [PATCH 54/57] Restore `skip_confirm` parameter for ASC metadata and wire with `force` --- .../update-metadata-on-app-store-connect.yml | 2 +- fastlane/Fastfile | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml b/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml index 356f1e68c..e4932a29f 100644 --- a/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml +++ b/.buildkite/release-pipelines/update-metadata-on-app-store-connect.yml @@ -25,7 +25,7 @@ steps: bundle exec fastlane run configure_apply echo '--- :shipit: Update Release Notes and Other App Store Metadata' - bundle exec fastlane update_metadata_on_app_store_connect + bundle exec fastlane update_metadata_on_app_store_connect skip_confirm:true retry: manual: # If those jobs fail, one should always prefer re-triggering a new build from ReleaseV2 rather than retrying the individual job from Buildkite diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 8eb852599..17c99730b 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -84,7 +84,7 @@ platform :ios do # @option [Boolean] with_screenshots (default: false) If true, will also upload the latest screenshot files to ASC # desc 'Upload the localized metadata to App Store Connect, optionally including screenshots.' - lane :update_metadata_on_app_store_connect do |with_screenshots: false| + lane :update_metadata_on_app_store_connect do |skip_confirm: false, with_screenshots: false| # Skip screenshots by default. The naming is "with" to make it clear that # callers need to opt-in to adding screenshots. The naming of the deliver # (upload_to_app_store) parameter, on the other hand, uses the skip verb. @@ -99,7 +99,8 @@ platform :ios do overwrite_screenshots: true, # won't have effect if `skip_screenshots` is true phased_release: true, precheck_include_in_app_purchases: false, - api_key_path: APP_STORE_CONNECT_KEY_PATH + api_key_path: APP_STORE_CONNECT_KEY_PATH, + force: skip_confirm ) end From 57c5a04a91268d64897c8935d29616700816a2f8 Mon Sep 17 00:00:00 2001 From: Spencer Transier Date: Mon, 18 Nov 2024 20:36:36 -0800 Subject: [PATCH 55/57] Use non-RC Xcode 16.1 image --- .buildkite/shared-pipeline-vars | 5 +++-- .xcode-version | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.buildkite/shared-pipeline-vars b/.buildkite/shared-pipeline-vars index 3c7429977..7605e106e 100755 --- a/.buildkite/shared-pipeline-vars +++ b/.buildkite/shared-pipeline-vars @@ -5,7 +5,8 @@ # The ~> modifier is not currently used, but we check for it just in case XCODE_VERSION=$(sed -E -n 's/^(~> )?(.*)/xcode-\2/p' .xcode-version) -export CI_TOOLKIT_PLUGIN_VERSION="3.4.2" +export CI_TOOLKIT_PLUGIN_VERSION="3.7.1" -export IMAGE_ID="$XCODE_VERSION" +# Note: `-v4` suffix was added to use xcode-16.1-v4 image; remember to remove that suffix during the next Xcode update +export IMAGE_ID="$XCODE_VERSION-v4" export CI_TOOLKIT_PLUGIN="automattic/a8c-ci-toolkit#$CI_TOOLKIT_PLUGIN_VERSION" diff --git a/.xcode-version b/.xcode-version index 5cc8594da..c32b0ec5a 100644 --- a/.xcode-version +++ b/.xcode-version @@ -1 +1 @@ -16.1-rc.1 +16.1 From 0ecc10dd1c8e68ad46b7f8419f4ac20ab19b1e74 Mon Sep 17 00:00:00 2001 From: Spencer Transier Date: Tue, 19 Nov 2024 16:49:17 -0800 Subject: [PATCH 56/57] Move `xcode-` out of sed line --- .buildkite/shared-pipeline-vars | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.buildkite/shared-pipeline-vars b/.buildkite/shared-pipeline-vars index 7605e106e..070865be9 100755 --- a/.buildkite/shared-pipeline-vars +++ b/.buildkite/shared-pipeline-vars @@ -4,9 +4,9 @@ # to set up some variables that will be interpolated in the `.yml` pipeline before uploading it. # The ~> modifier is not currently used, but we check for it just in case -XCODE_VERSION=$(sed -E -n 's/^(~> )?(.*)/xcode-\2/p' .xcode-version) +XCODE_VERSION=$(sed -E 's/^~> ?//' .xcode-version) export CI_TOOLKIT_PLUGIN_VERSION="3.7.1" # Note: `-v4` suffix was added to use xcode-16.1-v4 image; remember to remove that suffix during the next Xcode update -export IMAGE_ID="$XCODE_VERSION-v4" +export IMAGE_ID="xcode-$XCODE_VERSION-v4" export CI_TOOLKIT_PLUGIN="automattic/a8c-ci-toolkit#$CI_TOOLKIT_PLUGIN_VERSION" From 0f4d3d7a49c7c374016c32ff2e08f5f6d8e07b84 Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Thu, 12 Dec 2024 15:54:04 +0100 Subject: [PATCH 57/57] Update GitHub Actions --- .github/workflows/screenshots.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/screenshots.yml b/.github/workflows/screenshots.yml index 447c97b67..b8e9ef2a6 100644 --- a/.github/workflows/screenshots.yml +++ b/.github/workflows/screenshots.yml @@ -17,7 +17,7 @@ jobs: runs-on: macos-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - uses: actions/setup-ruby@v1 with: ruby-version: '2.5.x' # Same as project's .ruby-version @@ -27,7 +27,7 @@ jobs: - name: Restore Ruby Dependency Cache id: restore-ruby-dependency-cache - uses: actions/cache@v1 + uses: actions/cache@v4 with: path: vendor/bundle key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} @@ -38,7 +38,7 @@ jobs: - name: Restore CocoaPods Dependency Cache id: restore-cocoapods-dependency-cache - uses: actions/cache@v1 + uses: actions/cache@v4 with: path: Pods key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} @@ -49,7 +49,7 @@ jobs: - name: Take all screenshots run: bundle exec fastlane take_screenshots - - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v4 name: Upload all screenshots as artifacts with: name: screenshots @@ -62,7 +62,7 @@ jobs: BUNDLE_WITH=screenshots bundle install bundle exec fastlane create_promo_screenshots - - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v4 name: Upload all promo screenshots as artifacts with: name: promo_screenshots