-
Notifications
You must be signed in to change notification settings - Fork 50
87 lines (70 loc) · 2.76 KB
/
mobile-prod.yml
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
name: Mobile Build & Deploy PROD
on:
push:
branches:
- main
paths:
- '.github/workflows/**'
- 'apps/mobile/**'
- 'package.json'
- 'yarn.lock'
- 'README.md'
jobs:
deploy:
runs-on: ubuntu-latest
environment: prod
permissions:
contents: read
steps:
- name: Check for EXPO_TOKEN
run: |
if [ -z "${{ secrets.EXPO_TOKEN }}" ]; then
echo "You must provide an EXPO_TOKEN secret linked to this project's Expo account in this repo's secrets. Learn more: https://docs.expo.dev/eas-update/github-actions"
exit 1
fi
- uses: actions/checkout@v3
- name: Use Node.js 18.x
uses: actions/setup-node@v3
with:
node-version: '18'
cache: 'yarn'
- name: Setup EAS
uses: expo/expo-github-action@v8
with:
eas-version: latest
token: ${{ secrets.EXPO_TOKEN }}
- name: Install Packages
run: |
yarn install --frozen-lockfile
- name: Build Mobile
run: |
yarn build:mobile
- name: Build on EAS
run: cd apps/mobile && eas build --platform all --non-interactive
- name: Publish update
run: cd apps/mobile && eas update --auto
- name: Decode Google Credentials
run: |
DECODED_GOOGLE_CREDENTIALS=$(echo '${{ secrets.GOOGLE_CREDENTIALS }}' | base64 --decode)
echo "DECODED_GOOGLE_CREDENTIALS=$DECODED_GOOGLE_CREDENTIALS" >> $GITHUB_ENV
echo "::add-mask::$DECODED_GOOGLE_CREDENTIALS"
ESCAPED_GOOGLE_CREDENTIALS=$(echo "$DECODED_GOOGLE_CREDENTIALS" | sed ':a;N;$!ba;s/\n/\\n/g' | sed 's/"/\\"/g')
ESCAPED_GOOGLE_CREDENTIALS=$(echo $ESCAPED_GOOGLE_CREDENTIALS | sed 's/\\n/\\\\n/g')
echo "ESCAPED_GOOGLE_CREDENTIALS=$ESCAPED_GOOGLE_CREDENTIALS" >> $GITHUB_ENV
echo "::add-mask::$ESCAPED_GOOGLE_CREDENTIALS"
# See https://github.com/ever-co/ever-teams-boards-store/blob/develop/.github/workflows/deploy.yml
- name: "Authenticate to Google Cloud"
uses: "google-github-actions/auth@v1"
with:
credentials_json: ${{ env.DECODED_GOOGLE_CREDENTIALS }}
# Install gcloud, `setup-gcloud` automatically picks up authentication from `auth`.
- name: "Set up Cloud SDK"
uses: "google-github-actions/setup-gcloud@v1"
with:
project_id: "ever-teams-399720"
- name: Upload to Play Store Console
run: cd apps/mobile && eas submit --platform android --latest --non-interactive
- name: Deploy to App Store
run: cd apps/mobile && eas submit --platform ios --latest --non-interactive
env:
EXPO_APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.EXPO_APPLE_APP_SPECIFIC_PASSWORD }}