use core::error::Error
and remove std feature (#67)
#232
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: | |
# Run jobs when commits are pushed to | |
# main: | |
branches: | |
- main | |
pull_request: | |
# Run jobs for any external PR that wants | |
# to merge to main, too: | |
branches: | |
- main | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
check: | |
name: Cargo check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Install Rust stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
- name: Check all features | |
uses: actions-rs/cargo@v1.0.3 | |
with: | |
command: check | |
args: --all-targets --all-features --workspace | |
- name: Check no features | |
uses: actions-rs/cargo@v1.0.3 | |
with: | |
command: check | |
args: --all-targets --no-default-features --workspace | |
machete: | |
name: Check unused dependencies | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install Rust stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
- name: Install cargo-machete | |
run: cargo install cargo-machete | |
- name: Check unused dependencies | |
uses: actions-rs/cargo@v1.0.3 | |
with: | |
command: machete | |
wasm: | |
name: Check WASM compatibility | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Install Rust stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
target: wasm32-unknown-unknown | |
override: true | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
- name: Check all features | |
uses: actions-rs/cargo@v1.0.3 | |
with: | |
command: check | |
# Test targets don't compile to WASM successfully because | |
# we run tests using BitVec<u64,_> which doesn't. | |
args: --all-features --target wasm32-unknown-unknown | |
no_std: | |
name: Check no_std build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Install Rust stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
target: aarch64-unknown-none | |
override: true | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
- name: Check no_std build | |
uses: actions-rs/cargo@v1.0.3 | |
with: | |
command: check | |
# The aarch64-unknown-none doesn't support `std`, so this | |
# will fail if the crate is not no_std compatible. | |
args: --no-default-features --target aarch64-unknown-none --features primitive-types,derive | |
fmt: | |
name: Cargo fmt | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Install Rust stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
components: rustfmt | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
- name: Cargo fmt | |
uses: actions-rs/cargo@v1.0.3 | |
with: | |
command: fmt | |
args: --all -- --check | |
diff-readme-files: | |
name: Check that READMEs are identical | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Diff READMEs | |
run: diff -q README.md scale-decode/README.md | |
docs: | |
name: Check documentation | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Install Rust stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
- name: Check internal documentation links | |
run: RUSTDOCFLAGS="--deny rustdoc::broken_intra_doc_links" cargo doc -vv --workspace --no-deps --document-private-items | |
tests: | |
name: Cargo test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Install Rust stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
- name: Cargo test | |
uses: actions-rs/cargo@v1.0.3 | |
with: | |
command: test | |
args: --all-targets --workspace | |
- name: Cargo test no_std | |
uses: actions-rs/cargo@v1.0.3 | |
with: | |
command: test | |
args: --all-targets --workspace --no-default-features --features derive,primitive-types | |
- name: Cargo test docs | |
uses: actions-rs/cargo@v1.0.3 | |
with: | |
command: test | |
args: --doc --workspace | |
clippy: | |
name: Cargo clippy | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Install Rust stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
components: clippy | |
override: true | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5 | |
- name: Run clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --all-targets -- -D warnings |