Skip to content

Commit

Permalink
feat: prime login & pay
Browse files Browse the repository at this point in the history
  • Loading branch information
sidmorizon committed Jan 10, 2025
1 parent 33e0760 commit cbafd0f
Show file tree
Hide file tree
Showing 145 changed files with 5,665 additions and 614 deletions.
16 changes: 16 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,24 @@ EXT_INJECT_MODE=
# for hardware-js-sdk iframe src
HARDWARE_SDK_CONNECT_SRC=

# for webpack analyzer
ENABLE_ANALYZER=
ENABLE_ANALYZER_HTML_REPORT=

# Jpush
JPUSH_KEY=
JPUSH_CHANNEL=


# Privy
PRIVY_APP_ID=
PRIVY_MOBILE_CLIENT_ID=

# Revenuecat
REVENUECAT_API_KEY_STRIPE=
REVENUECAT_API_KEY_APPLE=
REVENUECAT_API_KEY_GOOGLE=
REVENUECAT_API_KEY_WEB=
REVENUECAT_API_KEY_WEB_SANDBOX=

# Will auto add and inject variable at CI job.Must give an empty line at end of this file.
2 changes: 1 addition & 1 deletion .env.version
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# VERSION: https://semver.org/

VERSION=5.6.0
VERSION=5.6.789

# Will auto add BUILD_NUMBER variable at native CI job.Must give an empty line at end of this file.
4 changes: 4 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
require('./development/lint/eslint-rule-force-async-bg-api');

const isDev = process.env.NODE_ENV !== 'production';
const jsRules = {
// eslint-disable-next-line global-require
Expand All @@ -6,6 +8,7 @@ const jsRules = {
'no-use-before-define': 'off',
'no-shadow': 'off',
'import/no-extraneous-dependencies': 'off',
// 'force-async-bg-api': 'error', // TODO not working
'no-restricted-exports': 'off',
'func-names': 'off',
'import/no-named-as-default-member': 'off',
Expand Down Expand Up @@ -168,6 +171,7 @@ const tsRules = {

const resolveExtensions = (platform) =>
['.ts', '.tsx', '.js', '.jsx'].map((ext) => `${platform}${ext}`);

module.exports = {
plugins: [
'spellcheck',
Expand Down
152 changes: 152 additions & 0 deletions .github/actions/shared-env/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
name: Shared Environment Variables Setup
description: Setup environment variables for the project

inputs:
additional_env:
required: false
type: string
description: "Additional environment variables to inject"
env_file_name:
required: false
type: string
default: ".env"
description: "Target environment file name"
sentry_project:
required: false
type: string
default: ''
description: "Sentry project name"
covalent_key:
required: true
type: string
description: "Covalent API Key"
sentry_token:
required: true
type: string
description: "Sentry Auth Token"
privy_app_id:
required: true
type: string
description: "Privy App ID"
privy_mobile_client_id:
required: true
type: string
description: "Privy Mobile Client ID"
revenuecat_api_key_web:
required: true
type: string
description: "RevenueCat Web API Key"
revenuecat_api_key_web_sandbox:
required: true
type: string
description: "RevenueCat Web Sandbox API Key"
revenuecat_api_key_apple:
required: true
type: string
description: "RevenueCat Apple API Key"
revenuecat_api_key_google:
required: true
type: string
description: "RevenueCat Google API Key"

runs:
using: "composite"
steps:
- name: Checkout Source Code
uses: actions/checkout@v3
with:
lfs: true

- name: Dotenv Action
id: dotenv
uses: OneKeyHQ/actions/dotenv-action@main
with:
path: .env.version

- name: Setup ENV BUILD_NUMBER to 1
if: ${{ !github.event.workflow_run }}
shell: bash
run: |
# Generate build number ------- start
echo "BUILD_NUMBER=1" >> $GITHUB_ENV
# Generate build number ------- end
- name: Setup ENV BUILD_NUMBER by workflow_run
if: ${{ github.event.workflow_run }}
shell: bash
run: |
echo "ActionTriggerBy = ${{ github.event.action }} / ${{ github.event_name }}"
# Generate build number ------- start
DATE=`date "+%Y%m%d"`
run_number=$(($workflow_run_number % 100))
run_number=$(printf "%02d" $run_number)
build_number="${DATE}${run_number}"
echo '$build_number='$build_number
echo "BUILD_NUMBER=$build_number" >> $GITHUB_ENV
# Generate build number ------- end
github_ref="${github_ref////-}"
github_ref="${github_ref/refs-heads-/}"
github_ref="${github_ref/refs-tags-/}"
echo '$github_ref='$github_ref
echo "GITHUB_TAG=$github_ref" >> $GITHUB_ENV
env:
github_ref: ${{ github.ref }}
workflow_run_number: ${{ github.event.workflow_run.run_number}}

- name: Inject Environment Variables
shell: bash
env:
GITHUB_SHA: ${{ github.sha }}
COVALENT_KEY: ${{ inputs.covalent_key }}
SENTRY_TOKEN: ${{ inputs.sentry_token }}
SENTRY_PROJECT: ${{ inputs.sentry_project || '' }}
TARGET_ENV_FILE: ${{ inputs.env_file_name || '.env' }}
PRIVY_APP_ID: ${{ inputs.privy_app_id }}
PRIVY_MOBILE_CLIENT_ID: ${{ inputs.privy_mobile_client_id }}
REVENUECAT_API_KEY_WEB: ${{ inputs.revenuecat_api_key_web }}
REVENUECAT_API_KEY_WEB_SANDBOX: ${{ inputs.revenuecat_api_key_web_sandbox }}
REVENUECAT_API_KEY_APPLE: ${{ inputs.revenuecat_api_key_apple }}
REVENUECAT_API_KEY_GOOGLE: ${{ inputs.revenuecat_api_key_google }}
run: |
echo "GITHUB_SHA=${{ env.GITHUB_SHA }}" >> ${TARGET_ENV_FILE}
echo "ENABLE_ANALYZER=1" >> ${TARGET_ENV_FILE}
echo "ENABLE_ANALYZER_HTML_REPORT=1" >> ${TARGET_ENV_FILE}
echo "COVALENT_KEY=${{ env.COVALENT_KEY }}" >> ${TARGET_ENV_FILE}
echo "SPLIT_BUNDLE=${{ inputs.is-split-bundle }}" >> ${TARGET_ENV_FILE}
echo "SENTRY_AUTH_TOKEN=${{ env.SENTRY_TOKEN }}" >> ${TARGET_ENV_FILE}
echo "SENTRY_TOKEN=${{ env.SENTRY_TOKEN }}" >> ${TARGET_ENV_FILE}
echo "SENTRY_PROJECT=${{ env.SENTRY_PROJECT }}" >> ${TARGET_ENV_FILE}
echo "PRIVY_APP_ID=${{ env.PRIVY_APP_ID }}" >> ${TARGET_ENV_FILE}
echo "PRIVY_MOBILE_CLIENT_ID=${{ env.PRIVY_MOBILE_CLIENT_ID }}" >> ${TARGET_ENV_FILE}
echo "REVENUECAT_API_KEY_WEB=${{ env.REVENUECAT_API_KEY_WEB }}" >> ${TARGET_ENV_FILE}
echo "REVENUECAT_API_KEY_WEB_SANDBOX=${{ env.REVENUECAT_API_KEY_WEB_SANDBOX }}" >> ${TARGET_ENV_FILE}
echo "REVENUECAT_API_KEY_APPLE=${{ env.REVENUECAT_API_KEY_APPLE }}" >> ${TARGET_ENV_FILE}
echo "REVENUECAT_API_KEY_GOOGLE=${{ env.REVENUECAT_API_KEY_GOOGLE }}" >> ${TARGET_ENV_FILE}
if [[ ! -z "${{ inputs.additional_env }}" ]]; then
echo "${{ inputs.additional_env }}" >> ${TARGET_ENV_FILE}
fi
- name: Print ENV file content
shell: bash
run: |
echo "=== .env ==="
if [ -f .env ]; then
cat .env
fi
echo "--------------------------------"
echo "=== .env.expo ==="
if [ -f .env.expo ]; then
cat .env.expo
fi
echo "--------------------------------"
echo "=== .env.version ==="
if [ -f .env.version ]; then
cat .env.version
fi
echo "--------------------------------"
70 changes: 34 additions & 36 deletions .github/workflows/release-android-debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:
description: "Should it run as split-bundle? (keep it null if you don't need it)"
required: false
default: ''

jobs:
release-android-debug:
runs-on: ubuntu-latest
Expand All @@ -15,39 +16,28 @@ jobs:
node-version: [20.x]

steps:
# https://github.com/orgs/community/discussions/25678
- name: Delete huge unnecessary tools folder
run: rm -rf /opt/hostedtoolcache

- name: Checkout Source Code
uses: actions/checkout@v3
with:
lfs: true

- name: Dotenv Action
id: dotenv
uses: OneKeyHQ/actions/dotenv-action@main
- name: Run Shared Env Setup
uses: ./.github/actions/shared-env
with:
path: .env.version

- name: 'Setup ENV'
run: |
echo "ActionTriggerBy = ${{ github.event.action }} / ${{ github.event_name }}"
# Generate build number ------- start
DATE=`date "+%Y%m%d"`
run_number=$(($workflow_run_number % 100))
run_number=$(printf "%02d" $run_number)
build_number="${DATE}${run_number}"
echo '$build_number='$build_number
echo "BUILD_NUMBER=$build_number" >> $GITHUB_ENV
# Generate build number ------- end
github_ref="${github_ref////-}"
github_ref="${github_ref/refs-heads-/}"
github_ref="${github_ref/refs-tags-/}"
echo '$github_ref='$github_ref
echo "GITHUB_TAG=$github_ref" >> $GITHUB_ENV
# echo "::set-env name=GITHUB_TAG::$github_ref"
env:
github_ref: ${{ github.ref }}
workflow_run_number: ${{ github.event.workflow_run.run_number}}
env_file_name: ".env.expo"
sentry_project: ''
covalent_key: ${{ secrets.COVALENT_KEY }}
sentry_token: ${{ secrets.SENTRY_TOKEN }}
privy_app_id: ${{ secrets.PRIVY_APP_ID }}
privy_mobile_client_id: ${{ secrets.PRIVY_MOBILE_CLIENT_ID }}
revenuecat_api_key_web: ${{ secrets.REVENUECAT_API_KEY_WEB }}
revenuecat_api_key_web_sandbox: ${{ secrets.REVENUECAT_API_KEY_WEB_SANDBOX }}
revenuecat_api_key_apple: ${{ secrets.REVENUECAT_API_KEY_APPLE }}
revenuecat_api_key_google: ${{ secrets.REVENUECAT_API_KEY_GOOGLE }}

- name: Setup Java
uses: actions/setup-java@v4
Expand Down Expand Up @@ -83,12 +73,6 @@ jobs:
run: |
yarn
- name: Inject Environment Variables
env:
GITHUB_SHA: ${{ github.sha }}
run: |
echo "GITHUB_SHA=${{ env.GITHUB_SHA }}" >> .env
- name: Build APK
env:
NODE_OPTIONS: '--max_old_space_size=8192'
Expand All @@ -97,6 +81,10 @@ jobs:
yarn app:web-embed:build
cd apps/mobile/android
./gradlew assembleDebug
# https://github.com/orgs/community/discussions/25678
- name: Delete huge unnecessary tools folder
run: rm -rf /opt/hostedtoolcache

- name: Upload Main Debug APK
uses: actions/upload-artifact@v3
Expand All @@ -115,7 +103,17 @@ jobs:
- name: Upload Huawei Debug APK
uses: actions/upload-artifact@v3
with:
name: release-huawei-debug
path: |
./apps/mobile/android/app/build/outputs/apk/huawei/debug
name: release-huawei-debug
path: |
./apps/mobile/android/app/build/outputs/apk/huawei/debug
- name: Free Disk Space
uses: jlumbroso/free-disk-space@main
with:
tool-cache: false
android: true
dotnet: false
haskell: false
large-packages: false
docker-images: false
swap-storage: false
Loading

0 comments on commit cbafd0f

Please sign in to comment.