Skip to content

Release Mobile POS

Release Mobile POS #2

Workflow file for this run

name: Release Mobile POS
permissions:
id-token: write
contents: read
on:
workflow_dispatch:
inputs:
platform:
description: 'Platform to build'
required: true
type: choice
options:
- android
- ios
variant:
description: 'App variant'
required: true
type: choice
options:
- production
- legacy
push:
tags:
- 'variant-*'
jobs:
release-android:
if: ${{ github.event_name == 'push' || inputs.platform == 'android' }}
uses: ./.github/workflows/release-android-base.yaml
with:
name: ${{ github.event_name == 'push' && 'Mobile POS React Native' || (inputs.variant == 'legacy' && 'Mobile POS React Native (legacy-poc)' || 'Mobile POS React Native') }}
root-path: 'dapps/pos-app'
release-type: 'production'
project-type: 'dapp'
output-path: 'dapps/pos-app/android/app/build/outputs/apk/release/app-release.apk'
package-manager: 'npm'
is-expo-project: true
secrets:
env-file: ${{ github.event_name == 'push' && secrets.POS_ENV_FILE || (inputs.variant == 'legacy' && secrets.POS_LEGACY_ENV_FILE || secrets.POS_ENV_FILE) }}
sentry-file: ${{ secrets.POS_SENTRY_FILE }}
secrets-file: ${{ secrets.ANDROID_SECRETS_FILE }}
firebase-app-id: ${{ secrets.POS_ANDROID_FIREBASE_APP_ID }}
gsa-key: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_KEY }}
keystore-name: ${{ vars.WC_PROD_KEYSTORE_NAME }}
keystore: ${{ secrets.WC_PROD_KEYSTORE }}
aws-account-id: ${{ secrets.AWS_ACCOUNT_ID }}
slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }}
firebase-url: ${{ vars.FIREBASE_POS_URL }}
release-ios:
if: ${{ github.event_name != 'push' && inputs.platform == 'ios' }}
uses: ./.github/workflows/release-ios-base.yaml
with:
name: ${{ inputs.variant == 'legacy' && 'Mobile POS React Native (legacy-poc)' || 'Mobile POS React Native' }}
root-path: 'dapps/pos-app'
release-type: 'production'
scheme-name: 'WPay'
bundle-id: 'com.reown.mobilepos'
apple-id: '6754570257'
project-type: 'dapp'
package-manager: 'npm'
testflight-groups: 'External'
is-expo-project: true
secrets:
env-file: ${{ inputs.variant == 'legacy' && secrets.POS_LEGACY_ENV_FILE || secrets.POS_ENV_FILE }}
sentry-file: ${{ secrets.POS_SENTRY_FILE }}
apple-username: ${{ secrets.APPLE_USERNAME }}
apple-key-id: ${{ secrets.APPLE_KEY_ID }}
apple-key-content: ${{ secrets.APPLE_KEY_CONTENT }}
apple-issuer-id: ${{ secrets.APPLE_ISSUER_ID }}
match-username: ${{ secrets.MATCH_USERNAME }}
match-keychain-password: ${{ secrets.MATCH_KEYCHAIN_PASSWORD }}
match-git-url: ${{ secrets.MATCH_GIT_URL }}
match-ssh-key: ${{ secrets.MATCH_SSH_KEY }}
google-services-file: ${{ secrets.POS_IOS_GOOGLE_SERVICES_FILE_BASE64 }}
slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }}
testflight-url: ${{ vars.TESTFLIGHT_POS_URL }}