Skip to content

Use polkadot_sdk umbrella crate #20

Use polkadot_sdk umbrella crate

Use polkadot_sdk umbrella crate #20

Workflow file for this run

name: Rust
on:
push:
branches:
- main
pull_request:
branches:
- main
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
fmt:
name: cargo fmt
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust compilation prerequisites
run: |
sudo apt update
sudo apt install -y protobuf-compiler
rustup toolchain install stable --profile minimal --no-self-update
rustup target add wasm32-unknown-unknown --toolchain stable
rustup toolchain install nightly --profile minimal --no-self-update
rustup component add rustfmt clippy --toolchain nightly
- name: Rust Cache
uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
- name: cargo fmt
run: cargo +nightly fmt --all -- --check
- if: failure()
uses: andymckay/cancel-action@271cfbfa11ca9222f7be99a47e8f929574549e0a # v0.4
machete:
name: cargo machete
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust compilation prerequisites
run: |
sudo apt update
sudo apt install -y protobuf-compiler
rustup toolchain install stable --profile minimal --no-self-update
rustup target add wasm32-unknown-unknown --toolchain stable
rustup toolchain install nightly --profile minimal --no-self-update
rustup component add rustfmt clippy --toolchain nightly
- name: Rust Cache
uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
- name: Install cargo-machete
run: cargo install cargo-machete
- name: cargo machete
run: cargo machete
- if: failure()
uses: andymckay/cancel-action@271cfbfa11ca9222f7be99a47e8f929574549e0a # v0.4
# clippy:
# name: cargo clippy
# needs: [fmt, machete]
# runs-on: ubuntu-latest
# steps:
# - name: Checkout sources
# uses: actions/checkout@v4
# - name: Install Rust compilation prerequisites
# run: |
# sudo apt update
# sudo apt install -y protobuf-compiler
# rustup toolchain install stable --profile minimal --no-self-update
# rustup target add wasm32-unknown-unknown --toolchain stable
# rustup toolchain install nightly --profile minimal --no-self-update
# rustup component add rustfmt clippy --toolchain nightly
# - name: Rust Cache
# uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
# - name: cargo clippy
# run: cargo clippy --all-targets --all-features -- -D warnings
# - if: failure()
# uses: andymckay/cancel-action@271cfbfa11ca9222f7be99a47e8f929574549e0a # v0.4
check:
name: cargo check
needs: [fmt, machete]
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust compilation prerequisites
run: |
sudo apt update
sudo apt install -y protobuf-compiler
rustup toolchain install stable --profile minimal --no-self-update
rustup target add wasm32-unknown-unknown --toolchain stable
rustup toolchain install nightly --profile minimal --no-self-update
rustup component add rustfmt clippy --toolchain nightly
- name: Rust Cache
uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
- name: cargo check
run: cargo check --all-targets
- if: failure()
uses: andymckay/cancel-action@271cfbfa11ca9222f7be99a47e8f929574549e0a # v0.4
docs:
name: cargo doc
needs: [fmt, machete]
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust compilation prerequisites
run: |
sudo apt update
sudo apt install -y protobuf-compiler
rustup toolchain install stable --profile minimal --no-self-update
rustup target add wasm32-unknown-unknown --toolchain stable
rustup toolchain install nightly --profile minimal --no-self-update
rustup component add rustfmt clippy --toolchain nightly
- name: Rust Cache
uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
- name: cargo doc
run: RUSTDOCFLAGS="--deny rustdoc::broken_intra_doc_links" cargo doc -vv --workspace --no-deps --document-private-items
- name: cargo test --doc
run: cargo test --doc
- if: failure()
uses: andymckay/cancel-action@271cfbfa11ca9222f7be99a47e8f929574549e0a # v0.4
tests:
name: cargo test
needs: [check, docs]
# needs: [clippy, check, docs]
runs-on: ubuntu-latest-16-cores
timeout-minutes: 30
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust compilation prerequisites
run: |
sudo apt update
sudo apt install -y protobuf-compiler
rustup toolchain install stable --profile minimal --no-self-update
rustup target add wasm32-unknown-unknown --toolchain stable
rustup toolchain install nightly --profile minimal --no-self-update
rustup component add rustfmt clippy --toolchain nightly
- name: Rust Cache
uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
- name: cargo test
run: cargo test
- if: failure()
uses: andymckay/cancel-action@271cfbfa11ca9222f7be99a47e8f929574549e0a # v0.4