Feat/testflight (#24)
* feat: deploy app to testflight * test gh action * test gh action * test gh action * test gh action * test gh action * test gh action * test gh action * distribute external * distribute external * add changelog * bump version * bump version * bump version * fix actions * update action
This commit is contained in:
@@ -2,8 +2,8 @@ name: build
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
@@ -16,6 +16,32 @@ jobs:
|
|||||||
- uses: rokroskar/workflow-run-cleanup-action@master
|
- uses: rokroskar/workflow-run-cleanup-action@master
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
build_and_deploy_ios:
|
||||||
|
runs-on: [macos-latest]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Install RubyGems
|
||||||
|
run: |
|
||||||
|
cd ios
|
||||||
|
bundle install
|
||||||
|
- uses: subosito/[email protected]
|
||||||
|
with:
|
||||||
|
channel: 'stable'
|
||||||
|
- name: Flutter setup
|
||||||
|
run: |
|
||||||
|
flutter pub get
|
||||||
|
- name: Build and release
|
||||||
|
env:
|
||||||
|
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
|
||||||
|
MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
|
||||||
|
FASTLANE_USER: ${{ secrets.FASTLANE_USER }}
|
||||||
|
FASTLANE_PASSWORD: ${{ secrets.FASTLANE_PASSWORD }}
|
||||||
|
FASTLANE_SESSION: ${{ secrets.FASTLANE_SESSION }}
|
||||||
|
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: ${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}
|
||||||
|
run: |
|
||||||
|
flutter build ios --release --no-codesign
|
||||||
|
cd ios
|
||||||
|
bundle exec fastlane deploy_to_testflight
|
||||||
build_and_deploy_android:
|
build_and_deploy_android:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -13,13 +13,23 @@ lane :match_me do
|
|||||||
type: "adhoc",
|
type: "adhoc",
|
||||||
app_identifier: [
|
app_identifier: [
|
||||||
"io.getstream.flutter",
|
"io.getstream.flutter",
|
||||||
"io.getstream.flutter.Notifications"
|
|
||||||
],
|
],
|
||||||
readonly: is_ci,
|
readonly: is_ci,
|
||||||
force_for_new_devices: true
|
force_for_new_devices: true
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
desc "Installs all Certs and Profiles necessary for appstore"
|
||||||
|
lane :match_appstore do
|
||||||
|
match(
|
||||||
|
type: "appstore",
|
||||||
|
app_identifier: [
|
||||||
|
"io.getstream.flutter",
|
||||||
|
],
|
||||||
|
readonly: is_ci
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
platform :ios do
|
platform :ios do
|
||||||
desc "Deploy build to Firebase"
|
desc "Deploy build to Firebase"
|
||||||
lane :deploy_to_firebase do
|
lane :deploy_to_firebase do
|
||||||
@@ -44,3 +54,36 @@ platform :ios do
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
platform :ios do
|
||||||
|
desc "Deploy build to TestFlight"
|
||||||
|
lane :deploy_to_testflight do
|
||||||
|
match_appstore
|
||||||
|
|
||||||
|
settings_to_override = {
|
||||||
|
:BUNDLE_IDENTIFIER => "io.getstream.flutter",
|
||||||
|
:PROVISIONING_PROFILE_SPECIFIER => "match AppStore io.getstream.flutter"
|
||||||
|
}
|
||||||
|
|
||||||
|
gym(
|
||||||
|
workspace: "./Runner.xcworkspace",
|
||||||
|
scheme: "Runner",
|
||||||
|
export_method: "app-store",
|
||||||
|
export_options: "./fastlane/testflight_gym_export_options.plist",
|
||||||
|
silent: true,
|
||||||
|
clean: true,
|
||||||
|
xcargs: settings_to_override,
|
||||||
|
include_symbols: true,
|
||||||
|
output_directory: "./dist",
|
||||||
|
)
|
||||||
|
|
||||||
|
message = changelog_from_git_commits(commits_count: 10)
|
||||||
|
|
||||||
|
upload_to_testflight(
|
||||||
|
groups: ['Public'],
|
||||||
|
distribute_external: true,
|
||||||
|
changelog: message,
|
||||||
|
reject_build_waiting_for_review: true
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|||||||
@@ -20,6 +20,11 @@ or alternatively using `brew install fastlane`
|
|||||||
fastlane match_me
|
fastlane match_me
|
||||||
```
|
```
|
||||||
Installs all Certs and Profiles necessary for development and ad-hoc
|
Installs all Certs and Profiles necessary for development and ad-hoc
|
||||||
|
### match_appstore
|
||||||
|
```
|
||||||
|
fastlane match_appstore
|
||||||
|
```
|
||||||
|
Installs all Certs and Profiles necessary for appstore
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -29,6 +34,11 @@ Installs all Certs and Profiles necessary for development and ad-hoc
|
|||||||
fastlane ios deploy_to_firebase
|
fastlane ios deploy_to_firebase
|
||||||
```
|
```
|
||||||
Deploy build to Firebase
|
Deploy build to Firebase
|
||||||
|
### ios deploy_to_testflight
|
||||||
|
```
|
||||||
|
fastlane ios deploy_to_testflight
|
||||||
|
```
|
||||||
|
Deploy build to TestFlight
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,6 @@
|
|||||||
<dict>
|
<dict>
|
||||||
<key>io.getstream.flutter</key>
|
<key>io.getstream.flutter</key>
|
||||||
<string>match AdHoc io.getstream.flutter</string>
|
<string>match AdHoc io.getstream.flutter</string>
|
||||||
<key>io.getstream.flutter.Notifications</key>
|
|
||||||
<string>match AdHoc io.getstream.flutter.Notifications</string>
|
|
||||||
</dict>
|
</dict>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
@@ -5,27 +5,39 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<testcase classname="fastlane.lanes" name="0: Verifying fastlane version" time="0.000371">
|
<testcase classname="fastlane.lanes" name="0: Verifying fastlane version" time="0.000404">
|
||||||
|
|
||||||
</testcase>
|
</testcase>
|
||||||
|
|
||||||
|
|
||||||
<testcase classname="fastlane.lanes" name="1: default_platform" time="0.000177">
|
<testcase classname="fastlane.lanes" name="1: default_platform" time="0.000191">
|
||||||
|
|
||||||
</testcase>
|
</testcase>
|
||||||
|
|
||||||
|
|
||||||
<testcase classname="fastlane.lanes" name="2: is_ci" time="0.000187">
|
<testcase classname="fastlane.lanes" name="2: is_ci" time="0.000194">
|
||||||
|
|
||||||
</testcase>
|
</testcase>
|
||||||
|
|
||||||
|
|
||||||
<testcase classname="fastlane.lanes" name="3: is_ci" time="0.000166">
|
<testcase classname="fastlane.lanes" name="3: Switch to ios match_appstore lane" time="0.000191">
|
||||||
|
|
||||||
</testcase>
|
</testcase>
|
||||||
|
|
||||||
|
|
||||||
<testcase classname="fastlane.lanes" name="4: match" time="36.640008">
|
<testcase classname="fastlane.lanes" name="4: is_ci" time="0.000169">
|
||||||
|
|
||||||
|
</testcase>
|
||||||
|
|
||||||
|
|
||||||
|
<testcase classname="fastlane.lanes" name="5: match" time="4.754179">
|
||||||
|
|
||||||
|
</testcase>
|
||||||
|
|
||||||
|
|
||||||
|
<testcase classname="fastlane.lanes" name="6: gym" time="17.780547">
|
||||||
|
|
||||||
|
<failure message="/Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/actions/actions_helper.rb:67:in `execute_action' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/runner.rb:255:in `block in execute_action' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/runner.rb:229:in `chdir' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/runner.rb:229:in `execute_action' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing' Fastfile:68:in `block (2 levels) in parsing_binding' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/lane.rb:33:in `call' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/runner.rb:49:in `block in execute' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/runner.rb:45:in `chdir' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/runner.rb:45:in `execute' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/lane_manager.rb:47:in `cruise_lane' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/commands_generator.rb:108:in `block (2 levels) in run' /Library/Ruby/Gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call' /Library/Ruby/Gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run' /Library/Ruby/Gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in `run!' /Library/Ruby/Gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/commands_generator.rb:352:in `run' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/commands_generator.rb:41:in `start' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/fastlane/lib/fastlane/cli_tools_distributor.rb:119:in `take_off' /Library/Ruby/Gems/2.6.0/gems/fastlane-2.171.0/bin/fastlane:23:in `<top (required)>' /usr/local/bin/fastlane:23:in `load' /usr/local/bin/fastlane:23:in `<main>' Error building the application - see the log above" />
|
||||||
|
|
||||||
</testcase>
|
</testcase>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>iCloudContainerEnvironment</key>
|
||||||
|
<string>Production</string>
|
||||||
|
<key>provisioningProfiles</key>
|
||||||
|
<dict>
|
||||||
|
<key>io.getstream.flutter</key>
|
||||||
|
<string>match AppStore io.getstream.flutter</string>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
name: example
|
name: example
|
||||||
description: A new Flutter project.
|
description: A new Flutter project.
|
||||||
publish_to: 'none'
|
publish_to: 'none'
|
||||||
version: 1.3.3
|
version: 1.3.3+2
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=2.2.2 <3.0.0"
|
sdk: ">=2.2.2 <3.0.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user