-
Notifications
You must be signed in to change notification settings - Fork 0
91 lines (81 loc) · 3.47 KB
/
Copy pathtestflight-deployment.yml
File metadata and controls
91 lines (81 loc) · 3.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
### Testflight deployment workflow ###
#
# Builds an app and deploys it to Testflight.
#
# MATCH_PASSWORD - password used for Fastlane Match encryption of codesigning assets
# MATCH_CERTIFICATES_REPO - git repository where Fastlane Match codesigning assets are stored
# APP_STORE_CONNECT_KEY_ID - App Store Connect API key id
# APP_STORE_CONNECT_KEY_ISSUER_ID - App Store Connect API key issuer id
# APP_STORE_CONNECT_KEY_CONTENT - Content of the private key file downloaded from the App Store Connect without new lines
#
# Read about how to generate an App Store Connect API key on https://github.com/strvcom/ios-fastlane
#
# Note: To enable Testflight deployment, change `path` argument in Fastfile from `EnterpriseFastfile` to `TestflightFastfile`
#
name: Testflight Deployment
# - by default this workflow is triggered on every push (merge) to the develop branch and can be triggered manually in Github
# - read about other possible triggers on https://help.github.com/en/actions/reference/events-that-trigger-workflows
on:
workflow_dispatch:
push:
branches:
- develop
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
testflight_deployment:
name: Testflight Deployment
# runs-on: macos-latest # use this for repos outside of the STRV Github org
runs-on: [self-hosted, macOS, mobile-ci]
timeout-minutes: 40
steps:
# checkout the project repository
- name: Checkout
uses: actions/checkout@v3
- name: Install Mise
uses: jdx/mise-action@v2
with:
install: true
cache: false # change to true when running on macos-latest instead of self-hosted
experimental: true
# install dependencies
- name: Install Dependencies
run: |
./setup.swift install
working-directory: iOS
# uncomment Dependencies cache step when running on macos-latest
# - name: Dependencies cache
# uses: actions/cache@v2
# id: dependencies_cache
# with:
# path: |
# vendor
# key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
# restore-keys: |
# ${{ runner.os }}-gems-
# uncomment Run tests step to test before deployment
# - name: Run tests
# run: bundle exec fastlane tests
# env:
# WORKSPACE: ChemexTimer.xcworkspace
# TEST_SCHEME: ChemexTimer-Development
# DEVICES: "iPhone 13 Pro"
# run testflight_deployment lane
- name: Testflight deployment
run: bundle exec fastlane testflight_deployment
working-directory: iOS
env:
WORKSPACE: ChemexTimer.xcworkspace
TARGET: ChemexTimer
SCHEME: ChemexTimer
BUNDLE_ID: com.strv.ChemexTimer
# Uncomment if you need to sign multiple bundle IDs (app extensions etc.)
# Note: Include the main Bundle ID in the list below and keep the BUNDLE_ID parameter above
# MATCH_BUNDLE_IDS: com.strv.ChemexTimer, com.strv.ChemexTimer.Extension, com.strv.ChemexTimer.Extension2
TEAM_NAME: STRV Inc
APP_STORE_CONNECT_KEY_ID: ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
APP_STORE_CONNECT_KEY_CONTENT: ${{ secrets.APP_STORE_CONNECT_KEY_CONTENT }}
APP_STORE_CONNECT_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_KEY_ISSUER_ID }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
MATCH_CERTIFICATES_REPO: ${{ secrets.MATCH_CERTIFICATES_REPO }}