Skip to content

Cache substrate rpc #781

Cache substrate rpc

Cache substrate rpc #781

Workflow file for this run

name: Tests
on:
pull_request:
branches:
- develop
workflow_dispatch:
env:
DEV_PACKAGES: build-essential musl musl-dev musl-tools pkg-config libssl-dev librust-openssl-sys-dev libc6 clang
ETH1_INFURA_API_KEY: ${{ secrets.ETH1_INFURA_API_KEY }}
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }}
jobs:
macos-check:
name: macOS Check
runs-on: macos-latest
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-macos-latest-${{ matrix.target }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: Setup | Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: ${{ matrix.target }}
- name: Rust Cache
uses: Swatinem/rust-cache@v2
with:
shared-key: "rust"
- name: Build Checking on ${{ matrix.target }}
run: cargo check --target=${{ matrix.target }} --features native-tls/vendored --locked
strategy:
fail-fast: true
matrix:
target:
- x86_64-apple-darwin
macos-unit-tests:
name: macOS Unit Tests
runs-on: macos-latest
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-macos-unit-tests-${{ matrix.target }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: Setup | Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: ${{ matrix.target }}
- name: Rust Cache
uses: Swatinem/rust-cache@v2
with:
shared-key: "rust"
- name: Testing on ${{ matrix.target }}
run: cargo test --target=${{ matrix.target }} --locked
strategy:
fail-fast: true
matrix:
target:
- x86_64-apple-darwin
linux-check:
name: Linux Check
runs-on: ubuntu-latest
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-linux-check-${{ matrix.target }}
cancel-in-progress: true
steps:
- name: install system build dependencies
run: sudo apt-get update && sudo apt-get install ${DEV_PACKAGES}
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: Setup | Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: ${{ matrix.target }}
- name: Install cross
run: cargo install cross --locked
- name: Build Checking on ${{ matrix.target }} using cross
run: cross check --target=${{ matrix.target }} --features native-tls/vendored --locked
strategy:
fail-fast: true
matrix:
target:
- aarch64-unknown-linux-musl
- x86_64-unknown-linux-musl
linux-unit-tests:
name: Linux Unit Tests
runs-on: ubuntu-latest
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-linux-unit-tests-${{ matrix.target }}
cancel-in-progress: true
steps:
- name: install system build dependencies
run: sudo apt-get update && sudo apt-get install ${DEV_PACKAGES}
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: Setup | Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: ${{ matrix.target }}
- name: Rust Cache
uses: Swatinem/rust-cache@v2
with:
shared-key: "rust"
- name: Create Env file
run: |
touch .env
echo ETH1_INFURA_API_KEY = ${{ secrets.ETH1_INFURA_API_KEY }} >> .env
- name: Testing on ${{ matrix.target }}
run: cargo test --target=${{ matrix.target }} --features native-tls/vendored --locked
strategy:
fail-fast: true
matrix:
target:
- x86_64-unknown-linux-gnu
linux-integration-tests:
name: Linux Integration Tests
runs-on: ubuntu-latest
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-linux-integration-tests-${{ matrix.target }}-${{ matrix.test-type }}
cancel-in-progress: true
steps:
- name: install system build dependencies
run: sudo apt-get update && sudo apt-get install ${DEV_PACKAGES}
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: Rust Cache
uses: Swatinem/rust-cache@v2
with:
shared-key: "rust"
- name: Download fixtures
run: |
mkdir -p ./tests/solidity-fixtures/vanchor_2/2
mkdir -p ./tests/solidity-fixtures/vanchor_16/2
curl -L -o ./tests/solidity-fixtures/vanchor_2/2/witness_calculator.cjs https://dapp-fixtures.s3.amazonaws.com/develop/vanchor_2/2/witness_calculator.cjs
curl -L -o ./tests/solidity-fixtures/vanchor_2/2/poseidon_vanchor_2_2.wasm https://dapp-fixtures.s3.amazonaws.com/develop/vanchor_2/2/poseidon_vanchor_2_2.wasm
curl -L -o ./tests/solidity-fixtures/vanchor_2/2/circuit_final.zkey https://dapp-fixtures.s3.amazonaws.com/develop/vanchor_2/2/circuit_final.zkey
curl -L -o ./tests/solidity-fixtures/vanchor_16/2/witness_calculator.cjs https://dapp-fixtures.s3.amazonaws.com/develop/vanchor_16/2/witness_calculator.cjs
curl -L -o ./tests/solidity-fixtures/vanchor_16/2/poseidon_vanchor_16_2.wasm https://dapp-fixtures.s3.amazonaws.com/develop/vanchor_16/2/poseidon_vanchor_16_2.wasm
curl -L -o ./tests/solidity-fixtures/vanchor_16/2/circuit_final.zkey https://dapp-fixtures.s3.amazonaws.com/develop/vanchor_16/2/circuit_final.zkey
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version-file: "./tests/.nvmrc"
cache: "yarn"
cache-dependency-path: "./tests/yarn.lock"
registry-url: "https://npm.pkg.github.com"
- name: Install Node Packages.
run: cd tests && yarn
- name: Build relayer
run: cargo build --features integration-tests,cli,native-tls/vendored
- name: Pull Docker Images used for testing.
run: docker pull ghcr.io/webb-tools/tangle/tangle-standalone-integration-tests:main
- name: Webb Relayer Integration tests.
run: cd tests && yarn ${{ matrix.test-type }}
- name: Cleanup fixtures
run: |
rm -rf ./tests/solidity-fixtures
rm -rf ./tests/solidity-fixtures
strategy:
fail-fast: false
matrix:
target:
- x86_64-unknown-linux-gnu
test-type:
- test-evm