Skip to content

Commit

Permalink
Split Limit orders and swaps (#3817)
Browse files Browse the repository at this point in the history
* Split Limit orders and swaps
  • Loading branch information
yury-dubinin authored Sep 2, 2024
1 parent 1df07fd commit dea7c21
Show file tree
Hide file tree
Showing 2 changed files with 239 additions and 122 deletions.
236 changes: 236 additions & 0 deletions .github/workflows/monitoring-limit-geo-e2e-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,236 @@
name: Synthetic Limit Orders Geo Monitoring Frontend tests

on:
workflow_dispatch:
schedule:
- cron: "0 * * * *"

jobs:
fe-trade-eu-tests:
timeout-minutes: 10
name: prod-fe-trade-eu-tests
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 Swap tests in EU
env:
BASE_URL: "https://app.osmosis.zone"
TEST_PROXY: "http://138.68.112.16:8888"
TEST_PROXY_USERNAME: ${{ secrets.TEST_PROXY_USERNAME }}
TEST_PROXY_PASSWORD: ${{ secrets.TEST_PROXY_PASSWORD }}
PRIVATE_KEY: ${{ secrets.TEST_PRIVATE_KEY_2 }}
USE_TEST_PROXY: "use"
run: |
cd packages/web
npx playwright test monitoring --timeout 180000
- name: upload monitoring test results
if: failure()
id: monitoring-test-results
uses: actions/upload-artifact@v4
with:
name: eu-trade-test-results
path: packages/web/playwright-report
- name: Send Slack alert if test fails
id: slack
if: failure()
uses: slackapi/[email protected]
with:
payload: |
{
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "🚨 Synthetic EU Prod Trade Monitoring Tests Failure Alert 🚨"
}
},
{
"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

fe-trade-sg-tests:
timeout-minutes: 10
name: prod-fe-trade-sg-tests
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 Swap tests in SG
env:
BASE_URL: "https://app.osmosis.zone"
TEST_PROXY: "http://139.59.218.19:8888"
TEST_PROXY_USERNAME: ${{ secrets.TEST_PROXY_USERNAME }}
TEST_PROXY_PASSWORD: ${{ secrets.TEST_PROXY_PASSWORD }}
PRIVATE_KEY: ${{ secrets.TEST_PRIVATE_KEY_2 }}
USE_TEST_PROXY: "use"
run: |
cd packages/web
npx playwright test monitoring --timeout 180000
- name: upload monitoring test results
if: failure()
id: monitoring-test-results
uses: actions/upload-artifact@v4
with:
name: sg-trade-test-results
path: packages/web/playwright-report
- name: Send Slack alert if test fails
id: slack
if: failure()
uses: slackapi/[email protected]
with:
payload: |
{
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "🚨 Synthetic SG Prod Trade Monitoring Tests Failure Alert 🚨"
}
},
{
"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

fe-trade-us-tests:
timeout-minutes: 10
name: prod-fe-trade-us-tests
needs: fe-trade-eu-tests
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 Swap tests in US
env:
BASE_URL: "https://app.osmosis.zone"
PRIVATE_KEY: ${{ secrets.TEST_PRIVATE_KEY_1 }}
run: |
cd packages/web
npx playwright test monitoring --timeout 180000
- name: upload monitoring test results
if: failure()
id: monitoring-test-results
uses: actions/upload-artifact@v4
with:
name: us-trade-test-results
path: packages/web/playwright-report
- name: Send Slack alert if test fails
id: slack
if: failure()
uses: slackapi/[email protected]
with:
payload: |
{
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "🚨 Synthetic SG Prod Trade Monitoring Tests Failure Alert 🚨"
}
},
{
"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

delete-deployments:
runs-on: ubuntu-latest
if: always()
needs: [fe-trade-eu-tests, fe-trade-us-tests, fe-trade-sg-tests]
steps:
- name: Delete Previous deployments
uses: actions/github-script@v7
with:
debug: true
script: |
const deployments = await github.rest.repos.listDeployments({
owner: context.repo.owner,
repo: context.repo.repo,
sha: context.sha
});
await Promise.all(
deployments.data.map(async (deployment) => {
await github.rest.repos.createDeploymentStatus({
owner: context.repo.owner,
repo: context.repo.repo,
deployment_id: deployment.id,
state: 'inactive'
});
return github.rest.repos.deleteDeployment({
owner: context.repo.owner,
repo: context.repo.repo,
deployment_id: deployment.id
});
})
);
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: Synthetic Geo Monitoring Frontend tests
name: Synthetic Swaps Geo Monitoring Frontend tests

on:
workflow_dispatch:
schedule:
- cron: "*/20 * * * *"
- cron: "*/25 * * * *"

jobs:
setup-matrix:
Expand Down Expand Up @@ -217,130 +217,11 @@ jobs:
name: sg-swap-test-results
path: packages/web/playwright-report

fe-trade-eu-tests:
timeout-minutes: 10
needs: fe-swap-sg-tests
name: prod-fe-trade-eu-tests
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 Swap tests in EU
env:
BASE_URL: "https://app.osmosis.zone"
TEST_PROXY: "http://138.68.112.16:8888"
TEST_PROXY_USERNAME: ${{ secrets.TEST_PROXY_USERNAME }}
TEST_PROXY_PASSWORD: ${{ secrets.TEST_PROXY_PASSWORD }}
PRIVATE_KEY: ${{ secrets.TEST_PRIVATE_KEY_2 }}
USE_TEST_PROXY: "use"
run: |
cd packages/web
npx playwright test monitoring --timeout 180000
- name: upload monitoring test results
if: failure()
id: monitoring-test-results
uses: actions/upload-artifact@v4
with:
name: eu-trade-test-results
path: packages/web/playwright-report
- name: Send Slack alert if test fails
id: slack
if: failure()
uses: slackapi/[email protected]
with:
payload: |
{
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "🚨 Synthetic EU Trade Monitoring Tests Failure Alert 🚨"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Production 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

fe-trade-us-tests:
timeout-minutes: 10
needs: fe-swap-us-tests
name: prod-fe-trade-us-tests
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 Swap tests in US
env:
BASE_URL: "https://app.osmosis.zone"
PRIVATE_KEY: ${{ secrets.TEST_PRIVATE_KEY_1 }}
run: |
cd packages/web
npx playwright test monitoring --timeout 180000
- name: upload monitoring test results
if: failure()
id: monitoring-test-results
uses: actions/upload-artifact@v4
with:
name: us-trade-test-results
path: packages/web/playwright-report

delete-deployments:
runs-on: ubuntu-latest
if: always()
needs:
[
fe-quote-tests,
fe-swap-us-tests,
fe-swap-sg-tests,
fe-swap-eu-tests,
fe-trade-eu-tests,
fe-trade-us-tests,
]
[fe-quote-tests, fe-swap-us-tests, fe-swap-sg-tests, fe-swap-eu-tests]
steps:
- name: Delete Previous deployments
uses: actions/github-script@v7
Expand Down

0 comments on commit dea7c21

Please sign in to comment.