mirror of
https://github.com/alexgo-io/onekey-monorepo.git
synced 2026-04-30 12:42:02 +08:00
131 lines
4.5 KiB
YAML
131 lines
4.5 KiB
YAML
name: release-web
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows:
|
|
- daily-build
|
|
types:
|
|
- completed
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
test-web:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
HOST_PATH: '${{ github.event.repository.name }}/${{ github.sha }}/'
|
|
PUBLIC_URL: 'https://asset.onekey-asset.com/${{ github.event.repository.name }}/${{ github.sha }}/'
|
|
TEST_ENDPOINT: app.onekeytest.com
|
|
if: ${{ !github.event.workflow_run || (github.event.workflow_run && github.event.workflow_run.conclusion == 'success') }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Setup Environment
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
registry-url: 'https://npm.pkg.github.com'
|
|
always-auth: true
|
|
scope: '@onekeyhq'
|
|
node-version: '16.x'
|
|
|
|
- name: Dotenv Action
|
|
id: dotenv
|
|
uses: OneKeyHQ/actions/dotenv-action@main
|
|
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"
|
|
|
|
eval "$(node -e 'const v=require("./packages/web/package.json").version; console.log("pkg_version="+v)')"
|
|
echo '$pkg_version='$pkg_version
|
|
echo "PKG_VERSION=$pkg_version" >> $GITHUB_ENV
|
|
|
|
artifacts_url="$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"
|
|
echo "ARTIFACTS_URL=$artifacts_url" >> $GITHUB_ENV
|
|
|
|
env:
|
|
github_ref: ${{ github.ref }}
|
|
workflow_run_number: ${{ github.event.workflow_run.run_number}}
|
|
|
|
- name: Setup keys secret
|
|
run: |
|
|
rm -rf packages/shared/src/analytics/firebase.web.json
|
|
echo ${{ secrets.GOOGLE_SERVICE_WEB }} | base64 -d > packages/shared/src/analytics/firebase.web.json
|
|
|
|
- name: Install Dependency
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
NODE_OPTIONS: '--max_old_space_size=4096'
|
|
run: |
|
|
yarn
|
|
|
|
- name: Inject Environment Variables
|
|
env:
|
|
COVALENT_KEY: ${{ secrets.COVALENT_KEY }}
|
|
GITHUB_SHA: ${{ github.sha }}
|
|
run: |
|
|
echo "COVALENT_KEY=${{ env.COVALENT_KEY }}" >> .env
|
|
echo "GITHUB_SHA=${{ env.GITHUB_SHA }}" >> .env
|
|
|
|
- name: Build Target
|
|
env:
|
|
PUBLIC_URL: ${{ env.PUBLIC_URL }}
|
|
NODE_OPTIONS: '--max_old_space_size=4096'
|
|
run: |
|
|
cd packages/web && yarn build && cd ../..
|
|
|
|
- name: Deploy to CDN
|
|
uses: OneKeyHQ/actions/s3-upload@main
|
|
with:
|
|
aws_key_id: ${{ secrets.AWS_KEY_ID }}
|
|
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
aws_bucket: ${{ secrets.AWS_BUCKET }}
|
|
source_dir: './packages/web/web-build/'
|
|
destination_dir: ${{ env.HOST_PATH }}
|
|
|
|
- name: Upload Artifacts
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: app-monorepo-${{ github.sha }}
|
|
path: |
|
|
./packages/web/web-build/
|
|
|
|
- name: Deploy Github Pages
|
|
uses: OneKeyHQ/actions/gh-pages@main
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
publish_dir: ./packages/web/web-build
|
|
cname: ${{ env.TEST_ENDPOINT }}
|
|
force_orphan: true
|
|
|
|
- name: 'Notify to Slack'
|
|
uses: onekeyhq/actions/notice-slack-app-update@main
|
|
with:
|
|
web-hook-url: ${{ secrets.SLACK_DEV_WEBHOOK }}
|
|
artifact-type: WEB
|
|
artifact-name: OneKey-Desktop-WEB
|
|
artifact-bundle-id: 'so.onekey.wallet.web'
|
|
artifact-version-name: '${{ steps.dotenv.outputs.version }}@${{ env.BUILD_NUMBER }}'
|
|
artifact-version-code: '${{ env.BUILD_NUMBER }}'
|
|
artifact-download-url: '${{ env.ARTIFACTS_URL }}'
|
|
change-log: '👋 Successfully deployed to https://app.onekeytest.com/'
|
|
custom-issue-url: ''
|
|
custom-message-title: ''
|
|
custom-message-payload: ''
|