diff --git a/Sources/QuilttConnector/QuilttConnectorWebview.swift b/Sources/QuilttConnector/QuilttConnectorWebview.swift index e633178..bb798a3 100644 --- a/Sources/QuilttConnector/QuilttConnectorWebview.swift +++ b/Sources/QuilttConnector/QuilttConnectorWebview.swift @@ -51,7 +51,7 @@ class QuilttConnectorWebview: WKWebView, WKNavigationDelegate { self.onExitSuccess = onExitSuccess self.onExitAbort = onExitAbort self.onExitError = onExitError - if let url = URL(string: "https://\(config.connectorId).quiltt.app?mode=webview&oauth_redirect_url=\(config.oauthRedirectUrl)&sdk=swift") { + if let url = URL(string: "https://\(config.connectorId).quiltt.app?mode=webview&oauth_redirect_url=\(config.oauthRedirectUrl)&agent=ios-\(quilttSdkVersion)") { let req = URLRequest(url: url) return super.load(req) } diff --git a/Sources/QuilttConnector/QuilttSdkVersion.swift b/Sources/QuilttConnector/QuilttSdkVersion.swift new file mode 100644 index 0000000..d4b359b --- /dev/null +++ b/Sources/QuilttConnector/QuilttSdkVersion.swift @@ -0,0 +1,3 @@ +import Foundation + +public let quilttSdkVersion = "0.0.4" diff --git a/fastlane/Fastfile b/fastlane/Fastfile index e8cf772..65f64fa 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -6,12 +6,19 @@ default_platform :ios REPO_NAME = 'quiltt/quiltt-ios'.freeze GITHUB_TOKEN = ENV['GITHUB_TOKEN'] -def release(level) +def bump_version_file(level) client = ::Octokit::Client.new(access_token: GITHUB_TOKEN) latest_release = client.latest_release(REPO_NAME) current_version = Semantic::Version.new(latest_release.tag_name) new_version = current_version.increment!(level).to_s + generate_release_version_file(new_version) + new_version +end + +def release(new_version) + new_branch = "release/#{new_version}" + push_to_git_remote(new_branch) set_github_release( repository_name: REPO_NAME, @@ -19,34 +26,41 @@ def release(level) name: new_version.to_s, tag_name: new_version.to_s, is_generate_release_notes: true, - commitish: 'main' + commitish: new_branch + ) + + create_pull_request( + repo: REPO_NAME, + api_token: GITHUB_TOKEN, + title: "Release #{new_version}", + head: new_branch, + base: 'main' ) end platform :ios do desc 'Release patch version' lane :release_patch do + new_version = bump_version_file(:patch) build_example_app # test_example_app - release(:patch) + release(new_version) end desc 'Release minor version' lane :release_minor do - lane :release_minor do - build_example_app - # test_example_app - release(:minor) - end + new_version = bump_version_file(:minor) + build_example_app + # test_example_app + release(new_version) end desc 'Release major version' lane :release_major do - lane :release_major do - build_example_app - # test_example_app - release(:major) - end + new_version = bump_version_file(:major) + build_example_app + # test_example_app + release(new_version) end desc 'Build Example App' @@ -63,4 +77,15 @@ platform :ios do # xcargs: '-allowProvisioningUpdates' # ) end + + def generate_release_version_file(version) + sh("echo \"import Foundation\npublic let quilttSdkVersion = \\\"#{version}\\\"\" > ../Sources/QuilttConnector/QuilttSdkVersion.swift") + end + + def push_to_git_remote(branch) + sh("git checkout -b #{branch}") + sh('git add ../Sources/QuilttConnector/QuilttSdkVersion.swift') + sh('git commit -m "Bump version"') + sh("git push origin #{branch}") + end end