Merge pull request #3991 from osmosis-labs/stage #3732
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: Production frontend E2E tests | |
on: | |
push: | |
branches: | |
- master | |
workflow_dispatch: | |
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 }} | |
VERCEL_TARGET: "production" | |
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" | |
prod-e2e-tests: | |
runs-on: macos-latest | |
timeout-minutes: 15 | |
needs: wait-for-deployment | |
environment: | |
name: prod_swap_test | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
with: | |
ref: master | |
- 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/e2e install --frozen-lockfile && npx playwright install --with-deps chromium | |
- name: Run Swap Pair tests on Master | |
env: | |
BASE_URL: "https://app.osmosis.zone" | |
PRIVATE_KEY: ${{ secrets.TEST_PRIVATE_KEY }} | |
WALLET_ID: ${{ secrets.TEST_WALLET_ID }} | |
run: | | |
cd packages/e2e | |
npx playwright test transactions portfolio swap.wallet | |
- name: upload test results | |
if: always() | |
id: e2e-test-results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: prod-e2e-test-results-${{ github.run_id }} | |
path: packages/e2e/playwright-report | |
- name: Send Slack alert if test fails | |
id: slack | |
if: failure() | |
uses: slackapi/[email protected] | |
with: | |
payload: | | |
{ | |
"text": "🚨 FE E2E Tests Failure Alert 🚨", | |
"blocks": [ | |
{ | |
"type": "header", | |
"text": { | |
"type": "plain_text", | |
"text": "FE E2E Tests Failure" | |
} | |
}, | |
{ | |
"type": "section", | |
"text": { | |
"type": "mrkdwn", | |
"text": "*Environment:* production\n*App URL:* https://app.osmosis.zone" | |
} | |
}, | |
{ | |
"type": "section", | |
"text": { | |
"type": "mrkdwn", | |
"text": "Click here to view the run: <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|GitHub Actions Run>" | |
} | |
} | |
] | |
} | |
env: | |
SLACK_WEBHOOK_URL: ${{ secrets.SERVER_E2E_TESTS_SLACK_WEBHOOK_URL }} | |
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK | |
prod-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 | |
with: | |
sparse-checkout: | | |
packages/e2e | |
- 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/e2e install --frozen-lockfile && npx playwright install --with-deps chromium | |
- name: Run Pools tests | |
env: | |
BASE_URL: "https://app.osmosis.zone" | |
run: | | |
cd packages/e2e | |
npx playwright test pools select | |
- name: upload pools test results | |
if: failure() | |
id: pools-test-results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: prod-pools-test-results-${{ github.run_id }} | |
path: packages/e2e/playwright-report |