Skip to content

Combined SendToEvm and SendToCadence #678

Combined SendToEvm and SendToCadence

Combined SendToEvm and SendToCadence #678

Workflow file for this run

name: Extension Build
on:
push:
jobs:
build:
runs-on: ubuntu-latest
environment: >-
${{
github.ref_type == 'tag' && 'production' ||
github.ref_name == 'master' && 'production' ||
github.ref_name == 'dev' && 'staging' ||
'development'
}}
strategy:
matrix:
node-version: [22.x]
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Create .env.pro file
run: |
cat << EOF > .env.pro
# Git info
COMMIT_SHA="${{ github.sha }}"
BRANCH_NAME="${{ github.ref_name }}"
PR_TITLE="${{ github.event.pull_request.title || '' }}"
PR_NUMBER="${{ github.event.pull_request.number || '' }}"
BUILD_BACKGROUND="${{ vars.BUILD_BACKGROUND }}"
DEPLOYMENT_ENV="${{ github.ref_type == 'tag' && 'production' || github.ref_name == 'master' && 'production' || github.ref_name == 'dev' && 'staging' || 'development' }}"
# Google drive
GD_BACKUP_NAME="${{ vars.GD_BACKUP_NAME }}"
GD_FOLDER="${{ vars.GD_FOLDER }}"
GD_AES_KEY="${{ secrets.GD_AES_KEY }}"
GD_IV="${{ secrets.GD_IV }}"
GOOGLE_API="${{ secrets.GOOGLE_API }}"
FB_TOKEN="${{ secrets.FB_TOKEN }}"
# firebase
FB_API_KEY="${{ secrets.FB_API_KEY }}"
FB_AUTH_DOMAIN="${{ secrets.FB_AUTH_DOMAIN }}"
FB_DATABASE_URL="${{ secrets.FB_DATABASE_URL }}"
FB_PROJECTID="${{ secrets.FB_PROJECTID }}"
FB_STORAGE_BUCKET="${{ secrets.FB_STORAGE_BUCKET }}"
FB_MESSAGING_SENDER_ID="${{ secrets.FB_MESSAGING_SENDER_ID }}"
FB_APP_ID="${{ secrets.FB_APP_ID }}"
FB_MEASUREMENT_ID="${{ secrets.FB_MEASUREMENT_ID }}"
FB_FUNCTIONS="${{ secrets.FB_FUNCTIONS }}"
API_NEWS_PATH="${{ vars.API_NEWS_PATH }}"
API_CONFIG_PATH="${{ vars.API_CONFIG_PATH }}"
API_BASE_URL="${{ vars.API_BASE_URL }}"
# manifest
OAUTH2_CLIENT_ID="${{ secrets.OAUTH2_CLIENT_ID }}"
OAUTH2_SCOPES="${{ vars.OAUTH2_SCOPES }}"
WC_PROJECTID="${{ secrets.WC_PROJECTID }}"
MIXPANEL_TOKEN="${{ secrets.MIXPANEL_TOKEN }}"
TEST_PASSWORD="${{ secrets.TEST_PASSWORD }}"
TEST_PK_P256="${{ secrets.TEST_PK_P256 }}"
TEST_PK_SECP256K1="${{ secrets.TEST_PK_SECP256K1 }}"
TEST_SEED_PHRASE_RECEIVER="${{ secrets.TEST_SEED_PHRASE_RECEIVER }}"
TEST_SEED_PHRASE_SENDER="${{ secrets.TEST_SEED_PHRASE_SENDER }}"
TEST_SENDER_ADDR="${{ secrets.TEST_SENDER_ADDR }}"
TEST_RECEIVER_ADDR="${{ secrets.TEST_RECEIVER_ADDR }}"
EOF
- name: Run tests
run: pnpm test
- name: Build
run: pnpm run build:ci
env:
CI: true
COMMIT_SHA: ${{ github.sha }}
BRANCH_NAME: ${{ github.ref_name }}
PR_TITLE: ${{ github.event.pull_request.title || '' }}
PR_NUMBER: ${{ github.event.pull_request.number || '' }}
DEPLOYMENT_ENV: ${{ github.ref_type == 'tag' && 'production' || github.ref_name == 'master' && 'production' || github.ref_name == 'dev' && 'staging' || 'development' }}
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: extension-build
path: dist/
- name: Check build size
run: |
echo "Build size:"
du -sh dist/
test:
needs: build
if: github.ref_type == 'tag' || github.ref_name == 'dev' || github.ref_name == 'master'
runs-on: ubuntu-latest
concurrency:
group: tests-${{ github.workflow }}
cancel-in-progress: false
environment: >-
${{
github.ref_type == 'tag' && 'production' ||
github.ref_name == 'master' && 'production' ||
github.ref_name == 'dev' && 'staging'
}}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: extension-build
path: dist/
- name: Create .env.test file
run: |
cat << EOF > .env.test
# Test secrets
TEST_PASSWORD="${{ secrets.TEST_PASSWORD }}"
TEST_PK_P256="${{ secrets.TEST_PK_P256 }}"
TEST_PK_SECP256K1="${{ secrets.TEST_PK_SECP256K1 }}"
TEST_SEED_PHRASE_RECEIVER="${{ secrets.TEST_SEED_PHRASE_RECEIVER }}"
TEST_SEED_PHRASE_SENDER="${{ secrets.TEST_SEED_PHRASE_SENDER }}"
TEST_SENDER_ADDR="${{ secrets.TEST_SENDER_ADDR }}"
TEST_RECEIVER_ADDR="${{ secrets.TEST_RECEIVER_ADDR }}"
TEST_SENDER_EVM_ADDR="${{ secrets.TEST_SENDER_EVM_ADDR }}"
TEST_RECEIVER_EVM_ADDR="${{ secrets.TEST_RECEIVER_EVM_ADDR }}"
EOF
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Install dependencies
run: pnpm install
- name: Install Playwright Browsers
run: pnpm playwright install --with-deps chromium
- name: Run Playwright tests
run: pnpm test:e2e
env:
CI: true
HEADLESS: true
- uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30