Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MOB-7473] automate iOS SDK release with Github actions #705

Merged
merged 50 commits into from
Dec 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
8226a2b
update github actions with ruby
jyu115 Dec 18, 2023
efb17a7
add x86_64-darwin-20
jyu115 Dec 18, 2023
9248fee
6.8.0-testing release
Dec 18, 2023
1e2202b
add changelog for customization
jyu115 Dec 18, 2023
d013455
test changelog in GA
jyu115 Dec 18, 2023
c658890
Merge branch 'MOB-7473-automate-ios-sdk-release-github-actions' of ht…
jyu115 Dec 18, 2023
3996643
reset podspec
jyu115 Dec 18, 2023
0438825
edit help text
jyu115 Dec 18, 2023
753c468
6.8.0-testing release
Dec 18, 2023
4be08fe
Revert "6.8.0-testing release"
jyu115 Dec 18, 2023
c8cb6e4
update fastlane command and try again
jyu115 Dec 18, 2023
8d59f4f
Merge branch 'master' into MOB-7473-automate-ios-sdk-release-github-a…
jyu115 Dec 18, 2023
41ec962
6.8.0-testing release
Dec 18, 2023
f6624e2
try api_bearer
jyu115 Dec 18, 2023
4dad273
Merge branch 'MOB-7473-automate-ios-sdk-release-github-actions' of ht…
jyu115 Dec 18, 2023
97e33ca
Revert "6.8.0-testing release"
jyu115 Dec 18, 2023
4ae0c07
6.8.0-testing release
Dec 18, 2023
5b9759b
try GA pass token
jyu115 Dec 18, 2023
dedd3f9
Merge branch 'MOB-7473-automate-ios-sdk-release-github-actions' of ht…
jyu115 Dec 18, 2023
4d587a0
Revert "6.8.0-testing release"
jyu115 Dec 18, 2023
ddf9ff6
6.8.0-testing release
Dec 18, 2023
c59c6c1
add slack and test
jyu115 Dec 18, 2023
ab66e95
Merge branch 'MOB-7473-automate-ios-sdk-release-github-actions' of ht…
jyu115 Dec 18, 2023
778f29b
Revert "6.8.0-testing release"
jyu115 Dec 18, 2023
37db3d5
undo slack
jyu115 Dec 18, 2023
156deed
6.8.0-testing release
Dec 18, 2023
771584b
Revert "6.8.0-testing release"
jyu115 Dec 18, 2023
aa20d54
fix multiline
jyu115 Dec 18, 2023
f98fca8
add missing |
jyu115 Dec 18, 2023
66413a1
6.8.0-testing release
Dec 18, 2023
f85d732
Revert "6.8.0-testing release"
jyu115 Dec 18, 2023
04b7a0b
remove multiline
jyu115 Dec 18, 2023
5654d10
6.8.0-testing release
Dec 18, 2023
d6d008b
Revert "6.8.0-testing release"
jyu115 Dec 18, 2023
e117ca2
update token
jyu115 Dec 18, 2023
685e7a4
6.8.0-testing release
Dec 18, 2023
a0a660d
Revert "6.8.0-testing release"
jyu115 Dec 18, 2023
0ebc054
try with cocaopod install
jyu115 Dec 18, 2023
8a6d156
6.8.0-testing release
Dec 18, 2023
f9c3d47
add slack notification
jyu115 Dec 18, 2023
06623d0
Merge branch 'MOB-7473-automate-ios-sdk-release-github-actions' of ht…
jyu115 Dec 18, 2023
a39a25f
Revert "6.8.0-testing release"
jyu115 Dec 18, 2023
6d14c4b
6.8.0-testing release
Dec 18, 2023
3c8bc1e
remove slack
jyu115 Dec 18, 2023
b25af49
Merge branch 'MOB-7473-automate-ios-sdk-release-github-actions' of ht…
jyu115 Dec 18, 2023
0e5e154
Revert "6.8.0-testing release"
jyu115 Dec 18, 2023
2c1fbbb
6.8.0-testing release
Dec 18, 2023
58df700
remove testing from changelog
jyu115 Dec 18, 2023
41fabd4
Merge branch 'MOB-7473-automate-ios-sdk-release-github-actions' of ht…
jyu115 Dec 18, 2023
d9e2b5c
Revert "6.8.0-testing release"
jyu115 Dec 18, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions .github/workflows/ios-sdk-release.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: ios-sdk-release
name: iOS SDK Release
run-name: ${{ github.actor }} is starting iOS SDK release

on:
Expand All @@ -7,12 +7,22 @@ on:
version_number:
description: "iOS SDK version"
required: true
changelog_section:
description: "Changelog version header (e.g. 6.4.17, 6.5.0-beta)"

jobs:
ios-sdk-release:
runs-on: macos-latest

steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.2"
bundler-cache: true
- name: Install Cocoapods
run: gem install cocoapods

- name: set version number and push podspecs to git
run: bundle exec fastlane ios bump_release_version version:${{ github.event.inputs.version_number }}

Expand All @@ -23,7 +33,10 @@ jobs:
run: bundle exec fastlane ios build_xcframework output_dir:./output_dir

- name: create github release and upload assets
run: bundle exec fastlane ios tag_version version:${{ github.event.inputs.version_number }} output_dir:./output_dir
run: |
bundle exec fastlane ios create_release version:${{ github.event.inputs.version_number }} changelog_section:${{ github.event.inputs.changelog_section }} output_dir:./output_dir github_token:${{ secrets.SDK_RELEASE_TOKEN }}

- name: push pods to trunk
run: bundle exec fastlane ios pod_trunk_push
env:
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
1 change: 1 addition & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,7 @@ GEM

PLATFORMS
arm64-darwin-21
x86_64-darwin-20

DEPENDENCIES
cocoapods
Expand Down
10 changes: 5 additions & 5 deletions fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,14 @@ platform :ios do
desc "locally execute full automated iOS SDK release on your terminal"
lane :release_sdk do
set_version = prompt(text: "Please set the release version number")
set_changelog_section = prompt(text: "Please provide changelog section header")
set_output_dir = prompt(text: "Please specify an output directory")
set_github_token = prompt(text: "Please provide github token")

bump_release_version(version:set_version)
clean_and_lint
build_xcframework(output_dir:set_output_dir)
create_release(version:set_version, output_dir:set_output_dir, github_token:set_github_token)
create_release(version:set_version, output_dir:set_output_dir, changelog_section:set_changelog_section, github_token:set_github_token)
pod_trunk_push
end

Expand Down Expand Up @@ -79,21 +80,20 @@ platform :ios do
desc "create github release and upload assets"
lane :create_release do |options|
version = options[:version]
changelog_section = options[:changelog_section]
output_dir = options[:output_dir]

github_token = options[:github_token]
set_api_token = github_token.empty? ? ENV["GITHUB_TOKEN"] : github_token

add_git_tag(tag: "#{version}")

version_changelog = read_changelog(
changelog_path: 'CHANGELOG.md',
section_identifier: "[#{version}]",
section_identifier: "[#{changelog_section}]",
)

github_release = set_github_release(
repository_name: "Iterable/swift-sdk",
api_token: set_api_token,
api_token: github_token,
name: "#{version}",
tag_name: "#{version}",
description: version_changelog,
Expand Down
Loading