@@ -94,6 +94,10 @@ lane :release do |options|
9494 )
9595end
9696
97+ lane :merge_release do |options |
98+ merge_release_to_main ( author : options [ :author ] )
99+ end
100+
97101desc "Publish a new release to GitHub and CocoaPods"
98102lane :publish_release do |options |
99103 xcversion ( version : '15.0.1' )
@@ -117,48 +121,6 @@ lane :publish_release do |options|
117121 merge_main_to_develop
118122end
119123
120- lane :merge_release_to_main do |options |
121- ensure_git_status_clean
122-
123- release_branch =
124- if is_ci
125- # This API operation needs the "admin:org" scope.
126- ios_team = sh ( 'gh api orgs/GetStream/teams/ios-developers/members -q ".[].login"' , log : false ) . split
127- UI . user_error! ( "#{ options [ :author ] } is not a member of the iOS Team" ) unless ios_team . include? ( options [ :author ] )
128-
129- current_branch
130- else
131- release_branches = sh ( command : 'git branch -a' , log : false ) . delete ( ' ' ) . split ( "\n " ) . grep ( %r(origin/.*release/) )
132- UI . user_error! ( "Expected 1 release branch, found #{ release_branches . size } " ) if release_branches . size != 1
133-
134- release_branches . first
135- end
136-
137- UI . user_error! ( "`#{ release_branch } `` branch does not match the release branch pattern: `release/*`" ) unless release_branch . start_with? ( 'release/' )
138-
139- sh ( 'git checkout origin/main' )
140- sh ( 'git pull origin main' )
141-
142- # Merge release branch to main. For more info, read: https://notion.so/iOS-Branching-Strategy-37c10127dc26493e937769d44b1d6d9a
143- sh ( "git merge #{ release_branch } --ff-only" )
144- sh ( 'git push origin main' )
145-
146- comment = "[Publication of the release](https://github.com/#{ github_repo } /actions/workflows/release-publish.yml) has been launched 👍"
147- UI . important ( comment )
148- pr_comment ( text : comment )
149- end
150-
151- lane :merge_main_to_develop do
152- ensure_git_status_clean
153- sh ( 'git checkout main' )
154- sh ( 'git pull origin main' )
155- sh ( 'git checkout origin/develop' )
156- sh ( 'git pull origin develop' )
157- sh ( 'git log develop..main' )
158- sh ( 'git merge main' )
159- sh ( 'git push origin develop' )
160- end
161-
162124private_lane :appstore_api_key do
163125 @appstore_api_key ||= app_store_connect_api_key (
164126 key_id : 'MT3PRT8TB7' ,
0 commit comments