message: Add benchmarking CI job
diff: @@ -17,6 +17,10 @@ workflows:
  - contract_staking
  - fmt
  - clippy
  + - benchmarking:
  + requires:
  + - package_vm_cranelift
  + - package_vm_singlepass
  deploy:
  jobs:
  - build_and_upload_devcontracts:
  @@ -649,6 +653,47 @@ jobs:
  - contracts/staking/target/debug/deps
  key: cargocache-v2-clippy-rust:1.47.0-{{ checksum "Cargo.lock" }}-{{ checksum "contracts/burner/Cargo.lock" }}-{{ checksum "contracts/hackatom/Cargo.lock" }}-{{ checksum "contracts/queue/Cargo.lock" }}-{{ checksum "contracts/reflect/Cargo.lock" }}-{{ checksum "contracts/staking/Cargo.lock" }}
  + benchmarking:
  + docker:
  + - image: rust:1.47.0
  + environment:
  + NIGHTLY_TOOLCHAIN: nightly-2020-09-08
  + steps:
  + - checkout
  + - run:
  + name: Install Rust nightly
  + command: |
  + rustup --version
  + rustup toolchain install $NIGHTLY_TOOLCHAIN --allow-downgrade --profile minimal --component clippy
  + rustup target list --installed
  + - run:
  + name: Version information (default; stable)
  + command: rustc --version && cargo --version
  + - run:
  + name: Version information (nightly)
  + command: rustc +$NIGHTLY_TOOLCHAIN --version && cargo +$NIGHTLY_TOOLCHAIN --version
  + - restore_cache:
  + keys:
  + - cargocache-v2-benchmarking-rust:1.47.0-{{ checksum "Cargo.lock" }}
  + - run:
  + name: Run benchmarks (Singlepass)
  + working_directory: ~/project/packages/vm
  + command: cargo +$NIGHTLY_TOOLCHAIN bench --no-default-features --features singlepass,default-singlepass
  + - run:
  + name: Run benchmarks (Cranelift)
  + working_directory: ~/project/packages/vm
  + command: cargo +$NIGHTLY_TOOLCHAIN bench --no-default-features --features cranelift,default-cranelift
  + - save_cache:
  + paths:
  + - /usr/local/cargo/registry
  + - target/debug/.fingerprint
  + - target/debug/build
  + - target/debug/deps
  + - target/release/.fingerprint
  + - target/release/build
  + - target/release/deps
  + key: cargocache-v2-benchmarking-rust:1.47.0-{{ checksum "Cargo.lock" }}
  +
  # This job roughly follows the instructions from https://circleci.com/blog/publishing-to-github-releases-via-circleci/
  build_and_upload_devcontracts:
  docker:
  