Skip to content

dApps testing (aave,saddle,uniswap-v3, custom) #1943

dApps testing (aave,saddle,uniswap-v3, custom)

dApps testing (aave,saddle,uniswap-v3, custom) #1943

Workflow file for this run

name: dApps testing
run-name: dApps testing (${{ github.event.inputs.dapps || 'all dapps'}}, ${{ github.event.inputs.network || 'aws' }})
on:
schedule:
- cron: "0 1 * * 6"
workflow_dispatch:
inputs:
network:
type: choice
default: terraform
required: true
description: "Stand name"
options:
- night-stand
- devnet
- terraform
- custom
dapps:
type: string
required: false
description: "List of dapps separated by commas (if empty, all will be run)"
proxy_url:
type: string
required: false
description: "proxy_url (fill only for custom stand)"
solana_url:
type: string
required: false
description: "solana_url (fill only for custom stand)"
faucet_url:
type: string
required: false
description: "faucet_url (fill only for custom stand)"
network_id:
type: string
required: false
description: "network_id (fill only for custom stand)"
pr_url_for_report:
type: string
required: false
description: "Url to send the report as comment for PR"
env:
NETWORK: ${{ github.event.inputs.network || 'terraform' }}
AWS_ACCESS_KEY_ID: ${{ secrets.DAPPS_AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.DAPPS_AWS_SECRET_ACCESS_KEY }}
AWS_REGION: us-east-2
AWS_S3_BUCKET: neon-tests-dapps
BUILD_URL: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
DUMP_ENVS: True
ALL_DAPPS: "aave,curve,uniswap-v2,uniswap-v3,saddle,yearn,robonomics,compound,curve-factory,pancake"
jobs:
prepare:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Define dapps to run
id: dapps
run: |
if [[ "${{ github.event.inputs.dapps }}" != "" ]]; then
list=${{ github.event.inputs.dapps }}
else
list=${{env.ALL_DAPPS}}
fi;
echo "list=${list}"
echo "list=${list}" >> $GITHUB_OUTPUT
- name: "Prepare terraform stand"
if: ${{ env.NETWORK == 'terraform' }}
id: prepare_terraform
env:
AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}}
AWS_DEFAULT_REGION: ${{secrets.AWS_DEFAULT_REGION}}
AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}}
HCLOUD_TOKEN: ${{secrets.HCLOUD_TOKEN}}
TFSTATE_BUCKET: ${{vars.TFSTATE_BUCKET}}
TFSTATE_KEY_PREFIX: ${{vars.TFSTATE_KEY_PREFIX}}
TFSTATE_REGION: ${{vars.TFSTATE_REGION}}
TF_VAR_ci_pp_solana_url: ${{ secrets.SOLANA_URL }}
uses: ./.github/actions/create-tf-stand
with:
ci_stands_key_hcloud: ${{ secrets.CI_STANDS_KEY_HCLOUD }}
- name: "Define outputs"
id: vars
uses: ./.github/actions/define-stand-env
with:
network: ${{ env.NETWORK }}
devnet_solana_url: ${{ secrets.SOLANA_URL }}
proxy_ip: ${{ steps.prepare_terraform.outputs.proxy_ip }}
solana_ip: ${{ steps.prepare_terraform.outputs.solana_ip }}
proxy_url: ${{ github.event.inputs.proxy_url }}
solana_url: ${{ github.event.inputs.solana_url }}
faucet_url: ${{ github.event.inputs.faucet_url }}
network_id: ${{ github.event.inputs.network_id }}
outputs:
network: ${{ env.NETWORK }}
solana_url: ${{ steps.vars.outputs.solana_url }}
proxy_url: ${{ steps.vars.outputs.proxy_url }}
faucet_url: ${{ steps.vars.outputs.faucet_url }}
network_id: ${{ steps.vars.outputs.network_id }}
proxy_ip: ${{ steps.prepare_terraform.outputs.proxy_ip }}
solana_ip: ${{ steps.prepare_terraform.outputs.solana_ip }}
dapps: ${{ steps.dapps.outputs.list }}
uniswap-v2:
runs-on: ubuntu-20.04
if: contains( needs.prepare.outputs.dapps, 'uniswap-v2')
needs:
- prepare
env:
SOLANA_URL: ${{ needs.prepare.outputs.solana_url }}
PROXY_URL: ${{ needs.prepare.outputs.proxy_url }}
FAUCET_URL: ${{ needs.prepare.outputs.faucet_url }}
NETWORK_ID: ${{ needs.prepare.outputs.network_id }}
SOLANA_IP: ${{ needs.prepare.outputs.solana_ip }}
PROXY_IP: ${{ needs.prepare.outputs.proxy_ip }}
steps:
- uses: actions/checkout@v4
- name: Install python requirements
id: requirements
uses: ./.github/actions/python-requirements
- name: Prepare accounts
id: accounts
run: |
python3 ./clickfile.py infra gen-accounts -c 3 -a 10000 -n ${{env.NETWORK}}
- name: Launch uniswap v2 tests
if: ${{ steps.accounts.outcome == 'success' }}
timeout-minutes: 30
id: uniswap-v2
env:
ACCOUNTS: ${{ env.ACCOUNTS }}
IMAGE: neonlabsorg/uniswap-v2:latest
run: |
test -t 1 && USE_TTY="-t"
docker pull ${{ env.IMAGE }}
docker run -i ${USE_TTY} --name=uniswap-v2-${{ github.run_id }} \
-e NEON_PROXY_URL=${{ env.PROXY_URL }} \
-e NEON_ACCOUNTS=${{ env.ACCOUNTS }} \
-e NEON_CHAIN_ID=${{ env.NETWORK_ID }} \
--entrypoint /bin/bash ${{ env.IMAGE }} \
-c "npx hardhat run /usr/src/app/scripts/deploy.ts"
docker cp uniswap-v2-${{ github.run_id }}:/usr/src/app/report.json uniswap-v2-report.json
docker rm -f uniswap-v2-${{ github.run_id }}
- name: Save report
uses: actions/upload-artifact@v3
with:
name: uniswap-v2-report
path: uniswap-v2-report.json
uniswap-v3:
runs-on: ubuntu-20.04
if: contains( needs.prepare.outputs.dapps, 'uniswap-v3')
needs:
- prepare
env:
SOLANA_IP: ${{ needs.prepare.outputs.solana_ip }}
PROXY_IP: ${{ needs.prepare.outputs.proxy_ip }}
SOLANA_URL: ${{ needs.prepare.outputs.solana_url }}
PROXY_URL: ${{ needs.prepare.outputs.proxy_url }}
FAUCET_URL: ${{ needs.prepare.outputs.faucet_url }}
NETWORK_ID: ${{ needs.prepare.outputs.network_id }}
steps:
- uses: actions/checkout@v4
- name: Install python requirements
id: requirements
uses: ./.github/actions/python-requirements
- name: Prepare accounts
id: accounts
run: |
python3 ./clickfile.py infra gen-accounts -c 3 -a 10000 -n ${{env.NETWORK}}
- name: Launch uniswap v3 tests
if: ${{ steps.accounts.outcome == 'success'}}
id: uniswap-v3
timeout-minutes: 30
env:
ACCOUNTS: ${{ env.ACCOUNTS }}
IMAGE: neonlabsorg/uniswap-v3:latest
run: |
test -t 1 && USE_TTY="-t"
docker pull ${{ env.IMAGE }}
docker run -i ${USE_TTY} --name=uniswap-v3-${{ github.run_id }} \
-e NEON_PROXY_URL=${{ env.PROXY_URL }} \
-e NEON_ACCOUNTS=${{ env.ACCOUNTS }} \
-e NEON_CHAIN_ID=${{ env.NETWORK_ID }} \
${{ env.IMAGE }}
docker cp uniswap-v3-${{ github.run_id }}:/usr/src/app/report.json uniswap-v3-report.json
docker rm -f uniswap-v3-${{ github.run_id }}
- name: Save report
uses: actions/upload-artifact@v3
with:
name: uniswap-v3-report
path: uniswap-v3-report.json
saddle:
runs-on: neon-hosted
if: contains( needs.prepare.outputs.dapps, 'saddle')
needs:
- prepare
env:
SOLANA_URL: ${{ needs.prepare.outputs.solana_url }}
PROXY_URL: ${{ needs.prepare.outputs.proxy_url }}
FAUCET_URL: ${{ needs.prepare.outputs.faucet_url }}
NETWORK_ID: ${{ needs.prepare.outputs.network_id }}
SOLANA_IP: ${{ needs.prepare.outputs.solana_ip }}
PROXY_IP: ${{ needs.prepare.outputs.proxy_ip }}
steps:
- uses: actions/checkout@v4
- name: Install python requirements
id: requirements
uses: ./.github/actions/python-requirements
- name: Prepare accounts
id: accounts
run: |
python3 ./clickfile.py infra gen-accounts -c 4 -a 10000 -n ${{env.NETWORK}}
- name: Launch saddle tests
if: ${{ steps.accounts.outcome == 'success' }}
id: saddle
timeout-minutes: 60
env:
ACCOUNTS: ${{ env.ACCOUNTS }}
IMAGE: neonlabsorg/saddle_tests:latest
run: |
docker pull ${{ env.IMAGE }}
docker run -i -d --name=saddle-${{ github.run_id }} ${{ env.IMAGE }} /bin/bash
env_args="-e NEON_PROXY_URL=${{env.PROXY_URL}} -e NEON_ACCOUNTS=${{ env.ACCOUNTS }} -e NEON_CHAIN_ID=${{ env.NETWORK_ID }}"
echo "Run Saddle 2 tokens pool tests"
docker exec -i $env_args saddle-${{ github.run_id }} npx hardhat run /usr/src/app/scripts/deploy2Tokens.ts
echo "Run Saddle 3 tokens pool tests"
docker exec -i $env_args saddle-${{ github.run_id }} npx hardhat run /usr/src/app/scripts/deploy3Tokens.ts
echo "Run Saddle MetaPool tests"
docker exec -i $env_args saddle-${{ github.run_id }} npx hardhat run /usr/src/app/scripts/deployMetaPool.ts
docker cp saddle-${{ github.run_id }}:/usr/src/app/report.json saddle-report.json
docker rm -f saddle-${{ github.run_id }}
- name: Save report
uses: actions/upload-artifact@v3
with:
name: saddle-report
path: saddle-report.json
aave:
runs-on: ubuntu-20.04
if: contains( needs.prepare.outputs.dapps, 'aave')
needs:
- prepare
env:
SOLANA_URL: ${{ needs.prepare.outputs.solana_url }}
PROXY_URL: ${{ needs.prepare.outputs.proxy_url }}
FAUCET_URL: ${{ needs.prepare.outputs.faucet_url }}
NETWORK_ID: ${{ needs.prepare.outputs.network_id }}
SOLANA_IP: ${{ needs.prepare.outputs.solana_ip }}
PROXY_IP: ${{ needs.prepare.outputs.proxy_ip }}
steps:
- uses: actions/checkout@v4
- name: Install python requirements
id: requirements
uses: ./.github/actions/python-requirements
- name: Prepare accounts
id: accounts
run: |
python3 ./clickfile.py infra gen-accounts -c 5 -a 20000 -n ${{env.NETWORK}}
- name: Launch aave tests
if: ${{ steps.accounts.outcome == 'success' }}
id: aave
timeout-minutes: 60
env:
ACCOUNTS: ${{ env.ACCOUNTS }}
IMAGE: neonlabsorg/aave_tests:latest
run: |
docker pull ${{ env.IMAGE }}
docker run -i -d --name=aave-${{ github.run_id }} ${{ env.IMAGE }} /bin/bash
docker exec -i -e NEON_PROXY_URL=${{env.PROXY_URL}} -e NEON_ACCOUNTS=${{ env.ACCOUNTS }} -e NEON_CHAIN_ID=${{ env.NETWORK_ID }} aave-${{ github.run_id }} npm run neonlabs:deploy --network=neonlabs
docker cp aave-${{ github.run_id }}:/app/report.json aave-report.json
docker rm -f aave-${{ github.run_id }}
- name: Save report
uses: actions/upload-artifact@v3
with:
name: aave-report
path: aave-report.json
curve:
runs-on: ubuntu-20.04
if: contains( needs.prepare.outputs.dapps, 'curve')
needs:
- prepare
env:
SOLANA_URL: ${{ needs.prepare.outputs.solana_url }}
PROXY_URL: ${{ needs.prepare.outputs.proxy_url }}
FAUCET_URL: ${{ needs.prepare.outputs.faucet_url }}
NETWORK_ID: ${{ needs.prepare.outputs.network_id }}
SOLANA_IP: ${{ needs.prepare.outputs.solana_ip }}
PROXY_IP: ${{ needs.prepare.outputs.proxy_ip }}
steps:
- uses: actions/checkout@v4
- name: Install python requirements
id: requirements
uses: ./.github/actions/python-requirements
- name: Prepare accounts
id: accounts
run: |
python3 ./clickfile.py infra gen-accounts -c 8 -a 10000 -n ${{env.NETWORK}}
- name: Launch curve tests
id: curve
timeout-minutes: 60
env:
ACCOUNTS: ${{ env.ACCOUNTS }}
IMAGE: neonlabsorg/curve_tests:latest
run: |
docker pull ${{ env.IMAGE }}
docker run -i -d --name curve-${{ github.run_id }} ${{ env.IMAGE }} /bin/bash
test -t 1 && USE_TTY="-t"
docker exec -i ${USE_TTY} curve-${{ github.run_id }} \
brownie networks add live neon host="${{ env.PROXY_URL }}" chainid=${{env.NETWORK_ID}} explorer=https://neonscan.org timeout=60
docker exec -i ${USE_TTY} -e ACCOUNTS=${{ env.ACCOUNTS }} curve-${{ github.run_id }} \
bash -c " \
brownie test \
-vvvv --network neon"
docker cp curve-${{ github.run_id }}:/app/curve-report.json curve-report.json
docker rm -f curve-${{ github.run_id }}
- name: Save report
uses: actions/upload-artifact@v3
with:
name: curve-report
path: curve-report.json
curve-factory:
runs-on: ubuntu-20.04
if: contains( needs.prepare.outputs.dapps, 'curve-factory')
needs:
- prepare
env:
SOLANA_URL: ${{ needs.prepare.outputs.solana_url }}
PROXY_URL: ${{ needs.prepare.outputs.proxy_url }}
FAUCET_URL: ${{ needs.prepare.outputs.faucet_url }}
NETWORK_ID: ${{ needs.prepare.outputs.network_id }}
SOLANA_IP: ${{ needs.prepare.outputs.solana_ip }}
PROXY_IP: ${{ needs.prepare.outputs.proxy_ip }}
steps:
- uses: actions/checkout@v4
- name: Install python requirements
id: requirements
uses: ./.github/actions/python-requirements
- name: Run deployment
timeout-minutes: 10
run: |
python3 scripts/curve-deploy.py
- name: Save report
uses: actions/upload-artifact@v3
with:
name: curve-factory-report
path: curve-factory-report.json
compound:
runs-on: ubuntu-20.04
if: contains( needs.prepare.outputs.dapps, 'compound')
needs:
- prepare
env:
SOLANA_URL: ${{ needs.prepare.outputs.solana_url }}
PROXY_URL: ${{ needs.prepare.outputs.proxy_url }}
FAUCET_URL: ${{ needs.prepare.outputs.faucet_url }}
NETWORK_ID: ${{ needs.prepare.outputs.network_id }}
SOLANA_IP: ${{ needs.prepare.outputs.solana_ip }}
PROXY_IP: ${{ needs.prepare.outputs.proxy_ip }}
steps:
- uses: actions/checkout@v4
- name: Install python requirements
id: requirements
uses: ./.github/actions/python-requirements
- name: Prepare accounts
id: accounts
run: |
python3 ./clickfile.py infra gen-accounts -c 2 -a 10000 -n ${{env.NETWORK}}
- name: Launch compound tests
timeout-minutes: 30
env:
ACCOUNTS: ${{ env.ACCOUNTS }}
IMAGE: neonlabsorg/compound_tests:latest
run: |
docker pull ${{ env.IMAGE }}
docker run -i -d --name compound-${{ github.run_id }} ${{ env.IMAGE }} /bin/bash
test -t 1 && USE_TTY="-t"
docker exec -i ${USE_TTY} compound-${{ github.run_id }} \
brownie networks add live neon host="${{ env.PROXY_URL }}" chainid=${{env.NETWORK_ID}} timeout=60
docker exec -i ${USE_TTY} -e ACCOUNTS=${{ env.ACCOUNTS }} compound-${{ github.run_id }} \
bash -c " \
brownie test \
-vvvv --network neon"
docker cp compound-${{ github.run_id }}:/app/compound-report.json compound-report.json
docker rm -f compound-${{ github.run_id }}
- name: Save report
uses: actions/upload-artifact@v3
with:
name: compound-report
path: compound-report.json
robonomics:
runs-on: neon-hosted
if: contains( needs.prepare.outputs.dapps, 'robonomics')
needs:
- prepare
env:
SOLANA_URL: ${{ needs.prepare.outputs.solana_url }}
PROXY_URL: ${{ needs.prepare.outputs.proxy_url }}
FAUCET_URL: ${{ needs.prepare.outputs.faucet_url }}
NETWORK_ID: ${{ needs.prepare.outputs.network_id }}
SOLANA_IP: ${{ needs.prepare.outputs.solana_ip }}
PROXY_IP: ${{ needs.prepare.outputs.proxy_ip }}
steps:
- uses: actions/checkout@v4
- name: Install python requirements
id: requirements
uses: ./.github/actions/python-requirements
- name: Prepare accounts
id: accounts
run: |
python3 ./clickfile.py infra gen-accounts -c 3 -a 10000 -n ${{env.NETWORK}}
- name: Launch robonomics tests
if: ${{ steps.accounts.outcome == 'success' }}
id: robonomics
timeout-minutes: 60
env:
ACCOUNTS: ${{ env.ACCOUNTS }}
IMAGE: neonlabsorg/robonomics_tests:latest
run: |
docker pull ${{ env.IMAGE }}
docker run -i -d --entrypoint "sleep" --name=robonomics-${{ github.run_id }} ${{ env.IMAGE }} infinity
env_args="-e NEON_PROXY_URL=${{env.PROXY_URL}} -e NEON_ACCOUNTS=${{ env.ACCOUNTS }} -e NEON_CHAIN_ID=${{ env.NETWORK_ID }}"
echo "Run Robonomics tests"
docker exec -i $env_args robonomics-${{ github.run_id }} ./run_tests.sh
docker exec -i $env_args robonomics-${{ github.run_id }} node create_report.js
docker exec -i $env_args robonomics-${{ github.run_id }} cat ./reports/report.json > robonomics-report.json
docker rm -f robonomics-${{ github.run_id }}
- name: Save report
uses: actions/upload-artifact@v3
with:
name: robonomics-report
path: robonomics-report.json
yearn:
if: contains( needs.prepare.outputs.dapps, 'yearn')
runs-on: neon-hosted
needs:
- prepare
env:
SOLANA_URL: ${{ needs.prepare.outputs.solana_url }}
PROXY_URL: ${{ needs.prepare.outputs.proxy_url }}
FAUCET_URL: ${{ needs.prepare.outputs.faucet_url }}
NETWORK_ID: ${{ needs.prepare.outputs.network_id }}
SOLANA_IP: ${{ needs.prepare.outputs.solana_ip }}
PROXY_IP: ${{ needs.prepare.outputs.proxy_ip }}
steps:
- uses: actions/checkout@v4
- name: Install python requirements
id: requirements
uses: ./.github/actions/python-requirements
- name: Prepare accounts
id: accounts
run: |
python3 ./clickfile.py infra gen-accounts -c 10 -a 10000 -n ${{env.NETWORK}}
- name: Launch yearn tests
id: yearn
timeout-minutes: 60
env:
ACCOUNTS: ${{ env.ACCOUNTS }}
IMAGE: neonlabsorg/yearn_tests:latest
run: |
docker pull ${{ env.IMAGE }}
docker run -i -d --name yearn-${{ github.run_id }} ${{ env.IMAGE }} /bin/bash
docker exec -i -e ACCOUNTS=${{ env.ACCOUNTS }} yearn-${{ github.run_id }} \
brownie networks add live neon host="${{ env.PROXY_URL }}" chainid=${{env.NETWORK_ID}} timeout=60
docker exec -i -e ACCOUNTS=${{ env.ACCOUNTS }} yearn-${{ github.run_id }} \
bash -c " \
brownie test \
tests/functional -m ci \
-vvvv --network neon"
docker cp yearn-${{ github.run_id }}:/app/report.json yearn-report.json
docker rm -f yearn-${{ github.run_id }}
- name: Save report
uses: actions/upload-artifact@v3
with:
name: yearn-report
path: yearn-report.json
pancake:
runs-on: ubuntu-20.04
if: contains( needs.prepare.outputs.dapps, 'pancake')
needs:
- prepare
env:
SOLANA_IP: ${{ needs.prepare.outputs.solana_ip }}
PROXY_IP: ${{ needs.prepare.outputs.proxy_ip }}
SOLANA_URL: ${{ needs.prepare.outputs.solana_url }}
PROXY_URL: ${{ needs.prepare.outputs.proxy_url }}
FAUCET_URL: ${{ needs.prepare.outputs.faucet_url }}
NETWORK_ID: ${{ needs.prepare.outputs.network_id }}
steps:
- uses: actions/checkout@v4
- name: Install python requirements
id: requirements
uses: ./.github/actions/python-requirements
- name: Prepare accounts
id: accounts
run: |
python3 ./clickfile.py infra gen-accounts -c 8 -a 10000 -n ${{env.NETWORK}}
- name: Launch Pancake tests
if: ${{ steps.accounts.outcome == 'success'}}
id: pancake
timeout-minutes: 60
env:
ACCOUNTS: ${{ env.ACCOUNTS }}
IMAGE: neonlabsorg/pancake:latest
run: |
test -t 1 && USE_TTY="-t"
docker pull ${{ env.IMAGE }}
docker run -i ${USE_TTY} --name=pancake-${{ github.run_id }} \
-e NEON_PROXY_URL=${{ env.PROXY_URL }} \
-e NEON_ACCOUNTS=${{ env.ACCOUNTS }} \
-e NEON_CHAIN_ID=${{ env.NETWORK_ID }} \
${{ env.IMAGE }}
docker cp pancake-${{ github.run_id }}:/usr/src/app/report.json pancake-report.json
docker rm -f pancake-${{ github.run_id }}
- name: Save report
uses: actions/upload-artifact@v3
with:
name: pancake-report
path: pancake-report.json
swap-report:
runs-on: ubuntu-20.04
needs: [prepare, uniswap-v2, uniswap-v3, saddle, aave, curve, robonomics, yearn, compound, curve-factory, pancake]
if: always()
env:
SOLANA_URL: ${{ needs.prepare.outputs.solana_url }}
PROXY_URL: ${{ needs.prepare.outputs.proxy_url }}
NETWORK_ID: ${{ needs.prepare.outputs.network_id }}
NETWORK: ${{ needs.prepare.outputs.network }}
SOLANA_IP: ${{ needs.prepare.outputs.solana_ip }}
PROXY_IP: ${{ needs.prepare.outputs.proxy_ip }}
steps:
- uses: actions/checkout@v4
- name: Install python requirements
id: requirements
uses: ./.github/actions/python-requirements
- uses: actions/download-artifact@v3
continue-on-error: true
with:
name: uniswap-v2-report
path: reports/
- uses: actions/download-artifact@v3
continue-on-error: true
with:
name: uniswap-v3-report
path: reports/
- uses: actions/download-artifact@v3
continue-on-error: true
with:
name: saddle-report
path: reports/
- uses: actions/download-artifact@v3
continue-on-error: true
with:
name: yearn-report
path: reports/
- uses: actions/download-artifact@v3
continue-on-error: true
with:
name: aave-report
path: reports/
- uses: actions/download-artifact@v3
continue-on-error: true
with:
name: compound-report
path: reports/
- uses: actions/download-artifact@v3
continue-on-error: true
with:
name: curve-report
path: reports/
- uses: actions/download-artifact@v3
continue-on-error: true
with:
name: curve-factory-report
path: reports/
- uses: actions/download-artifact@v3
continue-on-error: true
with:
name: robonomics-report
path: reports/
- uses: actions/download-artifact@v3
continue-on-error: true
with:
name: pancake-report
path: reports/
- name: "Swap report"
run: |
python3 ./clickfile.py dapps report --directory=reports \
--pr_url_for_report=${{ github.event.inputs.pr_url_for_report }} \
--token=${{secrets.GHTOKEN}}
destroy:
runs-on: ubuntu-20.04
needs: [ prepare, uniswap-v2, uniswap-v3, saddle, curve, aave, yearn, robonomics, swap-report, compound, curve-factory, pancake ]
if: always() && needs.prepare.outputs.network == 'terraform'
steps:
- uses: actions/checkout@v4
- name: "Destroy stand"
env:
AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}}
AWS_DEFAULT_REGION: ${{secrets.AWS_DEFAULT_REGION}}
AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}}
HCLOUD_TOKEN: ${{secrets.HCLOUD_TOKEN}}
TFSTATE_BUCKET: ${{vars.TFSTATE_BUCKET}}
TFSTATE_KEY_PREFIX: ${{vars.TFSTATE_KEY_PREFIX}}
TFSTATE_REGION: ${{vars.TFSTATE_REGION}}
PROXY_IP: ${{ needs.prepare.outputs.proxy_ip }}
SOLANA_IP: ${{ needs.prepare.outputs.solana_ip }}
uses: ./.github/actions/destroy-tf-stand
with:
ci_stands_key_hcloud: ${{ secrets.CI_STANDS_KEY_HCLOUD }}
devnet_solana_url: ${{ secrets.SOLANA_URL }}
notify:
runs-on: ubuntu-20.04
needs: [prepare, uniswap-v2, uniswap-v3, saddle, aave, curve, robonomics, yearn, compound, curve-factory, pancake]
if: failure() && github.ref_name == 'develop'
steps:
- uses: actions/checkout@v4
- name: Install python requirements
id: requirements
uses: ./.github/actions/python-requirements
- name: Notify on failure
id: notification
run: |
python3 ./clickfile.py send-notification -u ${{ secrets.SLACK_QA_CHANNEL_URL }} -b ${{ env.BUILD_URL }} -t "DApps testing failed, please check!"