[issue-1193] Improve default enable config Show zero balance #225
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Internal builds | |
on: | |
pull_request: | |
branches: [ "koni-dev", "upgrade-ui" ] | |
jobs: | |
# iOS build workflow | |
build-ios: | |
name: iOS builds | |
runs-on: macos-latest | |
env: | |
GH_PAT: ${{ secrets.GH_PAT }} | |
GH_RELEASE_GITHUB_API_TOKEN: ${{ secrets.GH_PAT }} | |
KS_PASSWORD: ${{ secrets.KS_PASSWORD }} | |
NEXTCLOUD_CONFIG: ${{ secrets.NEXTCLOUD_CONFIG }} | |
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} | |
COMMIT_MESSAGE: ${{ github.event.pull_request.title }} | |
REF_NAME: ${{ github.ref_name }} | |
TRANSAK_API_KEY: ${{ secrets.TRANSAK_API_KEY }} | |
COINBASE_PAY_ID: ${{ secrets.COINBASE_PAY_ID }} | |
IOS_CODEPUSH_KEY: ${{ secrets.IOS_CODEPUSH_STAGING_KEY }}DISABLED | |
ANDROID_CODEPUSH_KEY: ${{ secrets.ANDROID_CODEPUSH_STAGING_KEY }}DISABLED | |
BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
token: ${{ secrets.GH_PAT }} | |
- name: Add APP ENV | |
run: | | |
cp .env.development.example .env.production | |
if [ -f .env.production ]; then | |
sed -i '' "s/^TRANSAK_API_KEY=.*/TRANSAK_API_KEY=$TRANSAK_API_KEY/" .env.production | |
sed -i '' "s/^COINBASE_PAY_ID=.*/COINBASE_PAY_ID=$COINBASE_PAY_ID/" .env.production | |
sed -i '' "s/^IOS_CODEPUSH_KEY=.*/IOS_CODEPUSH_KEY=$IOS_CODEPUSH_KEY/" .env.production | |
sed -i '' "s/^ANDROID_CODEPUSH_KEY=.*/ANDROID_CODEPUSH_KEY=$ANDROID_CODEPUSH_KEY/" .env.production | |
sed -i '' "s/^BUNDLE_ENV=.*/BUNDLE_ENV=STAGING/" .env.production | |
else | |
echo "TRANSAK_API_KEY=$TRANSAK_API_KEY" >> .env.production | |
echo "COINBASE_PAY_ID=$COINBASE_PAY_ID" >> .env.production | |
echo "IOS_CODEPUSH_KEY=$IOS_CODEPUSH_KEY" >> .env.production | |
echo "ANDROID_CODEPUSH_KEY=$ANDROID_CODEPUSH_KEY" >> .env.production | |
echo "BUNDLE_ENV=STAGING" >> .env.production | |
fi | |
- name: Cache Dependencies | |
uses: actions/cache@v2 | |
with: | |
path: ~/.cache/yarn | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install dependencies | |
run: yarn install --immutable | grep -v 'YN0013' | |
- name: Autocheck | |
run: node ./scripts/autocheck.mjs | |
- name: Setup Ruby (bundle) Environment | |
uses: ruby/[email protected] | |
with: | |
ruby-version: 2.6 | |
bundler-cache: true | |
- name: Restore Pods Cache | |
uses: actions/[email protected] | |
with: | |
path: | | |
ios/Pods | |
~/Library/Caches/CocoaPods | |
~/.cocoapods | |
key: ${{ runner.os }}-pods-${{ hashFiles('ios/Podfile.lock') }} | |
restore-keys: | | |
${{ runner.os }}-pods- | |
- name: Install Pods | |
run: cd ios && pod update hermes-engine --no-repo-update && cd .. | |
# Build IPA file | |
- name: iOS Build Action | |
uses: yukiarrr/[email protected] | |
with: | |
project-path: ios/SubWalletMobile.xcodeproj | |
export-method: 'ad-hoc' | |
p12-base64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} | |
certificate-password: ${{ secrets.P12_PASSWORD }} | |
mobileprovision-base64: ${{ secrets.BUILD_ADHOC_PROVISION_PROFILE_BASE64 }} | |
code-signing-identity: 'Apple Distribution: CDM SOFTWARE DEVELOPMENT COMPANY LIMITED (ZUZ7T3GQMT)' | |
team-id: ${{ secrets.APPLE_TEAM_ID }} | |
workspace-path: ios/SubWalletMobile.xcworkspace | |
scheme: SubWalletMobile-Production | |
- name: Prepare Release Notes | |
id: release-notes | |
run: | | |
PR_ID="${{ github.event.number }}" | |
PR_TITLE="${{ github.event.pull_request.title }}" | |
PR_LINK="${{ github.event.pull_request._links.html.href }}" | |
if [ -z "$PR_ID" ]; then PR_ID="Default branch"; fi | |
if [ -z "$PR_TITLE" ]; then PR_TITLE="Default commit"; fi | |
if [ -z "$PR_LINK" ]; then PR_LINK="Default"; fi | |
RELEASE_NOTES="PR #${PR_ID} - $PR_TITLE - $PR_LINK" | |
echo "::set-output name=releaseNotes::${RELEASE_NOTES}" | |
# Upload IPA file to Firebase App Distribution | |
- name: Upload build file | |
uses: nickwph/firebase-app-distribution-action@v1 | |
with: | |
app: ${{ secrets.FB_IOS_APP_ID }} | |
credentials: ${{ secrets.CREDENTIAL_FILE_CONTENT }} | |
groups: subwallet-team | |
file: output.ipa | |
release-notes: ${{ steps.release-notes.outputs.releaseNotes }} | |
# Notify Discord | |
- name: Notify to Discord | |
uses: sarisia/actions-status-discord@v1 | |
if: always() | |
with: | |
webhook: ${{ secrets.DISCORD_WEBHOOK }} | |
status: ${{ job.status }} | |
username: GitHub Actions Test Notifier | |
title: ${{ github.workflow }} | |
description: | | |
iOS: The Deployment has been completed. | |
Commit message: ${{ github.event.head_commit.message }} | |
# Android build workflow | |
build-android: | |
name: Android builds | |
runs-on: macos-latest | |
env: | |
GH_PAT: ${{ secrets.GH_PAT }} | |
GH_RELEASE_GITHUB_API_TOKEN: ${{ secrets.GH_PAT }} | |
KS_PASSWORD: ${{ secrets.KS_PASSWORD }} | |
NEXTCLOUD_CONFIG: ${{ secrets.NEXTCLOUD_CONFIG }} | |
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} | |
COMMIT_MESSAGE: ${{ github.event.pull_request.title }} | |
REF_NAME: ${{ github.ref_name }} | |
TRANSAK_API_KEY: ${{ secrets.TRANSAK_API_KEY }} | |
COINBASE_PAY_ID: ${{ secrets.COINBASE_PAY_ID }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
token: ${{ secrets.GH_PAT }} | |
- name: Add APP ENV | |
run: | | |
cp .env.development.example .env.production | |
if [ -f .env.production ]; then | |
sed -i '' "s/^TRANSAK_API_KEY=.*/TRANSAK_API_KEY=$TRANSAK_API_KEY/" .env.production | |
sed -i '' "s/^COINBASE_PAY_ID=.*/COINBASE_PAY_ID=$COINBASE_PAY_ID/" .env.production | |
sed -i '' "s/^IOS_CODEPUSH_KEY=.*/IOS_CODEPUSH_KEY=$IOS_CODEPUSH_KEY/" .env.production | |
sed -i '' "s/^ANDROID_CODEPUSH_KEY=.*/ANDROID_CODEPUSH_KEY=$ANDROID_CODEPUSH_KEY/" .env.production | |
sed -i '' "s/^BUNDLE_ENV=.*/BUNDLE_ENV=STAGING/" .env.production | |
else | |
echo "TRANSAK_API_KEY=$TRANSAK_API_KEY" >> .env.production | |
echo "COINBASE_PAY_ID=$COINBASE_PAY_ID" >> .env.production | |
echo "IOS_CODEPUSH_KEY=$IOS_CODEPUSH_KEY" >> .env.production | |
echo "ANDROID_CODEPUSH_KEY=$ANDROID_CODEPUSH_KEY" >> .env.production | |
echo "BUNDLE_ENV=STAGING" >> .env.production | |
fi | |
- name: Cache Dependencies | |
uses: actions/cache@v2 | |
with: | |
path: ~/.cache/yarn | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install dependencies | |
run: yarn install --immutable | grep -v 'YN0013' | |
- uses: actions/setup-java@v1 | |
with: | |
java-version: '11' | |
- name: Cache Gradle Wrapper | |
uses: actions/cache@v2 | |
with: | |
path: ~/.gradle/wrapper | |
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} | |
- name: Cache Gradle Dependencies | |
uses: actions/cache@v2 | |
with: | |
path: ~/.gradle/caches | |
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} | |
restore-keys: | | |
${{ runner.os }}-gradle-caches- | |
- name: Make Gradlew Executable | |
run: cd android && chmod +x ./gradlew | |
- name: Prepare sign datarun | |
run: | | |
echo "${{ secrets.ANDROID_KEY_STORE_BASE64 }}" | base64 --decode > android/app/${{ secrets.MYAPP_UPLOAD_STORE_FILE }} | |
# Build APK file | |
- name: Generate App APK | |
run: | | |
cd android && export ENVFILE=.env.production && ./gradlew assembleRelease -PMYAPP_UPLOAD_STORE_FILE=${{ secrets.MYAPP_UPLOAD_STORE_FILE }} -PMYAPP_UPLOAD_STORE_PASSWORD=${{ secrets.ANDROID_KEY_STORE_PASSWORD }} -PMYAPP_UPLOAD_KEY_PASSWORD=${{ secrets.ANDROID_KEY_PASSWORD }} -PMYAPP_UPLOAD_KEY_ALIAS=${{ secrets.ANDROID_ALIAS }} | |
- name: Prepare Release Notes | |
id: release-notes | |
run: | | |
PR_ID="${{ github.event.number }}" | |
PR_TITLE="${{ github.event.pull_request.title }}" | |
PR_LINK="${{ github.event.pull_request._links.html.href }}" | |
if [ -z "$PR_ID" ]; then PR_ID="Default branch"; fi | |
if [ -z "$PR_TITLE" ]; then PR_TITLE="Default commit"; fi | |
if [ -z "$PR_LINK" ]; then PR_LINK="Default"; fi | |
RELEASE_NOTES="PR #${PR_ID} - $PR_TITLE - $PR_LINK" | |
echo "::set-output name=releaseNotes::${RELEASE_NOTES}" | |
# Upload APK to Firebase App Distribution | |
- name: Upload build file | |
uses: nickwph/firebase-app-distribution-action@v1 | |
with: | |
app: ${{ secrets.FB_ANDROID_APP_ID }} | |
credentials: ${{ secrets.CREDENTIAL_FILE_CONTENT }} | |
groups: subwallet-team | |
file: android/app/build/outputs/apk/release/app-release.apk | |
release-notes: ${{ steps.release-notes.outputs.releaseNotes }} | |
# Notify to Discord | |
- name: Notify to Discord | |
uses: sarisia/actions-status-discord@v1 | |
if: always() | |
with: | |
webhook: ${{ secrets.DISCORD_WEBHOOK }} | |
status: ${{ job.status }} | |
username: GitHub Actions Test Notifier | |
title: ${{ github.workflow }} | |
description: | | |
Android: The Deployment has been completed. | |
Commit message: ${{ github.event.head_commit.message }} |