-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added fastlane scripts to automate releases and checkups
- Loading branch information
Dmitry Overchuk
committed
Jan 27, 2021
1 parent
2228893
commit b33fa9c
Showing
6 changed files
with
372 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,5 @@ | ||
Example/Pods | ||
Example/*.xcworkspace | ||
Example/Pods/ | ||
Example/*.xcworkspace | ||
fastlane/README.md | ||
fastlane/report.xml | ||
fastlane/test_output |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,6 @@ | ||
# Changelog | ||
## [Unreleased] | ||
### Added | ||
* Реализована первая версия SDK | ||
* Добавлены модульные тесты | ||
* Добавлена поддержка `Cocoapods` и `SPM` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# Autogenerated by fastlane | ||
# | ||
# Ensure this file is checked in to source control! | ||
|
||
source "https://rubygems.org" | ||
|
||
gem 'fastlane' | ||
gem 'cocoapods' | ||
|
||
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') | ||
eval_gemfile(plugins_path) if File.exist?(plugins_path) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,268 @@ | ||
GEM | ||
remote: https://rubygems.org/ | ||
specs: | ||
CFPropertyList (3.0.3) | ||
activesupport (5.2.4.4) | ||
concurrent-ruby (~> 1.0, >= 1.0.2) | ||
i18n (>= 0.7, < 2) | ||
minitest (~> 5.1) | ||
tzinfo (~> 1.1) | ||
addressable (2.7.0) | ||
public_suffix (>= 2.0.2, < 5.0) | ||
algoliasearch (1.27.5) | ||
httpclient (~> 2.8, >= 2.8.3) | ||
json (>= 1.5.1) | ||
artifactory (3.0.15) | ||
atomos (0.1.3) | ||
aws-eventstream (1.1.0) | ||
aws-partitions (1.419.0) | ||
aws-sdk-core (3.111.2) | ||
aws-eventstream (~> 1, >= 1.0.2) | ||
aws-partitions (~> 1, >= 1.239.0) | ||
aws-sigv4 (~> 1.1) | ||
jmespath (~> 1.0) | ||
aws-sdk-kms (1.41.0) | ||
aws-sdk-core (~> 3, >= 3.109.0) | ||
aws-sigv4 (~> 1.1) | ||
aws-sdk-s3 (1.87.0) | ||
aws-sdk-core (~> 3, >= 3.109.0) | ||
aws-sdk-kms (~> 1) | ||
aws-sigv4 (~> 1.1) | ||
aws-sigv4 (1.2.2) | ||
aws-eventstream (~> 1, >= 1.0.2) | ||
babosa (1.0.4) | ||
claide (1.0.3) | ||
cocoapods (1.10.1) | ||
addressable (~> 2.6) | ||
claide (>= 1.0.2, < 2.0) | ||
cocoapods-core (= 1.10.1) | ||
cocoapods-deintegrate (>= 1.0.3, < 2.0) | ||
cocoapods-downloader (>= 1.4.0, < 2.0) | ||
cocoapods-plugins (>= 1.0.0, < 2.0) | ||
cocoapods-search (>= 1.0.0, < 2.0) | ||
cocoapods-trunk (>= 1.4.0, < 2.0) | ||
cocoapods-try (>= 1.1.0, < 2.0) | ||
colored2 (~> 3.1) | ||
escape (~> 0.0.4) | ||
fourflusher (>= 2.3.0, < 3.0) | ||
gh_inspector (~> 1.0) | ||
molinillo (~> 0.6.6) | ||
nap (~> 1.0) | ||
ruby-macho (~> 1.4) | ||
xcodeproj (>= 1.19.0, < 2.0) | ||
cocoapods-core (1.10.1) | ||
activesupport (> 5.0, < 6) | ||
addressable (~> 2.6) | ||
algoliasearch (~> 1.0) | ||
concurrent-ruby (~> 1.1) | ||
fuzzy_match (~> 2.0.4) | ||
nap (~> 1.0) | ||
netrc (~> 0.11) | ||
public_suffix | ||
typhoeus (~> 1.0) | ||
cocoapods-deintegrate (1.0.4) | ||
cocoapods-downloader (1.4.0) | ||
cocoapods-plugins (1.0.0) | ||
nap | ||
cocoapods-search (1.0.0) | ||
cocoapods-trunk (1.5.0) | ||
nap (>= 0.8, < 2.0) | ||
netrc (~> 0.11) | ||
cocoapods-try (1.2.0) | ||
colored (1.2) | ||
colored2 (3.1.2) | ||
commander-fastlane (4.4.6) | ||
highline (~> 1.7.2) | ||
concurrent-ruby (1.1.8) | ||
declarative (0.0.20) | ||
declarative-option (0.1.0) | ||
digest-crc (0.6.3) | ||
rake (>= 12.0.0, < 14.0.0) | ||
domain_name (0.5.20190701) | ||
unf (>= 0.0.5, < 1.0.0) | ||
dotenv (2.7.6) | ||
emoji_regex (3.2.1) | ||
escape (0.0.4) | ||
ethon (0.12.0) | ||
ffi (>= 1.3.0) | ||
excon (0.78.1) | ||
faraday (1.3.0) | ||
faraday-net_http (~> 1.0) | ||
multipart-post (>= 1.2, < 3) | ||
ruby2_keywords | ||
faraday-cookie_jar (0.0.7) | ||
faraday (>= 0.8.0) | ||
http-cookie (~> 1.0.0) | ||
faraday-net_http (1.0.1) | ||
faraday_middleware (1.0.0) | ||
faraday (~> 1.0) | ||
fastimage (2.2.1) | ||
fastlane (2.172.0) | ||
CFPropertyList (>= 2.3, < 4.0.0) | ||
addressable (>= 2.3, < 3.0.0) | ||
artifactory (~> 3.0) | ||
aws-sdk-s3 (~> 1.0) | ||
babosa (>= 1.0.3, < 2.0.0) | ||
bundler (>= 1.12.0, < 3.0.0) | ||
colored | ||
commander-fastlane (>= 4.4.6, < 5.0.0) | ||
dotenv (>= 2.1.1, < 3.0.0) | ||
emoji_regex (>= 0.1, < 4.0) | ||
excon (>= 0.71.0, < 1.0.0) | ||
faraday (~> 1.0) | ||
faraday-cookie_jar (~> 0.0.6) | ||
faraday_middleware (~> 1.0) | ||
fastimage (>= 2.1.0, < 3.0.0) | ||
gh_inspector (>= 1.1.2, < 2.0.0) | ||
google-api-client (>= 0.37.0, < 0.39.0) | ||
google-cloud-storage (>= 1.15.0, < 2.0.0) | ||
highline (>= 1.7.2, < 2.0.0) | ||
json (< 3.0.0) | ||
jwt (>= 2.1.0, < 3) | ||
mini_magick (>= 4.9.4, < 5.0.0) | ||
multipart-post (~> 2.0.0) | ||
plist (>= 3.1.0, < 4.0.0) | ||
rubyzip (>= 2.0.0, < 3.0.0) | ||
security (= 0.1.3) | ||
simctl (~> 1.6.3) | ||
slack-notifier (>= 2.0.0, < 3.0.0) | ||
terminal-notifier (>= 2.0.0, < 3.0.0) | ||
terminal-table (>= 1.4.5, < 2.0.0) | ||
tty-screen (>= 0.6.3, < 1.0.0) | ||
tty-spinner (>= 0.8.0, < 1.0.0) | ||
word_wrap (~> 1.0.0) | ||
xcodeproj (>= 1.13.0, < 2.0.0) | ||
xcpretty (~> 0.3.0) | ||
xcpretty-travis-formatter (>= 0.0.3) | ||
fastlane-plugin-changelog (0.15.0) | ||
ffi (1.14.2) | ||
fourflusher (2.3.1) | ||
fuzzy_match (2.0.4) | ||
gh_inspector (1.1.3) | ||
google-api-client (0.38.0) | ||
addressable (~> 2.5, >= 2.5.1) | ||
googleauth (~> 0.9) | ||
httpclient (>= 2.8.1, < 3.0) | ||
mini_mime (~> 1.0) | ||
representable (~> 3.0) | ||
retriable (>= 2.0, < 4.0) | ||
signet (~> 0.12) | ||
google-apis-core (0.2.1) | ||
addressable (~> 2.5, >= 2.5.1) | ||
googleauth (~> 0.14) | ||
httpclient (>= 2.8.1, < 3.0) | ||
mini_mime (~> 1.0) | ||
representable (~> 3.0) | ||
retriable (>= 2.0, < 4.0) | ||
rexml | ||
signet (~> 0.14) | ||
webrick | ||
google-apis-iamcredentials_v1 (0.1.0) | ||
google-apis-core (~> 0.1) | ||
google-apis-storage_v1 (0.1.0) | ||
google-apis-core (~> 0.1) | ||
google-cloud-core (1.5.0) | ||
google-cloud-env (~> 1.0) | ||
google-cloud-errors (~> 1.0) | ||
google-cloud-env (1.4.0) | ||
faraday (>= 0.17.3, < 2.0) | ||
google-cloud-errors (1.0.1) | ||
google-cloud-storage (1.30.0) | ||
addressable (~> 2.5) | ||
digest-crc (~> 0.4) | ||
google-apis-iamcredentials_v1 (~> 0.1) | ||
google-apis-storage_v1 (~> 0.1) | ||
google-cloud-core (~> 1.2) | ||
googleauth (~> 0.9) | ||
mini_mime (~> 1.0) | ||
googleauth (0.15.0) | ||
faraday (>= 0.17.3, < 2.0) | ||
jwt (>= 1.4, < 3.0) | ||
memoist (~> 0.16) | ||
multi_json (~> 1.11) | ||
os (>= 0.9, < 2.0) | ||
signet (~> 0.14) | ||
highline (1.7.10) | ||
http-cookie (1.0.3) | ||
domain_name (~> 0.5) | ||
httpclient (2.8.3) | ||
i18n (1.8.7) | ||
concurrent-ruby (~> 1.0) | ||
jmespath (1.4.0) | ||
json (2.5.1) | ||
jwt (2.2.2) | ||
memoist (0.16.2) | ||
mini_magick (4.11.0) | ||
mini_mime (1.0.2) | ||
minitest (5.14.3) | ||
molinillo (0.6.6) | ||
multi_json (1.15.0) | ||
multipart-post (2.0.0) | ||
nanaimo (0.3.0) | ||
nap (1.1.0) | ||
naturally (2.2.1) | ||
netrc (0.11.0) | ||
os (1.1.1) | ||
plist (3.6.0) | ||
public_suffix (4.0.6) | ||
rake (13.0.3) | ||
representable (3.0.4) | ||
declarative (< 0.1.0) | ||
declarative-option (< 0.2.0) | ||
uber (< 0.2.0) | ||
retriable (3.1.2) | ||
rexml (3.2.4) | ||
rouge (2.0.7) | ||
ruby-macho (1.4.0) | ||
ruby2_keywords (0.0.4) | ||
rubyzip (2.3.0) | ||
security (0.1.3) | ||
signet (0.14.0) | ||
addressable (~> 2.3) | ||
faraday (>= 0.17.3, < 2.0) | ||
jwt (>= 1.5, < 3.0) | ||
multi_json (~> 1.10) | ||
simctl (1.6.8) | ||
CFPropertyList | ||
naturally | ||
slack-notifier (2.3.2) | ||
terminal-notifier (2.0.0) | ||
terminal-table (1.8.0) | ||
unicode-display_width (~> 1.1, >= 1.1.1) | ||
thread_safe (0.3.6) | ||
tty-cursor (0.7.1) | ||
tty-screen (0.8.1) | ||
tty-spinner (0.9.3) | ||
tty-cursor (~> 0.7) | ||
typhoeus (1.4.0) | ||
ethon (>= 0.9.0) | ||
tzinfo (1.2.9) | ||
thread_safe (~> 0.1) | ||
uber (0.1.0) | ||
unf (0.1.4) | ||
unf_ext | ||
unf_ext (0.0.7.7) | ||
unicode-display_width (1.7.0) | ||
webrick (1.7.0) | ||
word_wrap (1.0.0) | ||
xcodeproj (1.19.0) | ||
CFPropertyList (>= 2.3.3, < 4.0) | ||
atomos (~> 0.1.3) | ||
claide (>= 1.0.2, < 2.0) | ||
colored2 (~> 3.1) | ||
nanaimo (~> 0.3.0) | ||
xcpretty (0.3.0) | ||
rouge (~> 2.0.7) | ||
xcpretty-travis-formatter (1.0.1) | ||
xcpretty (~> 0.2, >= 0.0.7) | ||
|
||
PLATFORMS | ||
ruby | ||
|
||
DEPENDENCIES | ||
cocoapods | ||
fastlane | ||
fastlane-plugin-changelog | ||
|
||
BUNDLED WITH | ||
2.1.4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
|
||
lane :release do |options| | ||
# Checking bump type | ||
bump_type = resolve_bump_type(options) | ||
|
||
# Checking that everything is alright | ||
checkup() | ||
|
||
# Checking git | ||
ensure_git_status_clean() | ||
ensure_git_branch(branch: 'master') | ||
|
||
# Bumping podspec version | ||
version = version_bump_podspec(bump_type: bump_type) | ||
|
||
# Stamping changelog | ||
stamp_changelog(section_identifier: version) | ||
|
||
# Creating release commit and tag | ||
git_commit(path: "CHANGELOG.md", message: "Release #{version}") | ||
add_git_tag(tag: version) | ||
|
||
# Pushing to remote repo | ||
push_to_git_remote(tags: true) | ||
|
||
#Pushing podspec to Cocoapods repo | ||
push_podspec() | ||
end | ||
|
||
lane :checkup do | ||
# Linting podspec | ||
lint_podspec() | ||
|
||
# Buidling Swift package | ||
build_swift_package() | ||
end | ||
|
||
lane :build_swift_package do | ||
project_name = "TinkoffID.xcodeproj" | ||
scheme_name = "TinkoffID-Package" | ||
config_file_name = "Config.xcconfig" | ||
|
||
# Creating configuration file | ||
sh("echo SWIFT_ACTIVE_COMPILATION_CONDITIONS=''> #{config_file_name}") | ||
|
||
# Generating xcode project | ||
sh("swift package generate-xcodeproj --xcconfig-overrides #{config_file_name}") | ||
|
||
# Building generated xcode project | ||
sh("xcodebuild clean build -project ../#{project_name} -sdk iphoneos -scheme '#{scheme_name}'") | ||
|
||
#Cleaning up | ||
sh("rm -f #{config_file_name}") | ||
sh("rm -rf ../#{project_name}") | ||
end | ||
|
||
lane :lint_podspec do | ||
pod_lib_lint(allow_warnings: true) | ||
end | ||
|
||
lane :push_podspec do | ||
podspec_name = "TinkoffID.podspec" | ||
|
||
pod_push( | ||
path: podspec_name, | ||
allow_warnings: true, | ||
skip_tests: true | ||
) | ||
end | ||
|
||
def resolve_bump_type(options) | ||
valid_bump_types = ['patch', 'minor', 'major'] | ||
bump_type = valid_bump_types.include?(options[:type]) ? options[:type] : nil | ||
|
||
UI.abort_with_message! ("Bump type is not specified or incorrect! You can use `type: #{valid_bump_types.join('/')}` to specify it.") unless bump_type | ||
|
||
return bump_type | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Autogenerated by fastlane | ||
# | ||
# Ensure this file is checked in to source control! | ||
|
||
gem 'fastlane-plugin-changelog' |