Skip to content

Fix ledger nano downcasting and add test (#986) #2487

Fix ledger nano downcasting and add test (#986)

Fix ledger nano downcasting and add test (#986) #2487

Workflow file for this run

name: Linting
on:
push:
branches: [develop, production]
paths:
- ".github/workflows/lint.yml"
- ".github/actions/**"
- "**.rs" # Include all rust files
- "**Cargo.toml" # Include all Cargo.toml files
- "**Cargo.lock" # Include all Cargo.lock files
- "!**/bindings/**" # Exclude all bindings
pull_request:
branches: [develop, production]
paths:
- ".github/workflows/lint.yml"
- ".github/actions/**"
- "**.rs" # Include all rust files
- "**Cargo.toml" # Include all Cargo.toml files
- "**Cargo.lock" # Include all Cargo.lock files
- "!**/bindings/**" # Exclude all bindings
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_INCREMENTAL: 0
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout the Source Code
uses: actions/checkout@v3
- name: Set up Rust
uses: ./.github/actions/setup-rust
with:
toolchain: beta
components: clippy
- name: Install Protoc
uses: arduino/setup-protoc@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install Required Dependencies
run: |
sudo apt-get update
sudo apt-get install libudev-dev libusb-1.0-0-dev
# A first run without features to detect feature related issues.
- name: Run Clippy
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all-targets -- --deny warnings
name: Clippy Results for the Rust Core
# The second run will continue from where the first left off.
- name: Run Clippy
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all-features --all-targets -- --deny warnings
name: Clippy Results for the Rust Core
check-unused-deps:
name: Check Unused Dependencies
runs-on: ubuntu-latest
steps:
- name: Checkout the Source Code
uses: actions/checkout@v3
- name: Set up Rust
uses: ./.github/actions/setup-rust
with:
toolchain: nightly
install: cargo-udeps
- name: Install Protoc
uses: arduino/setup-protoc@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install Required Dependencies
run: |
sudo apt-get update
sudo apt-get install libudev-dev libusb-1.0-0-dev
- name: Run Cargo Udeps
uses: actions-rs/cargo@v1
with:
command: udeps
args: --all-targets --all-features
check-format:
name: Check Format
runs-on: ubuntu-latest
steps:
- name: Checkout the Source Code
uses: actions/checkout@v3
- name: Set up Rust
uses: ./.github/actions/setup-rust
with:
toolchain: nightly
components: rustfmt
- name: Install cargo-license-template
uses: actions-rs/cargo@v1
with:
command: install
args: --force cargo-license-template
- name: Run Cargo Fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Run cargo-license-template
uses: actions-rs/cargo@v1
with:
command: license-template
args: --template .license_template
audit:
name: Perform Security Audit
runs-on: ubuntu-latest
steps:
- name: Checkout the Source Code
uses: actions/checkout@v3
- name: Set up Rust
uses: ./.github/actions/setup-rust
with:
toolchain: nightly
install: cargo-audit
- name: Run Cargo Audit
uses: actions-rs/cargo@v1
with:
command: audit
# The ignored security advisories:
#
# - RUSTSEC-2021-0145: `atty` potential unaligned read.
# - Waiting for https://github.com/mackwic/colored/pull/122 to be merged.
# - RUSTSEC-2021-0065: https://rustsec.org/advisories/RUSTSEC-2021-0065
# - anymap is unmaintained 🤷‍♀️
args: --file Cargo.lock --deny warnings --ignore RUSTSEC-2021-0145 --ignore RUSTSEC-2021-0065
no_std:
name: Check `no_std` compatability
runs-on: ubuntu-latest
steps:
- name: Checkout the Source Code
uses: actions/checkout@v3
- name: Set up Rust
uses: ./.github/actions/setup-rust
with:
target: riscv64gc-unknown-none-elf
- name: Check
uses: actions-rs/cargo@v1
with:
command: check
args: --no-default-features -F serde -p iota-sdk --target=riscv64gc-unknown-none-elf