@@ -2,19 +2,8 @@ name: Mobile CI/CD
22
33on :
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