Skip to content

Commit c17e497

Browse files
authored
Update mobile builds (#13590)
Run on main only Move ssh config step later
1 parent 9e20d61 commit c17e497

1 file changed

Lines changed: 62 additions & 77 deletions

File tree

.github/workflows/mobile.yml

Lines changed: 62 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,8 @@ name: Mobile CI/CD
22

33
on:
44
push:
5-
# TODO: Restrict to main branch after testing
6-
# branches:
7-
# - main
8-
paths:
9-
- 'packages/mobile/**'
10-
- 'packages/common/**'
11-
- 'packages/harmony/**'
12-
- 'packages/libs/**'
13-
- 'packages/sdk/**'
14-
- 'package-lock.json'
15-
- '.github/workflows/mobile.yml'
16-
- '.circleci/**'
17-
pull_request:
5+
branches:
6+
- main
187
paths:
198
- 'packages/mobile/**'
209
- 'packages/common/**'
@@ -104,42 +93,11 @@ jobs:
10493
name: iOS Release Candidate Build & Upload
10594
runs-on: macos-15
10695
needs: mobile-init
107-
# TODO: Re-enable main branch restriction after testing
108-
# if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
109-
if: github.event_name != 'pull_request'
96+
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
11097
steps:
11198
- name: Checkout code
11299
uses: actions/checkout@v4
113100

114-
- name: Set up SSH for Fastlane Match (test early)
115-
run: |
116-
# Set up SSH agent
117-
eval "$(ssh-agent -s)"
118-
119-
# Add GitHub to known_hosts
120-
mkdir -p ~/.ssh
121-
chmod 700 ~/.ssh
122-
echo 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==' >> ~/.ssh/known_hosts
123-
chmod 644 ~/.ssh/known_hosts
124-
125-
# Add SSH private key for accessing certs-and-profiles repository
126-
# Check if secret is set
127-
if [[ -z "${{ secrets.AUDIUS_INFRA_SSH_KEY }}" ]]; then
128-
echo "Error: AUDIUS_INFRA_SSH_KEY secret is not set"
129-
exit 1
130-
fi
131-
132-
# Write key and remove any carriage returns (works on both macOS and Linux)
133-
echo "${{ secrets.AUDIUS_INFRA_SSH_KEY }}" | tr -d '\r' > ~/.ssh/id_rsa
134-
chmod 600 ~/.ssh/id_rsa
135-
136-
# Add key to agent (will provide detailed error if format is wrong)
137-
ssh-add ~/.ssh/id_rsa
138-
139-
# Configure git to use SSH
140-
git config --global user.email "audius-infra@audius.co"
141-
git config --global user.name "audius-infra"
142-
143101
- name: Setup Node.js
144102
uses: actions/setup-node@v4
145103
with:
@@ -241,6 +199,35 @@ jobs:
241199
- name: Copy production env to iOS
242200
run: cp packages/mobile/.env.prod packages/mobile/ios/
243201

202+
- name: Set up SSH for Fastlane Match
203+
run: |
204+
# Set up SSH agent
205+
eval "$(ssh-agent -s)"
206+
207+
# Add GitHub to known_hosts
208+
mkdir -p ~/.ssh
209+
chmod 700 ~/.ssh
210+
echo 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==' >> ~/.ssh/known_hosts
211+
chmod 644 ~/.ssh/known_hosts
212+
213+
# Add SSH private key for accessing certs-and-profiles repository
214+
# Check if secret is set
215+
if [[ -z "${{ secrets.AUDIUS_INFRA_SSH_KEY }}" ]]; then
216+
echo "Error: AUDIUS_INFRA_SSH_KEY secret is not set"
217+
exit 1
218+
fi
219+
220+
# Write key and remove any carriage returns (works on both macOS and Linux)
221+
echo "${{ secrets.AUDIUS_INFRA_SSH_KEY }}" | tr -d '\r' > ~/.ssh/id_rsa
222+
chmod 600 ~/.ssh/id_rsa
223+
224+
# Add key to agent (will provide detailed error if format is wrong)
225+
ssh-add ~/.ssh/id_rsa
226+
227+
# Configure git to use SSH
228+
git config --global user.email "audius-infra@audius.co"
229+
git config --global user.name "audius-infra"
230+
244231
- name: Build and upload iOS (Release Candidate)
245232
timeout-minutes: 60
246233
env:
@@ -274,9 +261,7 @@ jobs:
274261
name: Android Release Candidate Build & Upload
275262
runs-on: ubuntu-latest
276263
needs: mobile-init
277-
# TODO: Re-enable main branch restriction after testing
278-
# if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
279-
if: github.event_name != 'pull_request'
264+
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
280265
steps:
281266
- name: Checkout code
282267
uses: actions/checkout@v4
@@ -416,35 +401,6 @@ jobs:
416401
- name: Checkout code
417402
uses: actions/checkout@v4
418403

419-
- name: Set up SSH for Fastlane Match (test early)
420-
run: |
421-
# Set up SSH agent
422-
eval "$(ssh-agent -s)"
423-
424-
# Add GitHub to known_hosts
425-
mkdir -p ~/.ssh
426-
chmod 700 ~/.ssh
427-
echo 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==' >> ~/.ssh/known_hosts
428-
chmod 644 ~/.ssh/known_hosts
429-
430-
# Add SSH private key for accessing certs-and-profiles repository
431-
# Check if secret is set
432-
if [[ -z "${{ secrets.AUDIUS_INFRA_SSH_KEY }}" ]]; then
433-
echo "Error: AUDIUS_INFRA_SSH_KEY secret is not set"
434-
exit 1
435-
fi
436-
437-
# Write key and remove any carriage returns (works on both macOS and Linux)
438-
echo "${{ secrets.AUDIUS_INFRA_SSH_KEY }}" | tr -d '\r' > ~/.ssh/id_rsa
439-
chmod 600 ~/.ssh/id_rsa
440-
441-
# Add key to agent (will provide detailed error if format is wrong)
442-
ssh-add ~/.ssh/id_rsa
443-
444-
# Configure git to use SSH
445-
git config --global user.email "audius-infra@audius.co"
446-
git config --global user.name "audius-infra"
447-
448404
- name: Setup Node.js
449405
uses: actions/setup-node@v4
450406
with:
@@ -546,6 +502,35 @@ jobs:
546502
- name: Copy production env to iOS
547503
run: cp packages/mobile/.env.prod packages/mobile/ios/
548504

505+
- name: Set up SSH for Fastlane Match
506+
run: |
507+
# Set up SSH agent
508+
eval "$(ssh-agent -s)"
509+
510+
# Add GitHub to known_hosts
511+
mkdir -p ~/.ssh
512+
chmod 700 ~/.ssh
513+
echo 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==' >> ~/.ssh/known_hosts
514+
chmod 644 ~/.ssh/known_hosts
515+
516+
# Add SSH private key for accessing certs-and-profiles repository
517+
# Check if secret is set
518+
if [[ -z "${{ secrets.AUDIUS_INFRA_SSH_KEY }}" ]]; then
519+
echo "Error: AUDIUS_INFRA_SSH_KEY secret is not set"
520+
exit 1
521+
fi
522+
523+
# Write key and remove any carriage returns (works on both macOS and Linux)
524+
echo "${{ secrets.AUDIUS_INFRA_SSH_KEY }}" | tr -d '\r' > ~/.ssh/id_rsa
525+
chmod 600 ~/.ssh/id_rsa
526+
527+
# Add key to agent (will provide detailed error if format is wrong)
528+
ssh-add ~/.ssh/id_rsa
529+
530+
# Configure git to use SSH
531+
git config --global user.email "audius-infra@audius.co"
532+
git config --global user.name "audius-infra"
533+
549534
- name: Build and upload iOS (Production)
550535
timeout-minutes: 60
551536
env:

0 commit comments

Comments
 (0)