Skip to content

(Swap tool) Add top gainer ampli event and add feature flag (#3962) #14587

(Swap tool) Add top gainer ampli event and add feature flag (#3962)

(Swap tool) Add top gainer ampli event and add feature flag (#3962) #14587

name: Preview frontend E2E tests
on:
push:
branches-ignore:
- master
jobs:
wait-for-deployment:
runs-on: ubuntu-latest
outputs:
environment_url: ${{steps.vercel.outputs.environment_url}}
steps:
- name: Check out repository
uses: actions/checkout@v4
- id: vercel
env:
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
VERCEL_PROJECT: ${{ secrets.VERCEL_PROJECT }}
run: |
echo "$BRANCH_NAME"
cd .github && python await_deployment.py
- name: Echo GITHUB_OUTPUT environment_url
env:
environment_url: ${{ steps.vercel.outputs.environment_url }}
run: echo "$environment_url"
preview-swap-tests:
timeout-minutes: 10
runs-on: macos-latest
needs: wait-for-deployment
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: print environment_url and BRANCH_NAME
env:
BASE_URL: "https://${{ needs.wait-for-deployment.outputs.environment_url }}"
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
run: |
echo "$BASE_URL"
echo "$BRANCH_NAME"
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
- name: Cache dependencies
uses: actions/cache@v4
with:
path: "**/node_modules"
key: ${{ runner.OS }}-20.x-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.OS }}-20.x-
- name: Install Playwright
run: |
echo "$GITHUB_OUTPUT"
yarn --cwd packages/web install --frozen-lockfile && npx playwright install --with-deps chromium
- name: Run Swap Pair tests
env:
BASE_URL: "https://${{ needs.wait-for-deployment.outputs.environment_url }}"
PRIVATE_KEY: ${{ secrets.TEST_PRIVATE_KEY }}
WALLET_ID: ${{ secrets.TEST_WALLET_ID }}
run: |
cd packages/web
npx playwright test -g "Test Swap feature"
- name: upload Swap test results
if: failure()
id: swap-test-results
uses: actions/upload-artifact@v4
with:
name: preview-swap-test-results
path: packages/web/playwright-report
preview-portfolio-trx-tests:
timeout-minutes: 10
needs: wait-for-deployment
runs-on: macos-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
- name: Cache dependencies
uses: actions/cache@v4
with:
path: "**/node_modules"
key: ${{ runner.OS }}-20.x-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.OS }}-20.x-
- name: Install Playwright
run: |
yarn --cwd packages/web install --frozen-lockfile && npx playwright install --with-deps chromium
- name: Run Portfolio tests
env:
BASE_URL: "https://${{ needs.wait-for-deployment.outputs.environment_url }}"
PRIVATE_KEY: ${{ secrets.TEST_PRIVATE_KEY }}
WALLET_ID: ${{ secrets.TEST_WALLET_ID }}
run: |
cd packages/web
npx playwright test portfolio transactions
- name: upload Portfolio and transactions test results
if: failure()
id: portfolio-test-results
uses: actions/upload-artifact@v4
with:
name: preview-portfolio-trx-test-results
path: packages/web/playwright-report
preview-pools-and-select-pair-tests:
timeout-minutes: 10
needs: wait-for-deployment
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
- name: Cache dependencies
uses: actions/cache@v4
with:
path: "**/node_modules"
key: ${{ runner.OS }}-20.x-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.OS }}-20.x-
- name: Install Playwright
run: |
yarn --cwd packages/web install --frozen-lockfile && npx playwright install --with-deps chromium
- name: Run Pools tests
env:
BASE_URL: "https://${{ needs.wait-for-deployment.outputs.environment_url }}"
run: |
cd packages/web
npx playwright test pools select
- name: upload pools test results
if: failure()
id: pools-test-results
uses: actions/upload-artifact@v4
with:
name: preview-pools-test-results
path: packages/web/playwright-report
preview-trade-tests:
timeout-minutes: 10
runs-on: macos-latest
needs: [wait-for-deployment, preview-swap-tests]
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
- name: Cache dependencies
uses: actions/cache@v4
with:
path: "**/node_modules"
key: ${{ runner.OS }}-20.x-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.OS }}-20.x-
- name: Install Playwright
run: |
echo "$GITHUB_OUTPUT"
yarn --cwd packages/web install --frozen-lockfile && npx playwright install --with-deps chromium
- name: Run Swap Pair tests
env:
BASE_URL: "https://${{ needs.wait-for-deployment.outputs.environment_url }}"
PRIVATE_KEY: ${{ secrets.TEST_PRIVATE_KEY }}
WALLET_ID: ${{ secrets.TEST_WALLET_ID }}
run: |
cd packages/web
npx playwright test trade
- name: upload Trade test results
if: failure()
id: preview-trade-test-results
uses: actions/upload-artifact@v4
with:
name: preview-trade-test-results
path: packages/web/playwright-report
preview-claim-tests:
timeout-minutes: 10
runs-on: macos-latest
needs: wait-for-deployment
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
- name: Cache dependencies
uses: actions/cache@v4
with:
path: "**/node_modules"
key: ${{ runner.OS }}-20.x-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.OS }}-20.x-
- name: Install Playwright
run: |
echo "$GITHUB_OUTPUT"
yarn --cwd packages/web install --frozen-lockfile && npx playwright install --with-deps chromium
- name: Run Swap Pair tests
env:
BASE_URL: "https://${{ needs.wait-for-deployment.outputs.environment_url }}"
PRIVATE_KEY: ${{ secrets.TEST_PRIVATE_KEY }}
WALLET_ID: ${{ secrets.TEST_WALLET_ID }}
run: |
cd packages/web
npx playwright test claim
- name: upload Claim test results
if: failure()
id: claim-test-results
uses: actions/upload-artifact@v4
with:
name: preview-claim-test-results
path: packages/web/playwright-report