-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fastlane to automate build and release (#7)
* Skip CI for now, need to figure out Fastlane match https://docs.fastlane.tools/actions/match/
- Loading branch information
1 parent
28740c8
commit 8a2d3b8
Showing
6 changed files
with
377 additions
and
4 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 |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# name: CI | ||
|
||
# on: push | ||
|
||
# jobs: | ||
# build: | ||
# runs-on: macos-13 # Weird that macos-latest doesn't have iOS 17 | ||
# strategy: | ||
# matrix: | ||
# ios: [17] | ||
# name: Build on iOS (${{ matrix.ios }}) | ||
# steps: | ||
# - uses: maxim-lobanov/setup-xcode@v1 | ||
# with: | ||
# xcode-version: latest-stable | ||
# - name: Check out code | ||
# uses: actions/checkout@v4 | ||
# - name: Install Fastlane | ||
# run: | | ||
# gem install bundler | ||
# bundle install | ||
# - name: Build Example App | ||
# run: | | ||
# bundle exec fastlane ios build_example_app |
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
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 @@ | ||
source 'https://rubygems.org' | ||
|
||
gem 'fastlane' | ||
gem 'octokit' | ||
gem 'semantic' |
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,221 @@ | ||
GEM | ||
remote: https://rubygems.org/ | ||
specs: | ||
CFPropertyList (3.0.6) | ||
rexml | ||
addressable (2.8.4) | ||
public_suffix (>= 2.0.2, < 6.0) | ||
artifactory (3.0.15) | ||
atomos (0.1.3) | ||
aws-eventstream (1.2.0) | ||
aws-partitions (1.726.0) | ||
aws-sdk-core (3.170.0) | ||
aws-eventstream (~> 1, >= 1.0.2) | ||
aws-partitions (~> 1, >= 1.651.0) | ||
aws-sigv4 (~> 1.5) | ||
jmespath (~> 1, >= 1.6.1) | ||
aws-sdk-kms (1.63.0) | ||
aws-sdk-core (~> 3, >= 3.165.0) | ||
aws-sigv4 (~> 1.1) | ||
aws-sdk-s3 (1.119.1) | ||
aws-sdk-core (~> 3, >= 3.165.0) | ||
aws-sdk-kms (~> 1) | ||
aws-sigv4 (~> 1.4) | ||
aws-sigv4 (1.5.2) | ||
aws-eventstream (~> 1, >= 1.0.2) | ||
babosa (1.0.4) | ||
claide (1.1.0) | ||
colored (1.2) | ||
colored2 (3.1.2) | ||
commander (4.6.0) | ||
highline (~> 2.0.0) | ||
declarative (0.0.20) | ||
digest-crc (0.6.5) | ||
rake (>= 12.0.0, < 14.0.0) | ||
domain_name (0.6.20240107) | ||
dotenv (2.8.1) | ||
emoji_regex (3.2.3) | ||
excon (0.99.0) | ||
faraday (1.10.3) | ||
faraday-em_http (~> 1.0) | ||
faraday-em_synchrony (~> 1.0) | ||
faraday-excon (~> 1.1) | ||
faraday-httpclient (~> 1.0) | ||
faraday-multipart (~> 1.0) | ||
faraday-net_http (~> 1.0) | ||
faraday-net_http_persistent (~> 1.0) | ||
faraday-patron (~> 1.0) | ||
faraday-rack (~> 1.0) | ||
faraday-retry (~> 1.0) | ||
ruby2_keywords (>= 0.0.4) | ||
faraday-cookie_jar (0.0.7) | ||
faraday (>= 0.8.0) | ||
http-cookie (~> 1.0.0) | ||
faraday-em_http (1.0.0) | ||
faraday-em_synchrony (1.0.0) | ||
faraday-excon (1.1.0) | ||
faraday-httpclient (1.0.1) | ||
faraday-multipart (1.0.4) | ||
multipart-post (~> 2) | ||
faraday-net_http (1.0.1) | ||
faraday-net_http_persistent (1.2.0) | ||
faraday-patron (1.0.0) | ||
faraday-rack (1.0.0) | ||
faraday-retry (1.0.3) | ||
faraday_middleware (1.2.0) | ||
faraday (~> 1.0) | ||
fastimage (2.3.0) | ||
fastlane (2.219.0) | ||
CFPropertyList (>= 2.3, < 4.0.0) | ||
addressable (>= 2.8, < 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 (~> 4.6) | ||
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-apis-androidpublisher_v3 (~> 0.3) | ||
google-apis-playcustomapp_v1 (~> 0.1) | ||
google-cloud-env (>= 1.6.0, < 2.0.0) | ||
google-cloud-storage (~> 1.31) | ||
highline (~> 2.0) | ||
http-cookie (~> 1.0.5) | ||
json (< 3.0.0) | ||
jwt (>= 2.1.0, < 3) | ||
mini_magick (>= 4.9.4, < 5.0.0) | ||
multipart-post (>= 2.0.0, < 3.0.0) | ||
naturally (~> 2.2) | ||
optparse (>= 0.1.1) | ||
plist (>= 3.1.0, < 4.0.0) | ||
rubyzip (>= 2.0.0, < 3.0.0) | ||
security (= 0.1.3) | ||
simctl (~> 1.6.3) | ||
terminal-notifier (>= 2.0.0, < 3.0.0) | ||
terminal-table (~> 3) | ||
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) | ||
gh_inspector (1.1.3) | ||
google-apis-androidpublisher_v3 (0.54.0) | ||
google-apis-core (>= 0.11.0, < 2.a) | ||
google-apis-core (0.11.3) | ||
addressable (~> 2.5, >= 2.5.1) | ||
googleauth (>= 0.16.2, < 2.a) | ||
httpclient (>= 2.8.1, < 3.a) | ||
mini_mime (~> 1.0) | ||
representable (~> 3.0) | ||
retriable (>= 2.0, < 4.a) | ||
rexml | ||
google-apis-iamcredentials_v1 (0.17.0) | ||
google-apis-core (>= 0.11.0, < 2.a) | ||
google-apis-playcustomapp_v1 (0.13.0) | ||
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.6.1) | ||
google-cloud-env (>= 1.0, < 3.a) | ||
google-cloud-errors (~> 1.0) | ||
google-cloud-env (1.6.0) | ||
faraday (>= 0.17.3, < 3.0) | ||
google-cloud-errors (1.3.1) | ||
google-cloud-storage (1.47.0) | ||
addressable (~> 2.8) | ||
digest-crc (~> 0.4) | ||
google-apis-iamcredentials_v1 (~> 0.1) | ||
google-apis-storage_v1 (~> 0.31.0) | ||
google-cloud-core (~> 1.6) | ||
googleauth (>= 0.16.2, < 2.a) | ||
mini_mime (~> 1.0) | ||
googleauth (1.8.1) | ||
faraday (>= 0.17.3, < 3.a) | ||
jwt (>= 1.4, < 3.0) | ||
multi_json (~> 1.11) | ||
os (>= 0.9, < 2.0) | ||
signet (>= 0.16, < 2.a) | ||
highline (2.0.3) | ||
http-cookie (1.0.5) | ||
domain_name (~> 0.5) | ||
httpclient (2.8.3) | ||
jmespath (1.6.2) | ||
json (2.6.3) | ||
jwt (2.7.1) | ||
mini_magick (4.12.0) | ||
mini_mime (1.1.2) | ||
multi_json (1.15.0) | ||
multipart-post (2.3.0) | ||
nanaimo (0.3.0) | ||
naturally (2.2.1) | ||
octokit (6.1.1) | ||
faraday (>= 1, < 3) | ||
sawyer (~> 0.9) | ||
optparse (0.2.0) | ||
os (1.1.4) | ||
plist (3.7.1) | ||
public_suffix (5.0.1) | ||
rake (13.0.6) | ||
representable (3.2.0) | ||
declarative (< 0.1.0) | ||
trailblazer-option (>= 0.1.1, < 0.2.0) | ||
uber (< 0.2.0) | ||
retriable (3.1.2) | ||
rexml (3.2.6) | ||
rouge (2.0.7) | ||
ruby2_keywords (0.0.5) | ||
rubyzip (2.3.2) | ||
sawyer (0.9.2) | ||
addressable (>= 2.3.5) | ||
faraday (>= 0.17.3, < 3) | ||
security (0.1.3) | ||
semantic (1.6.1) | ||
signet (0.18.0) | ||
addressable (~> 2.8) | ||
faraday (>= 0.17.5, < 3.a) | ||
jwt (>= 1.5, < 3.0) | ||
multi_json (~> 1.10) | ||
simctl (1.6.10) | ||
CFPropertyList | ||
naturally | ||
terminal-notifier (2.0.0) | ||
terminal-table (3.0.2) | ||
unicode-display_width (>= 1.1.1, < 3) | ||
trailblazer-option (0.1.2) | ||
tty-cursor (0.7.1) | ||
tty-screen (0.8.2) | ||
tty-spinner (0.9.3) | ||
tty-cursor (~> 0.7) | ||
uber (0.1.0) | ||
unicode-display_width (2.5.0) | ||
word_wrap (1.0.0) | ||
xcodeproj (1.22.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) | ||
xcpretty (0.3.0) | ||
rouge (~> 2.0.7) | ||
xcpretty-travis-formatter (1.0.1) | ||
xcpretty (~> 0.2, >= 0.0.7) | ||
|
||
PLATFORMS | ||
arm64-darwin-21 | ||
|
||
DEPENDENCIES | ||
fastlane | ||
octokit | ||
semantic | ||
|
||
BUNDLED WITH | ||
2.4.1 |
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,63 @@ | ||
default_platform :ios | ||
|
||
REPO_NAME = 'quiltt/quiltt-ios'.freeze | ||
GITHUB_TOKEN = ENV['GITHUB_TOKEN'] | ||
|
||
def release(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 | ||
|
||
set_github_release( | ||
repository_name: 'quiltt/quiltt-ios', | ||
api_token: GITHUB_TOKEN, | ||
name: new_version.to_s, | ||
tag_name: new_version.to_s, | ||
is_generate_release_notes: true, | ||
commitish: 'main' | ||
) | ||
end | ||
|
||
platform :ios do | ||
desc 'Release patch version' | ||
lane :release_patch do | ||
build_example_app | ||
# test_example_app | ||
release(:patch) | ||
end | ||
|
||
desc 'Release minor version' | ||
lane :release_minor do | ||
lane :release_minor do | ||
build_example_app | ||
# test_example_app | ||
release(:minor) | ||
end | ||
end | ||
|
||
desc 'Release major version' | ||
lane :release_major do | ||
lane :release_major do | ||
build_example_app | ||
# test_example_app | ||
release(:major) | ||
end | ||
end | ||
|
||
desc 'Build Example App' | ||
lane :build_example_app do | ||
Dir.chdir('..') do | ||
success = system('xcodebuild -workspace ExampleSwiftUI/ExampleSwiftUI.xcodeproj/project.xcworkspace -allowProvisioningUpdates -scheme ExampleSwiftUI -sdk iphoneos build') | ||
raise 'Build failed' unless success | ||
end | ||
# gym( | ||
# workspace: 'ExampleSwiftUI/ExampleSwiftUI.xcodeproj/project.xcworkspace', | ||
# scheme: 'ExampleSwiftUI', | ||
# sdk: 'iphoneos', | ||
# clean: true, | ||
# xcargs: '-allowProvisioningUpdates' | ||
# ) | ||
end | ||
end |
Oops, something went wrong.