ci: split tests workflow into two and refactor them #190
Workflow file for this run
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
name: Benchmarking | |
on: | |
push: | |
branches: | |
# Long living branches | |
- main | |
- dynamic_link | |
- /^[0-9]+\.[0-9]+$/ | |
# 👇Add your branch here if benchmarking matters to your work | |
pull_request: | |
jobs: | |
benchmarking: | |
name: benchmarking | |
runs-on: ubuntu-latest | |
needs: [package_vm, package_crypto] | |
env: | |
RUST_BACKTRACE: 1 | |
working-directory: ./packages/ | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.60.0 | |
target: wasm32-unknown-unknown | |
profile: minimal | |
override: true | |
- name: Cache cargo | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cargo | |
key: cargocache-v2-benchmarking-rust:1.60.0-{{ checksum "Cargo.lock" }} | |
- name: Version information | |
run: rustc --version; cargo --version; rustup --version; rustup target list --installed | |
- name: Run vm benchmarks (Singlepass) | |
working-directory: ${{env.working-directory}}/vm | |
run: cargo bench --no-default-features --features bench -- --color never --save-baseline singlepass | |
- name: Run crypto benchmarks | |
working-directory: ${{env.working-directory}}/crypto | |
run: cargo bench -- --color never --save-baseline crypto | |
package_crypto: | |
name: package_crypto | |
runs-on: ubuntu-latest | |
env: | |
working-directory: ./packages/crypto | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.60.0 | |
target: wasm32-unknown-unknown | |
profile: minimal | |
override: true | |
- name: Cache cargo | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cargo | |
key: cargocache-v2-package_crypto-rust:1.60.0-${{ hashFiles('Cargo.lock') }} | |
- name: Version information | |
run: rustc --version; cargo --version; rustup --version; rustup target list --installed | |
- name: Build | |
working-directory: ${{env.working-directory}} | |
run: cargo build --locked | |
- name: Run tests | |
working-directory: ${{env.working-directory}} | |
run: cargo test --locked | |
package_vm: | |
name: package_vm | |
runs-on: ubuntu-latest | |
env: | |
working-directory: ./packages/vm | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.60.0 | |
target: wasm32-unknown-unknown | |
profile: minimal | |
override: true | |
- name: Cache cargo | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cargo | |
key: cargocache-v2-package_vm-rust:1.60.0-${{ hashFiles('Cargo.lock') }} | |
- name: Version information | |
run: rustc --version; cargo --version; rustup --version; rustup target list --installed | |
- name: Build | |
working-directory: ${{env.working-directory}} | |
run: cargo build --locked | |
- name: Build with all features | |
working-directory: ${{env.working-directory}} | |
run: cargo build --locked --features iterator,staking,stargate | |
- name: Test | |
working-directory: ${{env.working-directory}} | |
run: cargo test --locked | |
- name: Test with all features | |
working-directory: ${{env.working-directory}} | |
run: cargo test --locked --features iterator,staking,stargate |