Skip to content

Commit

Permalink
Merge pull request #3210 from ever-co/add/pre-release
Browse files Browse the repository at this point in the history
Add/pre release
  • Loading branch information
Sergemuhundu authored Oct 30, 2024
2 parents 7fce0f9 + b0ef8fb commit d0c7e26
Show file tree
Hide file tree
Showing 6 changed files with 205 additions and 6 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/mobile.apps.android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ jobs:
EXPO_PROJECT_IOS_BUNDLE_IDENTIFIER: ${{ secrets.EXPO_PROJECT_IOS_BUNDLE_IDENTIFIER }}

- name: Build on EAS
run: cd apps/mobile && eas build --platform android --non-interactive
run: cd apps/mobile && eas build --profile production --platform android --non-interactive

- name: Publish update
run: cd apps/mobile && eas update --auto --platform android --non-interactive
Expand All @@ -91,4 +91,4 @@ jobs:
project_id: 'ever-teams-399720'

- name: Upload to Play Store Console
run: cd apps/mobile && eas submit --platform android --latest --non-interactive
run: cd apps/mobile && eas submit --profile production --platform android --latest --non-interactive
6 changes: 3 additions & 3 deletions .github/workflows/mobile.apps.ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,10 @@ jobs:
EXPO_PROJECT_IOS_BUNDLE_IDENTIFIER: ${{ secrets.EXPO_PROJECT_IOS_BUNDLE_IDENTIFIER }}

- name: Build on EAS
run: cd apps/mobile && eas build --platform ios --non-interactive
run: cd apps/mobile && eas build --profile production --platform ios --non-interactive

- name: Publish update
run: cd apps/mobile && eas update --auto --platform ios --non-interactive
run: cd apps/mobile && eas update --auto --profile production --platform ios --non-interactive

- name: Upload App build to App store
run: cd apps/mobile && eas submit --platform ios --latest --non-interactive
run: cd apps/mobile && eas submit --profile production --platform ios --latest --non-interactive
94 changes: 94 additions & 0 deletions .github/workflows/mobile.apps.stage.android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: Mobile Build, Deploy and Publish Apps Android
on:
push:
branches:
- apps-stage
paths:
- '.github/workflows/mobile.apps.stage.yml'
- 'apps/mobile/**'
- 'package.json'
- 'yarn.lock'

concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true

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@v4

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: '20.11.1'
cache: 'yarn'

- name: Setup EAS
uses: expo/expo-github-action@v8
with:
eas-version: latest
token: ${{ secrets.EXPO_TOKEN }}

- 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"
- name: Install Packages
run: |
yarn install --frozen-lockfile
- name: Build Mobile
run: |
yarn build:mobile
- name: Generate app.json and replace placeholders
run: |
cd apps/mobile && yarn config:mobile
env:
EXPO_PROJECT_SLUG: ${{ secrets.EXPO_PROJECT_SLUG }}
EXPO_PROJECT_NAME: ${{ secrets.EXPO_PROJECT_NAME }}
EXPO_PROJECT_OWNER: ${{ secrets.EXPO_PROJECT_OWNER }}
EXPO_PROJECT_ID: ${{ secrets.EXPO_PROJECT_ID }}
EXPO_PROJECT_PACKAGE_NAME: ${{ secrets.EXPO_PROJECT_PACKAGE_NAME }}
EXPO_PROJECT_IOS_BUNDLE_IDENTIFIER: ${{ secrets.EXPO_PROJECT_IOS_BUNDLE_IDENTIFIER }}

- name: Build on EAS
run: cd apps/mobile && eas build --profile internal --platform android --non-interactive

- name: Publish update
run: cd apps/mobile && eas update --auto --profile internal --platform android --non-interactive

- 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 --profile internal --latest --non-interactive
89 changes: 89 additions & 0 deletions .github/workflows/mobile.apps.stage.ios.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: Mobile Build, Deploy and Publish Apps iOS
on:
push:
branches:
- apps-stage
paths:
- '.github/workflows/mobile.apps.stage.yml'
- 'apps/mobile/**'
- 'package.json'
- 'yarn.lock'

concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true

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@v4

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: '20.11.1'
cache: 'yarn'

- name: Setup EAS
uses: expo/expo-github-action@v8
with:
eas-version: latest
token: ${{ secrets.EXPO_TOKEN }}

- name: Set Apple Store Credentials
run: |
echo "APPLE_ID=${{ secrets.APPLE_ID }}" >> $GITHUB_ENV
echo "APPSTORE_ISSUER_ID=${{ secrets.APPSTORE_ISSUER_ID }}" >> $GITHUB_ENV
echo "APPSTORE_API_KEY_ID=${{ secrets.APPSTORE_API_KEY_ID }}" >> $GITHUB_ENV
- name: Replace Secrets in eas.json
run: |
sed -i 's/APPLE_ID_PLACEHOLDER/${{ secrets.APPLE_ID }}/' ./apps/mobile/eas.json
sed -i 's/APPSTORE_ISSUER_ID_PLACEHOLDER/${{ secrets.APPSTORE_ISSUER_ID }}/' ./apps/mobile/eas.json
sed -i 's/APPSTORE_API_KEY_ID_PLACEHOLDER/${{ secrets.APPSTORE_API_KEY_ID }}/' ./apps/mobile/eas.json
- name: Create Apple API Key File
run: |
echo "${{ secrets.APPSTORE_API_PRIVATE_KEY }}" > ./apps/mobile/AuthKey_R9QZ5LP8NK.p8
- name: Install Packages
run: |
yarn install --frozen-lockfile
- name: Build Mobile
run: |
yarn build:mobile
- name: Generate app.json and replace placeholders
run: |
cd apps/mobile && yarn config:mobile
env:
EXPO_PROJECT_SLUG: ${{ secrets.EXPO_PROJECT_SLUG }}
EXPO_PROJECT_NAME: ${{ secrets.EXPO_PROJECT_NAME }}
EXPO_PROJECT_OWNER: ${{ secrets.EXPO_PROJECT_OWNER }}
EXPO_PROJECT_ID: ${{ secrets.EXPO_PROJECT_ID }}
EXPO_PROJECT_PACKAGE_NAME: ${{ secrets.EXPO_PROJECT_PACKAGE_NAME }}
EXPO_PROJECT_IOS_BUNDLE_IDENTIFIER: ${{ secrets.EXPO_PROJECT_IOS_BUNDLE_IDENTIFIER }}

- name: Build on EAS
run: cd apps/mobile && eas build --profile internal --platform ios --non-interactive

- name: Publish update
run: cd apps/mobile && eas update --auto --profile internal --platform ios --non-interactive

- name: Upload App build to App store
run: cd apps/mobile && eas submit --profile internal --platform ios --latest --non-interactive
2 changes: 1 addition & 1 deletion .github/workflows/release.stage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
id: tag_version
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
release_branches: apps,master,main,develop,stage
release_branches: apps,master,main,develop,stage,apps-stage
pre_release_branches: something_to_possible_use_later

- name: Create a GitHub release
Expand Down
16 changes: 16 additions & 0 deletions apps/mobile/eas.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
},
"production": {
"autoIncrement": true
},
"internal": {
"distribution": "internal"
}
},
"submit": {
Expand All @@ -28,6 +31,19 @@
"ascApiKeyId": "APPSTORE_API_KEY_ID_PLACEHOLDER",
"ascApiKeyPath": "./AuthKey_8A3H79GTF8.p8"
}
},
"internal": {
"android": {
"track": "internal",
"releaseStatus": "draft",
"changesNotSentForReview": false
},
"ios": {
"ascAppId": "APPLE_ID_PLACEHOLDER",
"ascApiKeyIssuerId": "APPSTORE_ISSUER_ID_PLACEHOLDER",
"ascApiKeyId": "APPSTORE_API_KEY_ID_PLACEHOLDER",
"ascApiKeyPath": "./AuthKey_8A3H79GTF8.p8"
}
}
}
}

0 comments on commit d0c7e26

Please sign in to comment.