fix unit tests #27
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: CI | |
on: | |
push: | |
branches: | |
- QA | |
- UAT | |
- Testnet | |
- master | |
pull_request: | |
branches: [master] | |
workflow_dispatch: | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: true | |
jobs: | |
# 5irechain linting(fmt + clippy) | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
with: | |
token: ${{ github.token }} | |
submodules: recursive | |
- name: Install toolchain | |
uses: dtolnay/rust-toolchain@nightly | |
with: | |
components: rustfmt | |
- name: Rust cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: "${{ secrets.READ_DEPLOY_KEY }}" | |
- name: Install Protobuf | |
run: sudo apt-get install protobuf-compiler | |
- name: Check format | |
run: cargo +nightly fmt --all --check | |
- name: Add Cargo Clippy | |
run: rustup component add clippy | |
- name: Clippy | |
run: cargo clippy -- -D warnings | |
# 5irechain cargo check and unit test | |
build_and_test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
with: | |
token: ${{ github.token }} | |
submodules: recursive | |
- name: Install toolchain | |
uses: dtolnay/rust-toolchain@nightly | |
with: | |
toolchain: nightly | |
targets: wasm32-unknown-unknown | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v1 | |
with: | |
version: '3.9.1' | |
- name: Rust cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: "${{ secrets.READ_DEPLOY_KEY }}" | |
- name: Build | |
run: cargo check | |
- name: Test | |
run: cargo test | |
# 5irechain integration tests | |
e2e: | |
name: integration-tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Cancel Previous Runs | |
uses: styfle/[email protected] | |
with: | |
access_token: ${{ github.token }} | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Configure sccache | |
run: | | |
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV | |
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV | |
- name: Run sccache-cache | |
uses: mozilla-actions/[email protected] | |
- name: Restore Cache | |
if: always() | |
uses: actions/cache/restore@v3 | |
with: | |
path: | | |
~/.cargo/registry | |
target/release | |
target/debug | |
key: ${{ runner.os }}-cargo-index-${{ github.ref_name }}-e2e | |
- name: Install toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: nightly | |
- name: Install Nodejs | |
uses: actions/setup-node@v3 | |
with: | |
cache: "yarn" | |
cache-dependency-path: "./integration-test-suite/yarn.lock" | |
- name: Install Protobuf | |
run: sudo apt-get install protobuf-compiler | |
- name: Install Packages | |
run: cd integration-test-suite && yarn install --frozen-lockfile | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: "${{ secrets.READ_DEPLOY_KEY }}" | |
- name: Build Node for Integration Tests (Release) | |
run: cargo build --release | |
- name: Run Integration Tests | |
run: cd integration-test-suite && yarn test | |
- name: Save Cache | |
if: ${{ !cancelled() }} | |
uses: actions/cache/save@v3 | |
with: | |
path: | | |
~/.cargo/registry | |
target/release | |
target/debug | |
key: ${{ runner.os }}-cargo-index-${{ github.ref_name }}-integration-tests |