Skip to content

pallet-revive integration #36

pallet-revive integration

pallet-revive integration #36

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
SKIP_WASM_BUILD: 1
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 component add rust-src --toolchain stable
rustup toolchain install nightly --profile minimal --no-self-update
rustup component add rustfmt clippy --toolchain nightly
rustup default stable
- 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 --workspace --no-deps --document-private-items
# disabled for now as it fails with a no space left error
# - name: Clean up documentation artifacts
# run: rm -rf target/doc
# - name: cargo test --doc
# run: cargo test --doc
- if: failure()
uses: andymckay/cancel-action@271cfbfa11ca9222f7be99a47e8f929574549e0a # v0.4
tests:
name: cargo test
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