Prep for v0.6.0 release (#20) #86
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: | |
build: | |
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@22c9328bcba27aa81a32b1bef27c7e3c78052531 # v2.0.1 | |
- name: Check all features | |
uses: actions-rs/[email protected] | |
with: | |
command: check | |
args: --all-targets --all-features --workspace | |
- name: Check no features | |
uses: actions-rs/[email protected] | |
with: | |
command: check | |
args: --all-targets --no-default-features --workspace | |
wasm: | |
name: Check WASM compatibility | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- 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@22c9328bcba27aa81a32b1bef27c7e3c78052531 # v2.0.1 | |
- name: Check all features | |
uses: actions-rs/[email protected] | |
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 | |
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-encode/README.md | |
no_std: | |
name: Check no_std build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- 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/[email protected] | |
- name: Check no_std build | |
uses: actions-rs/[email protected] | |
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 bits,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@22c9328bcba27aa81a32b1bef27c7e3c78052531 # v2.0.1 | |
- name: Cargo fmt | |
uses: actions-rs/[email protected] | |
with: | |
command: fmt | |
args: --all -- --check | |
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@22c9328bcba27aa81a32b1bef27c7e3c78052531 # v2.0.1 | |
- 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@22c9328bcba27aa81a32b1bef27c7e3c78052531 # v2.0.1 | |
- name: Cargo test | |
uses: actions-rs/[email protected] | |
with: | |
command: test | |
args: --all-targets --workspace | |
- name: Cargo test no_std | |
uses: actions-rs/[email protected] | |
with: | |
command: test | |
args: --all-targets --workspace --no-default-features --features bits,primitive-types | |
- name: Cargo test docs | |
uses: actions-rs/[email protected] | |
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@22c9328bcba27aa81a32b1bef27c7e3c78052531 # v2.0.1 | |
- name: Run clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --all-targets -- -D warnings |