fixes #2109
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
branches: | |
- "**" | |
name: tests | |
jobs: | |
clippy: | |
name: Actions - clippy | |
runs-on: self-hosted | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.75.0 | |
components: clippy | |
profile: minimal | |
override: true | |
target: wasm32-unknown-unknown | |
- run: cargo fetch --verbose | |
- run: cargo clippy --all --all-targets -- -D warnings | |
- run: cargo clippy --lib --target wasm32-unknown-unknown -- -D warnings | |
coverage: | |
name: Actions - unit tests coverage | |
runs-on: self-hosted | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Install dependencies | |
run: sudo apt-get update && sudo apt-get install -y pkg-config libssl-dev | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly-2023-12-21 | |
profile: minimal | |
override: true | |
- name: Install cargo-tarpaulin | |
run: cargo install cargo-tarpaulin --version 0.29.1 | |
- run: cargo tarpaulin --verbose --exclude-files "packages/*" --exclude-files "*/proto/*" | |
--exclude-files "contracts/price-provider/*" --exclude-files | |
"contracts/auto-withdrawer/*" --exclude-files | |
"contracts/hook-tester/*" --exclude-files | |
"contracts/astroport-exchange-handler/*" --exclude-files | |
"contracts/proposal-votes-poc/*" --exclude-files | |
"contracts/rewards-manager/*" --exclude-files | |
"contracts/puppeteer-authz/*" --exclude-files | |
"contracts/validators-stats/*" --exclude-files | |
"contracts/provider-proposals-poc/*" --exclude-files | |
"contracts/redemption-rate-adapter/*" --exclude-files "*schema*" --out | |
Xml --output-dir ./ | |
- name: Produce the coverage report | |
uses: insightsengineering/coverage-action@v2 | |
with: | |
path: ./cobertura.xml | |
threshold: 45 | |
fail: true | |
publish: false | |
diff: false | |
coverage-summary-title: Code Coverage Summary | |
rustfmt: | |
name: Actions - rustfmt | |
runs-on: self-hosted | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.75.0 | |
components: rustfmt | |
profile: minimal | |
override: true | |
- run: cargo fmt -- --check | |
unit-test: | |
name: Actions - unit test | |
runs-on: self-hosted | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.75.0 | |
profile: minimal | |
- run: cargo fetch --verbose | |
- run: cargo build | |
- run: cargo test --verbose --all | |
env: | |
RUST_BACKTRACE: 1 | |
lint-test: | |
name: Actions - integration tests lint | |
runs-on: self-hosted | |
steps: | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.16.1 | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Install Yarn | |
run: npm install -g yarn | |
- name: Lint | |
run: cd integration_tests && yarn --ignore-engines && yarn lint | |
images-prepare: | |
name: Actions - images prepare | |
runs-on: self-hosted | |
steps: | |
- name: Upgrade docker compose to use v2 | |
run: sudo curl -L | |
"https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname | |
-s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x | |
/usr/local/bin/docker-compose | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.16.1 | |
- name: Install Yarn | |
run: npm install -g yarn | |
- name: Setup Go environment | |
uses: actions/[email protected] | |
with: | |
go-version: 1.2 | |
cache: false | |
- name: Log in to Private Registry | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USER }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: Build images | |
run: | | |
cd integration_tests | |
yarn build-images | |
artifacts-prepare: | |
name: Actions - artifacts prepare | |
runs-on: self-hosted | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.75.0 | |
profile: minimal | |
override: true | |
- run: make compile | |
- name: Cache artifacts | |
uses: actions/cache@v4 | |
with: | |
path: artifacts | |
key: ${{ runner.os }}-${{ github.sha }} | |
test-core: | |
name: test:core Integration Tests | |
needs: | |
- images-prepare | |
- artifacts-prepare | |
runs-on: self-hosted | |
steps: | |
- name: Upgrade docker compose to use v2 | |
run: sudo curl -L | |
"https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname | |
-s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x | |
/usr/local/bin/docker-compose | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.12.2 | |
- name: Install Yarn | |
run: npm install -g yarn | |
- name: Log in to Private Registry | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USER }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: Clean volumes | |
run: docker volume prune -f | |
- name: Download images | |
run: | | |
cd integration_tests | |
yarn build-images | |
- name: Download artifacts | |
uses: actions/cache@v4 | |
with: | |
path: artifacts | |
key: ${{ runner.os }}-${{ github.sha }} | |
- name: Run test test:core | |
run: cd integration_tests && yarn && yarn test:core | |
- name: Cleanup resources | |
if: always() | |
run: | | |
docker stop -t0 $(docker ps -a -q) || true | |
docker container prune -f || true | |
docker volume rm $(docker volume ls -q) || true | |
test-core-slashing: | |
name: test:core:slashing Integration Tests | |
needs: | |
- images-prepare | |
- artifacts-prepare | |
runs-on: self-hosted | |
steps: | |
- name: Upgrade docker compose to use v2 | |
run: sudo curl -L | |
"https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname | |
-s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x | |
/usr/local/bin/docker-compose | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.12.2 | |
- name: Install Yarn | |
run: npm install -g yarn | |
- name: Log in to Private Registry | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USER }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: Clean volumes | |
run: docker volume prune -f | |
- name: Download images | |
run: | | |
cd integration_tests | |
yarn build-images | |
- name: Download artifacts | |
uses: actions/cache@v4 | |
with: | |
path: artifacts | |
key: ${{ runner.os }}-${{ github.sha }} | |
- name: Run test test:core:slashing | |
run: cd integration_tests && yarn && yarn test:core:slashing | |
- name: Cleanup resources | |
if: always() | |
run: | | |
docker stop -t0 $(docker ps -a -q) || true | |
docker container prune -f || true | |
docker volume rm $(docker volume ls -q) || true | |
test-pump: | |
name: test:pump Integration Tests | |
needs: | |
- images-prepare | |
- artifacts-prepare | |
runs-on: self-hosted | |
steps: | |
- name: Upgrade docker compose to use v2 | |
run: sudo curl -L | |
"https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname | |
-s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x | |
/usr/local/bin/docker-compose | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.12.2 | |
- name: Install Yarn | |
run: npm install -g yarn | |
- name: Log in to Private Registry | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USER }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: Clean volumes | |
run: docker volume prune -f | |
- name: Download images | |
run: | | |
cd integration_tests | |
yarn build-images | |
- name: Download artifacts | |
uses: actions/cache@v4 | |
with: | |
path: artifacts | |
key: ${{ runner.os }}-${{ github.sha }} | |
- name: Run test test:pump | |
run: cd integration_tests && yarn && yarn test:pump | |
- name: Cleanup resources | |
if: always() | |
run: | | |
docker stop -t0 $(docker ps -a -q) || true | |
docker container prune -f || true | |
docker volume rm $(docker volume ls -q) || true | |
test-mirror: | |
name: test:mirror Integration Tests | |
needs: | |
- images-prepare | |
- artifacts-prepare | |
runs-on: self-hosted | |
steps: | |
- name: Upgrade docker compose to use v2 | |
run: sudo curl -L | |
"https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname | |
-s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x | |
/usr/local/bin/docker-compose | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.12.2 | |
- name: Install Yarn | |
run: npm install -g yarn | |
- name: Log in to Private Registry | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USER }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: Clean volumes | |
run: docker volume prune -f | |
- name: Download images | |
run: | | |
cd integration_tests | |
yarn build-images | |
- name: Download artifacts | |
uses: actions/cache@v4 | |
with: | |
path: artifacts | |
key: ${{ runner.os }}-${{ github.sha }} | |
- name: Run test test:mirror | |
run: cd integration_tests && yarn && yarn test:mirror | |
- name: Cleanup resources | |
if: always() | |
run: | | |
docker stop -t0 $(docker ps -a -q) || true | |
docker container prune -f || true | |
docker volume rm $(docker volume ls -q) || true | |
test-pump-multi: | |
name: test:pump-multi Integration Tests | |
needs: | |
- images-prepare | |
- artifacts-prepare | |
runs-on: self-hosted | |
steps: | |
- name: Upgrade docker compose to use v2 | |
run: sudo curl -L | |
"https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname | |
-s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x | |
/usr/local/bin/docker-compose | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.12.2 | |
- name: Install Yarn | |
run: npm install -g yarn | |
- name: Log in to Private Registry | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USER }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: Clean volumes | |
run: docker volume prune -f | |
- name: Download images | |
run: | | |
cd integration_tests | |
yarn build-images | |
- name: Download artifacts | |
uses: actions/cache@v4 | |
with: | |
path: artifacts | |
key: ${{ runner.os }}-${{ github.sha }} | |
- name: Run test test:pump-multi | |
run: cd integration_tests && yarn && yarn test:pump-multi | |
- name: Cleanup resources | |
if: always() | |
run: | | |
docker stop -t0 $(docker ps -a -q) || true | |
docker container prune -f || true | |
docker volume rm $(docker volume ls -q) || true | |
test-validators-stats: | |
name: test:validators-stats Integration Tests | |
needs: | |
- images-prepare | |
- artifacts-prepare | |
runs-on: self-hosted | |
steps: | |
- name: Upgrade docker compose to use v2 | |
run: sudo curl -L | |
"https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname | |
-s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x | |
/usr/local/bin/docker-compose | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.12.2 | |
- name: Install Yarn | |
run: npm install -g yarn | |
- name: Log in to Private Registry | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USER }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: Clean volumes | |
run: docker volume prune -f | |
- name: Download images | |
run: | | |
cd integration_tests | |
yarn build-images | |
- name: Download artifacts | |
uses: actions/cache@v4 | |
with: | |
path: artifacts | |
key: ${{ runner.os }}-${{ github.sha }} | |
- name: Run test test:validators-stats | |
run: cd integration_tests && yarn && yarn test:validators-stats | |
- name: Cleanup resources | |
if: always() | |
run: | | |
docker stop -t0 $(docker ps -a -q) || true | |
docker container prune -f || true | |
docker volume rm $(docker volume ls -q) || true | |
test-validator-set: | |
name: test:validator-set Integration Tests | |
needs: | |
- images-prepare | |
- artifacts-prepare | |
runs-on: self-hosted | |
steps: | |
- name: Upgrade docker compose to use v2 | |
run: sudo curl -L | |
"https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname | |
-s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x | |
/usr/local/bin/docker-compose | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.12.2 | |
- name: Install Yarn | |
run: npm install -g yarn | |
- name: Log in to Private Registry | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USER }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: Clean volumes | |
run: docker volume prune -f | |
- name: Download images | |
run: | | |
cd integration_tests | |
yarn build-images | |
- name: Download artifacts | |
uses: actions/cache@v4 | |
with: | |
path: artifacts | |
key: ${{ runner.os }}-${{ github.sha }} | |
- name: Run test test:validator-set | |
run: cd integration_tests && yarn && yarn test:validator-set | |
- name: Cleanup resources | |
if: always() | |
run: | | |
docker stop -t0 $(docker ps -a -q) || true | |
docker container prune -f || true | |
docker volume rm $(docker volume ls -q) || true | |
test-distribution: | |
name: test:distribution Integration Tests | |
needs: | |
- images-prepare | |
- artifacts-prepare | |
runs-on: self-hosted | |
steps: | |
- name: Upgrade docker compose to use v2 | |
run: sudo curl -L | |
"https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname | |
-s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x | |
/usr/local/bin/docker-compose | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.12.2 | |
- name: Install Yarn | |
run: npm install -g yarn | |
- name: Log in to Private Registry | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USER }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: Clean volumes | |
run: docker volume prune -f | |
- name: Download images | |
run: | | |
cd integration_tests | |
yarn build-images | |
- name: Download artifacts | |
uses: actions/cache@v4 | |
with: | |
path: artifacts | |
key: ${{ runner.os }}-${{ github.sha }} | |
- name: Run test test:distribution | |
run: cd integration_tests && yarn && yarn test:distribution | |
- name: Cleanup resources | |
if: always() | |
run: | | |
docker stop -t0 $(docker ps -a -q) || true | |
docker container prune -f || true | |
docker volume rm $(docker volume ls -q) || true | |
test-initia: | |
name: test:initia Integration Tests | |
needs: | |
- images-prepare | |
- artifacts-prepare | |
runs-on: self-hosted | |
steps: | |
- name: Upgrade docker compose to use v2 | |
run: sudo curl -L | |
"https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname | |
-s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x | |
/usr/local/bin/docker-compose | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.12.2 | |
- name: Install Yarn | |
run: npm install -g yarn | |
- name: Log in to Private Registry | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USER }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: Clean volumes | |
run: docker volume prune -f | |
- name: Download images | |
run: | | |
cd integration_tests | |
yarn build-images | |
- name: Download artifacts | |
uses: actions/cache@v4 | |
with: | |
path: artifacts | |
key: ${{ runner.os }}-${{ github.sha }} | |
- name: Run test test:initia | |
run: cd integration_tests && yarn && yarn test:initia | |
- name: Cleanup resources | |
if: always() | |
run: | | |
docker stop -t0 $(docker ps -a -q) || true | |
docker container prune -f || true | |
docker volume rm $(docker volume ls -q) || true | |
test-auto-withdrawer: | |
name: test:auto-withdrawer Integration Tests | |
needs: | |
- images-prepare | |
- artifacts-prepare | |
runs-on: self-hosted | |
steps: | |
- name: Upgrade docker compose to use v2 | |
run: sudo curl -L | |
"https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname | |
-s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x | |
/usr/local/bin/docker-compose | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.12.2 | |
- name: Install Yarn | |
run: npm install -g yarn | |
- name: Log in to Private Registry | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USER }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: Clean volumes | |
run: docker volume prune -f | |
- name: Download images | |
run: | | |
cd integration_tests | |
yarn build-images | |
- name: Download artifacts | |
uses: actions/cache@v4 | |
with: | |
path: artifacts | |
key: ${{ runner.os }}-${{ github.sha }} | |
- name: Run test test:auto-withdrawer | |
run: cd integration_tests && yarn && yarn test:auto-withdrawer | |
- name: Cleanup resources | |
if: always() | |
run: | | |
docker stop -t0 $(docker ps -a -q) || true | |
docker container prune -f || true | |
docker volume rm $(docker volume ls -q) || true | |
test-gv: | |
name: test:gv Integration Tests | |
needs: | |
- images-prepare | |
- artifacts-prepare | |
runs-on: self-hosted | |
steps: | |
- name: Upgrade docker compose to use v2 | |
run: sudo curl -L | |
"https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname | |
-s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x | |
/usr/local/bin/docker-compose | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.12.2 | |
- name: Install Yarn | |
run: npm install -g yarn | |
- name: Log in to Private Registry | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USER }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: Clean volumes | |
run: docker volume prune -f | |
- name: Download images | |
run: | | |
cd integration_tests | |
yarn build-images | |
- name: Download artifacts | |
uses: actions/cache@v4 | |
with: | |
path: artifacts | |
key: ${{ runner.os }}-${{ github.sha }} | |
- name: Run test test:gv | |
run: cd integration_tests && yarn && yarn test:gv | |
- name: Cleanup resources | |
if: always() | |
run: | | |
docker stop -t0 $(docker ps -a -q) || true | |
docker container prune -f || true | |
docker volume rm $(docker volume ls -q) || true | |
test-splitter: | |
name: test:splitter Integration Tests | |
needs: | |
- images-prepare | |
- artifacts-prepare | |
runs-on: self-hosted | |
steps: | |
- name: Upgrade docker compose to use v2 | |
run: sudo curl -L | |
"https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname | |
-s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x | |
/usr/local/bin/docker-compose | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.12.2 | |
- name: Install Yarn | |
run: npm install -g yarn | |
- name: Log in to Private Registry | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USER }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: Clean volumes | |
run: docker volume prune -f | |
- name: Download images | |
run: | | |
cd integration_tests | |
yarn build-images | |
- name: Download artifacts | |
uses: actions/cache@v4 | |
with: | |
path: artifacts | |
key: ${{ runner.os }}-${{ github.sha }} | |
- name: Run test test:splitter | |
run: cd integration_tests && yarn && yarn test:splitter | |
- name: Cleanup resources | |
if: always() | |
run: | | |
docker stop -t0 $(docker ps -a -q) || true | |
docker container prune -f || true | |
docker volume rm $(docker volume ls -q) || true |