Use polkadot_sdk umbrella crate #20
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: 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 |