From 7da8f1e87cd0f0539d2dc8c0d880000a9e76c9b7 Mon Sep 17 00:00:00 2001 From: _den <_den@outlook.com> Date: Tue, 28 Jun 2022 00:03:47 +1000 Subject: [PATCH 01/14] added e2e tests to CI (with netlify) --- .github/workflows/nodejs.yml | 309 +++++++++++++++++++++++++++++ .github/workflows/pr-test.yml | 352 ++++++++++++++++++++++++++++++++++ 2 files changed, 661 insertions(+) create mode 100644 .github/workflows/pr-test.yml diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 8b02d5d..5d03504 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -111,6 +111,29 @@ jobs: PINATA_API_KEY: ${{ secrets.PINATA_API_KEY }} PINATA_SECRET_API_KEY: ${{ secrets.PINATA_SECRET_API_KEY }} + deploy-netlify: + runs-on: ubuntu-latest + needs: build + outputs: + deploy-url: ${{ steps.deploy-to-netlify.outputs.deploy-url }} + steps: + - uses: actions/checkout@v2 + - name: Download artifact `dist` + uses: actions/download-artifact@v1 + with: + name: dist + - name: Deploy to Netlify + id: deploy-to-netlify + uses: nwtgck/actions-netlify@v1.2 + timeout-minutes: 1 + with: + publish-dir: './dist' + #production-branch: master + alias: ${{ github.ref_name }} + env: + NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} + NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} + notify: runs-on: ubuntu-latest if: always() @@ -118,6 +141,7 @@ jobs: - deploy-minified - deploy-docker - deploy-ipfs + - deploy-netlify steps: # ${{ env.WORKFLOW_CONCLUSION }} # neutral, success, cancelled, timed_out, failure - uses: technote-space/workflow-conclusion-action@v2 @@ -140,3 +164,288 @@ jobs: format: markdown to: ${{ secrets.TELEGRAM_CHAT_ID }} token: ${{ secrets.TELEGRAM_BOT_TOKEN }} + + tests-smoke: + name: Fast tests - open url and check wallet connection + needs: deploy-netlify + runs-on: [self-hosted] + steps: + - name: Checkout e2e-test repo + uses: actions/checkout@v3 + with: + repository: ${{ secrets.E2E_REPO }} + ssh-key: ${{ secrets.ACCESS_KEY_E2E }} + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.9' + - name: Install Python dependencies + uses: py-actions/py-dependency-install@v3 + - name: Install google-chrome + run: | + set -ex + wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb + sudo apt install -y ./google-chrome-stable_current_amd64.deb + - name: Prepare + run: | + touch scripts/dir.txt + - name: Test 1 + run: | + xvfb-run pytest -m smoke + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + + tests-mainnet: + name: Mainnet tests - note account, relayer, wallet + needs: tests-smoke + runs-on: [self-hosted] + steps: + - name: Checkout e2e-test repo + uses: actions/checkout@v3 + with: + repository: ${{ secrets.E2E_REPO }} + ssh-key: ${{ secrets.ACCESS_KEY_E2E }} + - uses: actions/setup-node@v3 + with: + node-version: 16.14 + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: '3.10' + - name: Install Python dependencies + uses: py-actions/py-dependency-install@v3 + - name: Install google-chrome + run: | + set -ex + wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb + sudo apt install -y ./google-chrome-stable_current_amd64.deb + - name: Checkout registry ui + uses: actions/checkout@v3 + with: + repository: peppersec/test-registry-ui + path: test-registry-ui + - name: Install test registry ui + working-directory: ./test-registry-ui/ + run: | + npm install --global yarn + yarn + - name: run fork + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.E2E_RUN_FORK_URL }} + username: ${{ secrets.E2E_FORK_USER }} + key: ${{ secrets.ACCESS_KEY_E2E }} + script: ./fork.sh -t 1d -n ${{ secrets.E2E_RELAYER_NAME }} -i 3000 + - name: Sleep for 5 sec + run: sleep 5 + - name: Run load money script + working-directory: ./test-registry-ui/ + run: | + yarn start + env: + RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + WALLET_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + MAINNET_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Sleep for 5 sec + run: sleep 5 + - name: run relayer + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.E2E_RUN_RELAYER_URL }} + username: ${{ secrets.E2E_FORK_USER }} + key: ${{ secrets.ACCESS_KEY_E2E }} + script: ./run.sh + - name: Prepare tests + run: | + mkdir screenshots + touch scripts/dir.txt + - name: Test 1 - Note account on Mainnet + run: | + pytest -m note_account + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 2 - Deposit ETH on Mainnet and Withdraw with Relayer + if: always() + run: | + pytest -m mainnet_relayer + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 3 - Deposit ETH on Mainnet and Withdraw with Wallet + if: always() + run: | + pytest -m mainnet_fast + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 4 - Deposit USDC on Mainnet and Withdraw with Relayer + if: always() + run: | + pytest -s -v -x -m mainnet_relayer_usdc --alluredir=./allure_results + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 5 - Deposit USDC on Mainnet and Withdraw with Wallet + if: always() + run: | + pytest -m mainnet_fast_usdc + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 6 - Deposit USDT on Mainnet and Withdraw with Relayer + if: always() + run: | + pytest -m mainnet_relayer_usdt + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 7 - Deposit USDT on Mainnet and Withdraw with Wallet + if: always() + run: | + pytest -s -v -x -m mainnet_fast_usdt + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 8 - Deposit DAI on Mainnet and Withdraw with Relayer + if: always() + run: | + pytest -m mainnet_relayer_dai + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 9 - Deposit DAI on Mainnet and Withdraw with Wallet + if: always() + run: | + pytest -m mainnet_fast_dai + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 10 - Deposit cDAI on Mainnet and Withdraw with Relayer + if: always() + run: | + pytest -m mainnet_relayer_cdai + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 11 - Deposit cDAI on Mainnet and Withdraw with Wallet + if: always() + run: | + pytest -m mainnet_fast_cdai + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 12 - Deposit WBTC on Mainnet and Withdraw with Relayer + if: always() + run: | + pytest -m mainnet_relayer_wbtc + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 13 - Deposit WBTC on Mainnet and Withdraw with Wallet + if: always() + run: | + pytest -m mainnet_fast_wbtc + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + + - name: Upload artefact + if: always() + uses: actions/upload-artifact@v1.0.0 + with: + name: screenshots + path: screenshots/ diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml new file mode 100644 index 0000000..5e5b90d --- /dev/null +++ b/.github/workflows/pr-test.yml @@ -0,0 +1,352 @@ +name: pr tests + +on: pull_request + +jobs: + cleanup: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - name: Remove old artifacts + uses: c-hive/gha-remove-artifacts@v1 + with: + age: 0 days + skip-tags: true + skip-recent: 2 + + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: 14 + - run: yarn install + - name: Linting JS + run: yarn lint + - name: Build + run: yarn generate + env: + INFURA_KEY: ${{ secrets.INFURA_KEY }} + ALCHEMY_MAINNET_KEY: ${{ secrets.ALCHEMY_MAINNET_KEY }} + ALCHEMY_POLYGON_KEY: ${{ secrets.ALCHEMY_POLYGON_KEY }} + ALCHEMY_OPTIMISM_KEY: ${{ secrets.ALCHEMY_OPTIMISM_KEY }} + ALCHEMY_ARBITRUM_KEY: ${{ secrets.ALCHEMY_ARBITRUM_KEY }} + ALCHEMY_GOERLI_KEY: ${{ secrets.ALCHEMY_GOERLI_KEY }} + WC_BRIDGE: ${{ secrets.WC_BRIDGE }} + OLD_STORE_NAME: ${{ secrets.OLD_STORE_NAME }} + STORE_NAME: ${{ secrets.STORE_NAME }} + APP_ENS_NAME: ${{ secrets.APP_ENS_NAME }} + - name: Upload artefact + uses: actions/upload-artifact@v1.0.0 + with: + name: dist + path: dist + + deploy-netlify: + runs-on: ubuntu-latest + needs: build + outputs: + deploy-url: ${{ steps.deploy-to-netlify.outputs.deploy-url }} + steps: + - uses: actions/checkout@v2 + - name: Download artifact `dist` + uses: actions/download-artifact@v1 + with: + name: dist + - name: Deploy to Netlify + id: deploy-to-netlify + uses: nwtgck/actions-netlify@v1.2 + timeout-minutes: 1 + with: + publish-dir: './dist' + #production-branch: master + alias: deploy-preview-${{ github.event.number }} + env: + NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} + NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} + + tests-smoke: + name: Fast tests - open url and check wallet connection + needs: deploy-netlify + runs-on: [self-hosted] + steps: + - name: Checkout e2e-test repo + uses: actions/checkout@v3 + with: + repository: ${{ secrets.E2E_REPO }} + ssh-key: ${{ secrets.ACCESS_KEY_E2E }} + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.9' + - name: Install Python dependencies + uses: py-actions/py-dependency-install@v3 + - name: Install google-chrome + run: | + set -ex + wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb + sudo apt install -y ./google-chrome-stable_current_amd64.deb + - name: Prepare + run: | + touch scripts/dir.txt + - name: Test 1 + run: | + xvfb-run pytest -m smoke + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + + tests-mainnet: + name: Mainnet tests - note account, relayer, wallet + needs: tests-smoke + runs-on: [self-hosted] + steps: + - name: Checkout e2e-test repo + uses: actions/checkout@v3 + with: + repository: ${{ secrets.E2E_REPO }} + ssh-key: ${{ secrets.ACCESS_KEY_E2E }} + - uses: actions/setup-node@v3 + with: + node-version: 16.14 + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: '3.10' + - name: Install Python dependencies + uses: py-actions/py-dependency-install@v3 + - name: Install google-chrome + run: | + set -ex + wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb + sudo apt install -y ./google-chrome-stable_current_amd64.deb + - name: Checkout registry ui + uses: actions/checkout@v3 + with: + repository: peppersec/test-registry-ui + path: test-registry-ui + - name: Install test registry ui + working-directory: ./test-registry-ui/ + run: | + npm install --global yarn + yarn + - name: run fork + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.E2E_RUN_FORK_URL }} + username: ${{ secrets.E2E_FORK_USER }} + key: ${{ secrets.ACCESS_KEY_E2E }} + script: ./fork.sh -t 1d -n ${{ secrets.E2E_RELAYER_NAME }} -i 3000 + - name: Sleep for 5 sec + run: sleep 5 + - name: Run load money script + working-directory: ./test-registry-ui/ + run: | + yarn start + env: + RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + WALLET_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + MAINNET_RELAYER_URL: ${{ secrE2E_ets.RUN_RELAYER_URL }} + - name: Sleep for 5 sec + run: sleep 5 + - name: run relayer + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.RUN_RELAYERE2E__URL }} + username: ${{ secrets.E2E_FORK_USER }} + key: ${{ secrets.ACCESS_KEY_E2E }} + script: ./run.sh + - name: Prepare tests + run: | + mkdir screenshots + touch scripts/dir.txt + - name: Test 1 - Note account on Mainnet + run: | + pytest -m note_account + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 2 - Deposit ETH on Mainnet and Withdraw with Relayer + if: always() + run: | + pytest -m mainnet_relayer + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 3 - Deposit ETH on Mainnet and Withdraw with Wallet + if: always() + run: | + pytest -m mainnet_fast + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 4 - Deposit USDC on Mainnet and Withdraw with Relayer + if: always() + run: | + pytest -s -v -x -m mainnet_relayer_usdc --alluredir=./allure_results + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 5 - Deposit USDC on Mainnet and Withdraw with Wallet + if: always() + run: | + pytest -m mainnet_fast_usdc + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 6 - Deposit USDT on Mainnet and Withdraw with Relayer + if: always() + run: | + pytest -m mainnet_relayer_usdt + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 7 - Deposit USDT on Mainnet and Withdraw with Wallet + if: always() + run: | + pytest -s -v -x -m mainnet_fast_usdt + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 8 - Deposit DAI on Mainnet and Withdraw with Relayer + if: always() + run: | + pytest -m mainnet_relayer_dai + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 9 - Deposit DAI on Mainnet and Withdraw with Wallet + if: always() + run: | + pytest -m mainnet_fast_dai + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 10 - Deposit cDAI on Mainnet and Withdraw with Relayer + if: always() + run: | + pytest -m mainnet_relayer_cdai + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 11 - Deposit cDAI on Mainnet and Withdraw with Wallet + if: always() + run: | + pytest -m mainnet_fast_cdai + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 12 - Deposit WBTC on Mainnet and Withdraw with Relayer + if: always() + run: | + pytest -m mainnet_relayer_wbtc + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + - name: Test 13 - Deposit WBTC on Mainnet and Withdraw with Wallet + if: always() + run: | + pytest -m mainnet_fast_wbtc + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + + - name: Upload artefact + if: always() + uses: actions/upload-artifact@v1.0.0 + with: + name: screenshots + path: screenshots/ \ No newline at end of file From 1da7c88f41417096ae08782ae98bcdda4d16843c Mon Sep 17 00:00:00 2001 From: _den <_den@outlook.com> Date: Tue, 28 Jun 2022 19:51:15 +1000 Subject: [PATCH 02/14] added thegraph blocking --- .github/workflows/nodejs.yml | 3 ++- .github/workflows/pr-test.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 5d03504..fcadb53 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -261,6 +261,7 @@ jobs: run: | mkdir screenshots touch scripts/dir.txt + echo "127.0.0.1 api.thegraph.com" >> /etc/hosts - name: Test 1 - Note account on Mainnet run: | pytest -m note_account @@ -305,7 +306,7 @@ jobs: - name: Test 4 - Deposit USDC on Mainnet and Withdraw with Relayer if: always() run: | - pytest -s -v -x -m mainnet_relayer_usdc --alluredir=./allure_results + pytest -s -v -x -m mainnet_relayer_usdc env: URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 5e5b90d..5c64d33 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -162,6 +162,7 @@ jobs: run: | mkdir screenshots touch scripts/dir.txt + echo "127.0.0.1 api.thegraph.com" >> /etc/hosts - name: Test 1 - Note account on Mainnet run: | pytest -m note_account @@ -206,7 +207,7 @@ jobs: - name: Test 4 - Deposit USDC on Mainnet and Withdraw with Relayer if: always() run: | - pytest -s -v -x -m mainnet_relayer_usdc --alluredir=./allure_results + pytest -s -v -x -m mainnet_relayer_usdc env: URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} From 036eef0d63b591ec82d2a8ac7c830a720380c419 Mon Sep 17 00:00:00 2001 From: _den <_den@outlook.com> Date: Wed, 29 Jun 2022 19:58:47 +1000 Subject: [PATCH 03/14] removed tests from ci on push to master --- .github/workflows/nodejs.yml | 312 +---------------------------------- 1 file changed, 1 insertion(+), 311 deletions(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index fcadb53..d6f5a0c 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -111,29 +111,6 @@ jobs: PINATA_API_KEY: ${{ secrets.PINATA_API_KEY }} PINATA_SECRET_API_KEY: ${{ secrets.PINATA_SECRET_API_KEY }} - deploy-netlify: - runs-on: ubuntu-latest - needs: build - outputs: - deploy-url: ${{ steps.deploy-to-netlify.outputs.deploy-url }} - steps: - - uses: actions/checkout@v2 - - name: Download artifact `dist` - uses: actions/download-artifact@v1 - with: - name: dist - - name: Deploy to Netlify - id: deploy-to-netlify - uses: nwtgck/actions-netlify@v1.2 - timeout-minutes: 1 - with: - publish-dir: './dist' - #production-branch: master - alias: ${{ github.ref_name }} - env: - NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} - NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} - notify: runs-on: ubuntu-latest if: always() @@ -141,7 +118,6 @@ jobs: - deploy-minified - deploy-docker - deploy-ipfs - - deploy-netlify steps: # ${{ env.WORKFLOW_CONCLUSION }} # neutral, success, cancelled, timed_out, failure - uses: technote-space/workflow-conclusion-action@v2 @@ -163,290 +139,4 @@ jobs: message: ❗ Build failed for [${{ github.repository }}](https://github.com/${{ github.repository }}/actions) because of ${{ github.actor }} format: markdown to: ${{ secrets.TELEGRAM_CHAT_ID }} - token: ${{ secrets.TELEGRAM_BOT_TOKEN }} - - tests-smoke: - name: Fast tests - open url and check wallet connection - needs: deploy-netlify - runs-on: [self-hosted] - steps: - - name: Checkout e2e-test repo - uses: actions/checkout@v3 - with: - repository: ${{ secrets.E2E_REPO }} - ssh-key: ${{ secrets.ACCESS_KEY_E2E }} - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: '3.9' - - name: Install Python dependencies - uses: py-actions/py-dependency-install@v3 - - name: Install google-chrome - run: | - set -ex - wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb - sudo apt install -y ./google-chrome-stable_current_amd64.deb - - name: Prepare - run: | - touch scripts/dir.txt - - name: Test 1 - run: | - xvfb-run pytest -m smoke - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - - tests-mainnet: - name: Mainnet tests - note account, relayer, wallet - needs: tests-smoke - runs-on: [self-hosted] - steps: - - name: Checkout e2e-test repo - uses: actions/checkout@v3 - with: - repository: ${{ secrets.E2E_REPO }} - ssh-key: ${{ secrets.ACCESS_KEY_E2E }} - - uses: actions/setup-node@v3 - with: - node-version: 16.14 - - name: Set up Python - uses: actions/setup-python@v3 - with: - python-version: '3.10' - - name: Install Python dependencies - uses: py-actions/py-dependency-install@v3 - - name: Install google-chrome - run: | - set -ex - wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb - sudo apt install -y ./google-chrome-stable_current_amd64.deb - - name: Checkout registry ui - uses: actions/checkout@v3 - with: - repository: peppersec/test-registry-ui - path: test-registry-ui - - name: Install test registry ui - working-directory: ./test-registry-ui/ - run: | - npm install --global yarn - yarn - - name: run fork - uses: appleboy/ssh-action@master - with: - host: ${{ secrets.E2E_RUN_FORK_URL }} - username: ${{ secrets.E2E_FORK_USER }} - key: ${{ secrets.ACCESS_KEY_E2E }} - script: ./fork.sh -t 1d -n ${{ secrets.E2E_RELAYER_NAME }} -i 3000 - - name: Sleep for 5 sec - run: sleep 5 - - name: Run load money script - working-directory: ./test-registry-ui/ - run: | - yarn start - env: - RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - WALLET_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - MAINNET_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - - name: Sleep for 5 sec - run: sleep 5 - - name: run relayer - uses: appleboy/ssh-action@master - with: - host: ${{ secrets.E2E_RUN_RELAYER_URL }} - username: ${{ secrets.E2E_FORK_USER }} - key: ${{ secrets.ACCESS_KEY_E2E }} - script: ./run.sh - - name: Prepare tests - run: | - mkdir screenshots - touch scripts/dir.txt - echo "127.0.0.1 api.thegraph.com" >> /etc/hosts - - name: Test 1 - Note account on Mainnet - run: | - pytest -m note_account - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - - name: Test 2 - Deposit ETH on Mainnet and Withdraw with Relayer - if: always() - run: | - pytest -m mainnet_relayer - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - - name: Test 3 - Deposit ETH on Mainnet and Withdraw with Wallet - if: always() - run: | - pytest -m mainnet_fast - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - - name: Test 4 - Deposit USDC on Mainnet and Withdraw with Relayer - if: always() - run: | - pytest -s -v -x -m mainnet_relayer_usdc - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - - name: Test 5 - Deposit USDC on Mainnet and Withdraw with Wallet - if: always() - run: | - pytest -m mainnet_fast_usdc - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - - name: Test 6 - Deposit USDT on Mainnet and Withdraw with Relayer - if: always() - run: | - pytest -m mainnet_relayer_usdt - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - - name: Test 7 - Deposit USDT on Mainnet and Withdraw with Wallet - if: always() - run: | - pytest -s -v -x -m mainnet_fast_usdt - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - - name: Test 8 - Deposit DAI on Mainnet and Withdraw with Relayer - if: always() - run: | - pytest -m mainnet_relayer_dai - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - - name: Test 9 - Deposit DAI on Mainnet and Withdraw with Wallet - if: always() - run: | - pytest -m mainnet_fast_dai - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - - name: Test 10 - Deposit cDAI on Mainnet and Withdraw with Relayer - if: always() - run: | - pytest -m mainnet_relayer_cdai - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - - name: Test 11 - Deposit cDAI on Mainnet and Withdraw with Wallet - if: always() - run: | - pytest -m mainnet_fast_cdai - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - - name: Test 12 - Deposit WBTC on Mainnet and Withdraw with Relayer - if: always() - run: | - pytest -m mainnet_relayer_wbtc - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - - name: Test 13 - Deposit WBTC on Mainnet and Withdraw with Wallet - if: always() - run: | - pytest -m mainnet_fast_wbtc - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - - - name: Upload artefact - if: always() - uses: actions/upload-artifact@v1.0.0 - with: - name: screenshots - path: screenshots/ + token: ${{ secrets.TELEGRAM_BOT_TOKEN }} \ No newline at end of file From 01dfdbf207be4686aab0000b436add47da60d77e Mon Sep 17 00:00:00 2001 From: _den <_den@outlook.com> Date: Thu, 30 Jun 2022 12:02:55 +1000 Subject: [PATCH 04/14] updated action for tests --- .github/workflows/nodejs.yml | 2 +- .github/workflows/{pr-test.yml => tests-on-pr.yml} | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) rename .github/workflows/{pr-test.yml => tests-on-pr.yml} (98%) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index d6f5a0c..8b02d5d 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -139,4 +139,4 @@ jobs: message: ❗ Build failed for [${{ github.repository }}](https://github.com/${{ github.repository }}/actions) because of ${{ github.actor }} format: markdown to: ${{ secrets.TELEGRAM_CHAT_ID }} - token: ${{ secrets.TELEGRAM_BOT_TOKEN }} \ No newline at end of file + token: ${{ secrets.TELEGRAM_BOT_TOKEN }} diff --git a/.github/workflows/pr-test.yml b/.github/workflows/tests-on-pr.yml similarity index 98% rename from .github/workflows/pr-test.yml rename to .github/workflows/tests-on-pr.yml index 5c64d33..b61992e 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/tests-on-pr.yml @@ -1,6 +1,8 @@ name: pr tests -on: pull_request +on: + pull_request: + branches: [ master ] jobs: cleanup: @@ -74,7 +76,7 @@ jobs: - name: Checkout e2e-test repo uses: actions/checkout@v3 with: - repository: ${{ secrets.E2E_REPO }} + repository: ${{ secrets.E2E_REPOSITORY }} ssh-key: ${{ secrets.ACCESS_KEY_E2E }} - name: Set up Python uses: actions/setup-python@v2 @@ -106,7 +108,7 @@ jobs: - name: Checkout e2e-test repo uses: actions/checkout@v3 with: - repository: ${{ secrets.E2E_REPO }} + repository: ${{ secrets.E2E_REPOSITORY }} ssh-key: ${{ secrets.ACCESS_KEY_E2E }} - uses: actions/setup-node@v3 with: @@ -125,7 +127,7 @@ jobs: - name: Checkout registry ui uses: actions/checkout@v3 with: - repository: peppersec/test-registry-ui + repository: ${{ secrets.E2E_TEST_REGISTRY_UI }} path: test-registry-ui - name: Install test registry ui working-directory: ./test-registry-ui/ @@ -350,4 +352,4 @@ jobs: uses: actions/upload-artifact@v1.0.0 with: name: screenshots - path: screenshots/ \ No newline at end of file + path: screenshots/ From d562c0110b51f98819914760060122ad0711dab3 Mon Sep 17 00:00:00 2001 From: _den <_den@outlook.com> Date: Thu, 30 Jun 2022 17:57:29 +1000 Subject: [PATCH 05/14] fixed env --- .github/workflows/tests-on-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests-on-pr.yml b/.github/workflows/tests-on-pr.yml index b61992e..4bc5a99 100644 --- a/.github/workflows/tests-on-pr.yml +++ b/.github/workflows/tests-on-pr.yml @@ -150,7 +150,7 @@ jobs: env: RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} WALLET_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - MAINNET_RELAYER_URL: ${{ secrE2E_ets.RUN_RELAYER_URL }} + MAINNET_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - name: Sleep for 5 sec run: sleep 5 - name: run relayer From 7a8cdcea0cc838c942e0bff8565c0fb16f3edcde Mon Sep 17 00:00:00 2001 From: _den <_den@outlook.com> Date: Thu, 30 Jun 2022 19:53:00 +1000 Subject: [PATCH 06/14] fixed env --- .github/workflows/tests-on-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests-on-pr.yml b/.github/workflows/tests-on-pr.yml index 4bc5a99..8dcb198 100644 --- a/.github/workflows/tests-on-pr.yml +++ b/.github/workflows/tests-on-pr.yml @@ -156,7 +156,7 @@ jobs: - name: run relayer uses: appleboy/ssh-action@master with: - host: ${{ secrets.RUN_RELAYERE2E__URL }} + host: ${{ secrets.E2E_RUN_RELAYER_URL }} username: ${{ secrets.E2E_FORK_USER }} key: ${{ secrets.ACCESS_KEY_E2E }} script: ./run.sh From 6582c57ecce4bae1ab95a4c5a67b679320e46f80 Mon Sep 17 00:00:00 2001 From: _den <_den@outlook.com> Date: Fri, 1 Jul 2022 12:41:38 +1000 Subject: [PATCH 07/14] added pr comment --- .github/workflows/tests-on-pr.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests-on-pr.yml b/.github/workflows/tests-on-pr.yml index 8dcb198..477bc6e 100644 --- a/.github/workflows/tests-on-pr.yml +++ b/.github/workflows/tests-on-pr.yml @@ -63,7 +63,8 @@ jobs: with: publish-dir: './dist' #production-branch: master - alias: deploy-preview-${{ github.event.number }} + deploy-message: Deploy from GitHub Actions PR-${{ github.event.number }} + github-token: ${{ secrets.GITHUB_TOKEN }} env: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} From 3384684d7e37d693b66c8d29a63cbab672f9c3e9 Mon Sep 17 00:00:00 2001 From: _den <_den@outlook.com> Date: Fri, 1 Jul 2022 17:27:33 +1000 Subject: [PATCH 08/14] renamed artifact to dist-pr --- .github/workflows/tests-on-pr.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests-on-pr.yml b/.github/workflows/tests-on-pr.yml index 477bc6e..a9ad29d 100644 --- a/.github/workflows/tests-on-pr.yml +++ b/.github/workflows/tests-on-pr.yml @@ -42,7 +42,7 @@ jobs: - name: Upload artefact uses: actions/upload-artifact@v1.0.0 with: - name: dist + name: dist-pr path: dist deploy-netlify: @@ -52,10 +52,10 @@ jobs: deploy-url: ${{ steps.deploy-to-netlify.outputs.deploy-url }} steps: - uses: actions/checkout@v2 - - name: Download artifact `dist` + - name: Download artifact `dist-pr` uses: actions/download-artifact@v1 with: - name: dist + name: dist-pr - name: Deploy to Netlify id: deploy-to-netlify uses: nwtgck/actions-netlify@v1.2 From f9702bc6505410008dd88b94a158826aaabab874 Mon Sep 17 00:00:00 2001 From: _den <_den@outlook.com> Date: Fri, 1 Jul 2022 18:54:37 +1000 Subject: [PATCH 09/14] fixed artifact path --- .github/workflows/tests-on-pr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests-on-pr.yml b/.github/workflows/tests-on-pr.yml index a9ad29d..8e75756 100644 --- a/.github/workflows/tests-on-pr.yml +++ b/.github/workflows/tests-on-pr.yml @@ -56,6 +56,7 @@ jobs: uses: actions/download-artifact@v1 with: name: dist-pr + path: dist - name: Deploy to Netlify id: deploy-to-netlify uses: nwtgck/actions-netlify@v1.2 From ee6689499969bcac0480c528b316e9045137704d Mon Sep 17 00:00:00 2001 From: _den <_den@outlook.com> Date: Fri, 1 Jul 2022 19:02:31 +1000 Subject: [PATCH 10/14] fixed netlify url --- .github/workflows/tests-on-pr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests-on-pr.yml b/.github/workflows/tests-on-pr.yml index 8e75756..947e92a 100644 --- a/.github/workflows/tests-on-pr.yml +++ b/.github/workflows/tests-on-pr.yml @@ -64,6 +64,7 @@ jobs: with: publish-dir: './dist' #production-branch: master + alias: deploy-preview-${{ github.event.number }} deploy-message: Deploy from GitHub Actions PR-${{ github.event.number }} github-token: ${{ secrets.GITHUB_TOKEN }} env: From 6e60d41e8fad02c5432c99ea12d96000268b10cf Mon Sep 17 00:00:00 2001 From: _den <_den@outlook.com> Date: Tue, 5 Jul 2022 20:42:49 +1000 Subject: [PATCH 11/14] updated env --- .github/workflows/tests-on-pr.yml | 202 ++++++------------------------ 1 file changed, 41 insertions(+), 161 deletions(-) diff --git a/.github/workflows/tests-on-pr.yml b/.github/workflows/tests-on-pr.yml index 947e92a..ac8503d 100644 --- a/.github/workflows/tests-on-pr.yml +++ b/.github/workflows/tests-on-pr.yml @@ -95,6 +95,7 @@ jobs: - name: Prepare run: | touch scripts/dir.txt + - name: Test 1 run: | xvfb-run pytest -m smoke @@ -107,8 +108,18 @@ jobs: name: Mainnet tests - note account, relayer, wallet needs: tests-smoke runs-on: [self-hosted] + env: + URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} + METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} + METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} + FORK_USER: ${{ secrets.E2E_FORK_USER }} + RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} + TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} steps: - - name: Checkout e2e-test repo + - name: Checkout e2e-tests repo uses: actions/checkout@v3 with: repository: ${{ secrets.E2E_REPOSITORY }} @@ -137,7 +148,7 @@ jobs: run: | npm install --global yarn yarn - - name: run fork + - name: Run fork uses: appleboy/ssh-action@master with: host: ${{ secrets.E2E_RUN_FORK_URL }} @@ -148,15 +159,14 @@ jobs: run: sleep 5 - name: Run load money script working-directory: ./test-registry-ui/ - run: | - yarn start + run: yarn start env: RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} WALLET_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} MAINNET_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - name: Sleep for 5 sec run: sleep 5 - - name: run relayer + - name: Run relayer uses: appleboy/ssh-action@master with: host: ${{ secrets.E2E_RUN_RELAYER_URL }} @@ -168,187 +178,57 @@ jobs: mkdir screenshots touch scripts/dir.txt echo "127.0.0.1 api.thegraph.com" >> /etc/hosts + - name: Test 1 - Note account on Mainnet - run: | - pytest -m note_account - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + run: pytest -m note_account + - name: Test 2 - Deposit ETH on Mainnet and Withdraw with Relayer if: always() - run: | - pytest -m mainnet_relayer - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + run: pytest -m mainnet_relayer + - name: Test 3 - Deposit ETH on Mainnet and Withdraw with Wallet if: always() - run: | - pytest -m mainnet_fast - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + run: pytest -m mainnet_fast + - name: Test 4 - Deposit USDC on Mainnet and Withdraw with Relayer if: always() - run: | - pytest -s -v -x -m mainnet_relayer_usdc - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + run: pytest -s -v -x -m mainnet_relayer_usdc + - name: Test 5 - Deposit USDC on Mainnet and Withdraw with Wallet if: always() - run: | - pytest -m mainnet_fast_usdc - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + run: pytest -m mainnet_fast_usdc + - name: Test 6 - Deposit USDT on Mainnet and Withdraw with Relayer if: always() - run: | - pytest -m mainnet_relayer_usdt - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + run: pytest -m mainnet_relayer_usdt + - name: Test 7 - Deposit USDT on Mainnet and Withdraw with Wallet if: always() - run: | - pytest -s -v -x -m mainnet_fast_usdt - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + run: pytest -s -v -x -m mainnet_fast_usdt + - name: Test 8 - Deposit DAI on Mainnet and Withdraw with Relayer if: always() - run: | - pytest -m mainnet_relayer_dai - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + run: pytest -m mainnet_relayer_dai + - name: Test 9 - Deposit DAI on Mainnet and Withdraw with Wallet if: always() - run: | - pytest -m mainnet_fast_dai - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + run: pytest -m mainnet_fast_dai + - name: Test 10 - Deposit cDAI on Mainnet and Withdraw with Relayer if: always() - run: | - pytest -m mainnet_relayer_cdai - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + run: pytest -m mainnet_relayer_cdai + - name: Test 11 - Deposit cDAI on Mainnet and Withdraw with Wallet if: always() - run: | - pytest -m mainnet_fast_cdai - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + run: pytest -m mainnet_fast_cdai + - name: Test 12 - Deposit WBTC on Mainnet and Withdraw with Relayer if: always() - run: | - pytest -m mainnet_relayer_wbtc - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + run: pytest -m mainnet_relayer_wbtc + - name: Test 13 - Deposit WBTC on Mainnet and Withdraw with Wallet if: always() - run: | - pytest -m mainnet_fast_wbtc - env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} - RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + run: pytest -m mainnet_fast_wbtc - name: Upload artefact if: always() From c4083f7a96a2792be63998b3a1e9821f8a554d5e Mon Sep 17 00:00:00 2001 From: _den <_den@outlook.com> Date: Thu, 4 Aug 2022 14:28:53 +1000 Subject: [PATCH 12/14] added fork and relayer containers --- .github/workflows/tests-on-pr.yml | 271 +++++++++++++++++------------- 1 file changed, 154 insertions(+), 117 deletions(-) diff --git a/.github/workflows/tests-on-pr.yml b/.github/workflows/tests-on-pr.yml index ac8503d..7f5b231 100644 --- a/.github/workflows/tests-on-pr.yml +++ b/.github/workflows/tests-on-pr.yml @@ -71,164 +71,201 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} - tests-smoke: - name: Fast tests - open url and check wallet connection - needs: deploy-netlify + tests: runs-on: [self-hosted] - steps: - - name: Checkout e2e-test repo - uses: actions/checkout@v3 - with: - repository: ${{ secrets.E2E_REPOSITORY }} - ssh-key: ${{ secrets.ACCESS_KEY_E2E }} - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: '3.9' - - name: Install Python dependencies - uses: py-actions/py-dependency-install@v3 - - name: Install google-chrome - run: | - set -ex - wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb - sudo apt install -y ./google-chrome-stable_current_amd64.deb - - name: Prepare - run: | - touch scripts/dir.txt + services: + hardhat: + image: ghcr.io/feshchenkod/hardhat-docker:latest + env: + INTERVAL: 6000 + RPC_URL: ${{ secrets.E2E_RPC_MAINNET }} + ports: + - 8545:8545 + options: >- + --name hardhat + --hostname hardhat + --health-cmd "curl -sS http://127.0.0.1:8545/ || exit 1" + --health-interval 60s + --health-timeout 10s + --health-retries 5 + --health-start-period 30s - - name: Test 1 - run: | - xvfb-run pytest -m smoke + redis: + image: redis + options: >- + --name redis + --hostname redis + --health-cmd "redis-cli ping" + --health-interval 15s + --health-timeout 5s + --health-retries 5 + ports: + - 6379:6379 + + server: + image: tornadocash/relayer:mining + options: >- + --name server --hostname server + --health-cmd "curl -sS http://127.0.0.1:8000/ || exit 1" + --health-interval 20s + --health-timeout 5s + --health-retries 5 + --health-start-period 30s + -e HTTP_RPC_URL=http://hardhat:8545 + -e ORACLE_RPC_URL=http://hardhat:8545 + -e REDIS_URL=redis://redis:6379 + -e PRIVATE_KEY=2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6 + -e REWARD_ACCOUNT=0x090D03d9f18e9336416A515EfC1E47dB68bC270E + -e REGULAR_TORNADO_WITHDRAW_FEE=0.05 + -e MINING_SERVICE_FEE=0.05 + -e CONFIRMATIONS=1 + -e AGGREGATOR=0x8cb1436F64a3c33aD17bb42F94e255c4c0E871b2 + -e GITHUB_ACTIONS=true -e CI=true tornadocash/relayer:mining server // + ports: + - 8000:8000 + + priceWatcher: + image: tornadocash/relayer:mining + options: >- + --name priceWatcher --hostname priceWatcher + -e HTTP_RPC_URL=http://hardhat:8545 + -e ORACLE_RPC_URL=http://hardhat:8545 + -e REDIS_URL=redis://redis:6379 + -e PRIVATE_KEY=2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6 + -e REWARD_ACCOUNT=0x090D03d9f18e9336416A515EfC1E47dB68bC270E + -e REGULAR_TORNADO_WITHDRAW_FEE=0.05 + -e MINING_SERVICE_FEE=0.05 + -e CONFIRMATIONS=1 + -e MAX_GAS_PRICE=1000 + -e BASE_FEE_RESERVE_PERCENTAGE=25 + -e AGGREGATOR=0x8cb1436F64a3c33aD17bb42F94e255c4c0E871b2 + -e GITHUB_ACTIONS=true -e CI=true tornadocash/relayer:mining priceWatcher // + + healthWatcher: + image: tornadocash/relayer:mining + options: >- + --name healthWatcher --hostname healthWatcher + -e HTTP_RPC_URL=http://hardhat:8545 + -e ORACLE_RPC_URL=http://hardhat:8545 + -e REDIS_URL=redis://redis:6379 + -e PRIVATE_KEY=2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6 + -e REWARD_ACCOUNT=0x090D03d9f18e9336416A515EfC1E47dB68bC270E + -e REGULAR_TORNADO_WITHDRAW_FEE=0.05 + -e MINING_SERVICE_FEE=0.05 + -e CONFIRMATIONS=1 + -e MAX_GAS_PRICE=1000 + -e BASE_FEE_RESERVE_PERCENTAGE=25 + -e AGGREGATOR=0x8cb1436F64a3c33aD17bb42F94e255c4c0E871b2 + -e GITHUB_ACTIONS=true -e CI=true tornadocash/relayer:mining healthWatcher // + + worker1: + image: tornadocash/relayer:mining + options: >- + --name worker1 --hostname worker1 + -e HTTP_RPC_URL=http://hardhat:8545 + -e ORACLE_RPC_URL=http://hardhat:8545 + -e REDIS_URL=redis://redis:6379 + -e PRIVATE_KEY=2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6 + -e REWARD_ACCOUNT=0x090D03d9f18e9336416A515EfC1E47dB68bC270E + -e REGULAR_TORNADO_WITHDRAW_FEE=0.05 + -e MINING_SERVICE_FEE=0.05 + -e CONFIRMATIONS=1 + -e MAX_GAS_PRICE=1000 + -e BASE_FEE_RESERVE_PERCENTAGE=25 + -e AGGREGATOR=0x8cb1436F64a3c33aD17bb42F94e255c4c0E871b2 + -e GITHUB_ACTIONS=true -e CI=true tornadocash/relayer:mining worker // + + nginx-relayer: + image: ghcr.io/feshchenkod/nginx-self-signed:latest env: - URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} - METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} - METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} + UPSTREAM: server:8000 + SERVERNAME: ${{ secrets.E2E_RELAYER_SERVERNAME }} + FULLCHAIN_PEM: ${{ secrets.E2E_RELAYER_CERT }} + KEY_PEM: ${{ secrets.E2E_RELAYER_KEY }} + ports: + - 443:443 + options: >- + --name nginx-relayer --hostname nginx-relayer - tests-mainnet: - name: Mainnet tests - note account, relayer, wallet - needs: tests-smoke - runs-on: [self-hosted] env: URL_TC_CLASSIC: ${{ needs.deploy-netlify.outputs.deploy-url }} METAMASK_PASSWORD: ${{ secrets.E2E_METAMASK_PASSWORD }} METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - FORK_USER: ${{ secrets.E2E_FORK_USER }} - RUN_FORK_URL: ${{ secrets.E2E_RUN_FORK_URL }} - TEST_RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} + TEST_RPC_URL: http://127.0.0.1:8545 RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} - RUN_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} + RUN_RELAYER_URL: ${{ secrets.E2E_RELAYER_SERVERNAME }} + steps: - - name: Checkout e2e-tests repo + - name: Check out this repo uses: actions/checkout@v3 - with: - repository: ${{ secrets.E2E_REPOSITORY }} - ssh-key: ${{ secrets.ACCESS_KEY_E2E }} - uses: actions/setup-node@v3 with: node-version: 16.14 + - name: Set up Python uses: actions/setup-python@v3 with: python-version: '3.10' + - name: Install Python dependencies uses: py-actions/py-dependency-install@v3 + - name: Install google-chrome run: | set -ex wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo apt install -y ./google-chrome-stable_current_amd64.deb - - name: Checkout registry ui - uses: actions/checkout@v3 - with: - repository: ${{ secrets.E2E_TEST_REGISTRY_UI }} - path: test-registry-ui + + - name: Clone registry ui + run: | + git clone --depth 1 https://github.com/peppersec/test-registry-ui + - name: Install test registry ui working-directory: ./test-registry-ui/ run: | npm install --global yarn yarn - - name: Run fork - uses: appleboy/ssh-action@master - with: - host: ${{ secrets.E2E_RUN_FORK_URL }} - username: ${{ secrets.E2E_FORK_USER }} - key: ${{ secrets.ACCESS_KEY_E2E }} - script: ./fork.sh -t 1d -n ${{ secrets.E2E_RELAYER_NAME }} -i 3000 - - name: Sleep for 5 sec - run: sleep 5 - - name: Run load money script - working-directory: ./test-registry-ui/ - run: yarn start - env: - RPC_URL: ${{ secrets.E2E_TEST_RPC_URL }} - WALLET_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} - MAINNET_RELAYER_URL: ${{ secrets.E2E_RUN_RELAYER_URL }} - - name: Sleep for 5 sec - run: sleep 5 - - name: Run relayer - uses: appleboy/ssh-action@master - with: - host: ${{ secrets.E2E_RUN_RELAYER_URL }} - username: ${{ secrets.E2E_FORK_USER }} - key: ${{ secrets.ACCESS_KEY_E2E }} - script: ./run.sh + - name: Prepare tests run: | mkdir screenshots touch scripts/dir.txt - echo "127.0.0.1 api.thegraph.com" >> /etc/hosts - - - name: Test 1 - Note account on Mainnet - run: pytest -m note_account - - - name: Test 2 - Deposit ETH on Mainnet and Withdraw with Relayer - if: always() - run: pytest -m mainnet_relayer + echo "127.0.0.1 api.thegraph.com" | sudo tee -a /etc/hosts + echo "127.0.0.1 $RUN_RELAYER_URL" | sudo tee -a /etc/hosts - - name: Test 3 - Deposit ETH on Mainnet and Withdraw with Wallet - if: always() - run: pytest -m mainnet_fast - - - name: Test 4 - Deposit USDC on Mainnet and Withdraw with Relayer - if: always() - run: pytest -s -v -x -m mainnet_relayer_usdc - - - name: Test 5 - Deposit USDC on Mainnet and Withdraw with Wallet - if: always() - run: pytest -m mainnet_fast_usdc - - - name: Test 6 - Deposit USDT on Mainnet and Withdraw with Relayer - if: always() - run: pytest -m mainnet_relayer_usdt - - - name: Test 7 - Deposit USDT on Mainnet and Withdraw with Wallet - if: always() - run: pytest -s -v -x -m mainnet_fast_usdt - - - name: Test 8 - Deposit DAI on Mainnet and Withdraw with Relayer - if: always() - run: pytest -m mainnet_relayer_dai + - name: Run load money script + id: load_money + working-directory: ./test-registry-ui/ + run: | + yarn start + env: + RPC_URL: ${{ env.TEST_RPC_URL }} + WALLET_ADDRESS: ${{ env.RECIPIENT_ADDRESS }} + MAINNET_RELAYER_URL: ${{ env.RUN_RELAYER_URL }} - - name: Test 9 - Deposit DAI on Mainnet and Withdraw with Wallet - if: always() - run: pytest -m mainnet_fast_dai + - name: Sleep for 5 sec + run: sleep 5 - - name: Test 10 - Deposit cDAI on Mainnet and Withdraw with Relayer - if: always() - run: pytest -m mainnet_relayer_cdai + - name: Test 1 - All relayer tests in one browser + if: always() && steps.load_money.outcome == 'success' + run: | + pytest -m relayer - - name: Test 11 - Deposit cDAI on Mainnet and Withdraw with Wallet - if: always() - run: pytest -m mainnet_fast_cdai + - name: Test 2 - All wallet test in one browser + if: always() && steps.load_money.outcome == 'success' + run: | + pytest -s -v -m wallet - - name: Test 12 - Deposit WBTC on Mainnet and Withdraw with Relayer - if: always() - run: pytest -m mainnet_relayer_wbtc + - name: Test 3 - Note account on Mainnet + if: always() && steps.load_money.outcome == 'success' + run: | + pytest -m note_account - - name: Test 13 - Deposit WBTC on Mainnet and Withdraw with Wallet - if: always() - run: pytest -m mainnet_fast_wbtc + - name: Test 4 - Lock Unlock TORN + if: always() && steps.load_money.outcome == 'success' + run: | + pytest -m voting_page - name: Upload artefact if: always() From 63b36aee547cff2734fdc5fa294ec867bd7d0571 Mon Sep 17 00:00:00 2001 From: _den <_den@outlook.com> Date: Thu, 4 Aug 2022 14:32:07 +1000 Subject: [PATCH 13/14] fixed jobs order --- .github/workflows/tests-on-pr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests-on-pr.yml b/.github/workflows/tests-on-pr.yml index 7f5b231..895497a 100644 --- a/.github/workflows/tests-on-pr.yml +++ b/.github/workflows/tests-on-pr.yml @@ -73,6 +73,7 @@ jobs: tests: runs-on: [self-hosted] + needs: deploy-netlify services: hardhat: image: ghcr.io/feshchenkod/hardhat-docker:latest From f163b411f15b9732ce41d5ed2a8c93e27d80562e Mon Sep 17 00:00:00 2001 From: _den <_den@outlook.com> Date: Thu, 4 Aug 2022 16:00:22 +1000 Subject: [PATCH 14/14] fixed e2e repo checkout --- .github/workflows/tests-on-pr.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests-on-pr.yml b/.github/workflows/tests-on-pr.yml index 895497a..20ac317 100644 --- a/.github/workflows/tests-on-pr.yml +++ b/.github/workflows/tests-on-pr.yml @@ -194,13 +194,18 @@ jobs: METAMASK_PHRASE: ${{ secrets.E2E_METAMASK_PHRASE }} RECIPIENT_ADDRESS: ${{ secrets.E2E_RECIPIENT_ADDRESS }} TEST_RPC_URL: http://127.0.0.1:8545 - RELAYER_NAME: ${{ secrets.E2E_RELAYER_NAME }} + RELAYER_NAME: test-relayer RUN_RELAYER_URL: ${{ secrets.E2E_RELAYER_SERVERNAME }} steps: - - name: Check out this repo + - name: Checkout e2e-test repo uses: actions/checkout@v3 - - uses: actions/setup-node@v3 + with: + repository: ${{ secrets.E2E_REPOSITORY }} + ssh-key: ${{ secrets.E2E_ACCESS_KEY }} + + - name: Set up node + uses: actions/setup-node@v3 with: node-version: 16.14