|
1 |
| -# This workflow will build a Swift project |
2 |
| -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-swift |
3 |
| - |
4 |
| -name: testflight |
| 1 | +name: Build-And-Deploy-Testflight |
5 | 2 |
|
6 | 3 | on:
|
7 | 4 | workflow_dispatch:
|
8 | 5 |
|
9 | 6 | jobs:
|
10 | 7 | testflight:
|
11 |
| - name: testflight |
| 8 | + name: Build and Deploy Testflight |
12 | 9 | runs-on: macOS-latest
|
13 | 10 | strategy:
|
14 | 11 | matrix:
|
15 |
| - ruby: ['2.7'] |
| 12 | + ruby: ['3.1'] |
16 | 13 |
|
17 | 14 | steps:
|
18 | 15 | - name: Checkout Repository
|
19 |
| - uses: actions/checkout@v3 |
| 16 | + uses: actions/checkout@v2 |
| 17 | + |
| 18 | + - name: Access Match Repository via SSH |
| 19 | + uses: shimataro/ssh-key-action@v2 |
| 20 | + with: |
| 21 | + key: ${{ secrets.SSH_KEY }} |
| 22 | + known_hosts: ${{ secrets.KNOWN_HOSTS }} |
20 | 23 |
|
21 | 24 | - name: Set up Ruby
|
22 | 25 | uses: ruby/setup-ruby@v1
|
|
25 | 28 |
|
26 | 29 | - name: Set up Fastlane
|
27 | 30 | run: brew install fastlane
|
| 31 | + |
| 32 | + - name: Install Tuist |
| 33 | + run: | |
| 34 | + curl -Ls https://install.tuist.io | bash |
| 35 | + |
| 36 | + - name: Generate Xcode project using Tuist |
| 37 | + run: tuist fetch; tuist generate |
| 38 | + |
| 39 | + - name: Deploy iOS Beta to TestFlight via Fastlane |
| 40 | + run: fastlane beta |
| 41 | + env: |
| 42 | + # Developer Info |
| 43 | + FASTLANE_APPLE_ID: '${{ secrets.FASTLANE_APPLE_ID }}' |
| 44 | + APP_STORE_CONNECT_TEAM_ID: '${{ secrets.APP_STORE_CONNECT_TEAM_ID }}' |
| 45 | + DEVELOPER_PORTAL_TEAM_ID: '${{ secrets.DEVELOPER_PORTAL_TEAM_ID }}' |
| 46 | + |
| 47 | + # App Info |
| 48 | + DEVELOPER_APP_ID: '${{ secrets.DEVELOPER_APP_ID }}' |
| 49 | + DEVELOPER_APP_IDENTIFIER: '${{ secrets.DEVELOPER_APP_IDENTIFIER }}' |
| 50 | + |
| 51 | + # Provisioning Profile Info |
| 52 | + PROVISIONING_PROFILE_SPECIFIER: '${{ secrets.PROVISIONING_PROFILE_SPECIFIER }}' |
| 53 | + |
| 54 | + # Match |
| 55 | + MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}' |
| 56 | + |
| 57 | + # Temporary Keychain Info |
| 58 | + TEMP_KEYCHAIN_PASSWORD: '${{ secrets.TEMP_KEYCHAIN_PASSWORD }}' |
| 59 | + TEMP_KEYCHAIN_USER: '${{ secrets.TEMP_KEYCHAIN_USER }}' |
| 60 | + |
| 61 | + # Apple API Info |
| 62 | + APPLE_KEY_ID: '${{ secrets.APPLE_KEY_ID }}' |
| 63 | + APPLE_ISSUER_ID: '${{ secrets.APPLE_ISSUER_ID }}' |
| 64 | + APPLE_KEY_CONTENT: '${{ secrets.APPLE_KEY_CONTENT }}' |
| 65 | + |
| 66 | + # Git Authorization |
| 67 | + GIT_AUTHORIZATION: '${{ secrets.GIT_AUTHORIZATION }}' |
| 68 | + |
| 69 | + # Slack |
| 70 | + SLACK_URL: '${{ secrets.SLACK_URL }}' |
0 commit comments