Skip to content

convert block constructors to typed variants #493

convert block constructors to typed variants

convert block constructors to typed variants #493

Workflow file for this run

on: [push, pull_request]
name: CI
jobs:
fmt:
name: Fmt
runs-on: ubuntu-latest
env:
RUST_BACKTRACE: full
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: Run cargo fmt (FutureSDR)
run: cargo fmt --all -- --check
- name: Run cargo fmt (FutureDSP)
run: cargo fmt --all --manifest-path=crates/futuredsp/Cargo.toml -- --check
- name: Run cargo fmt (Macros)
run: cargo fmt --all --manifest-path=crates/macros/Cargo.toml -- --check
- name: Run cargo fmt (Prophecy)
run: cargo fmt --all --manifest-path=crates/prophecy/Cargo.toml -- --check
- name: Run cargo fmt (Remote)
run: cargo fmt --all --manifest-path=crates/remote/Cargo.toml -- --check
- name: Run cargo fmt (Types)
run: cargo fmt --all --manifest-path=crates/types/Cargo.toml -- --check
- name: Run cargo fmt (perf/buffer_rand)
run: cargo fmt --all --manifest-path=perf/buffer_rand/Cargo.toml -- --check
- name: Run cargo fmt (perf/buffer_size)
run: cargo fmt --all --manifest-path=perf/buffer_size/Cargo.toml -- --check
- name: Run cargo fmt (perf/fir)
run: cargo fmt --all --manifest-path=perf/fir/Cargo.toml -- --check
- name: Run cargo fmt (perf/fir_latency)
run: cargo fmt --all --manifest-path=perf/fir_latency/Cargo.toml -- --check
- name: Run cargo fmt (perf/msg)
run: cargo fmt --all --manifest-path=perf/msg/Cargo.toml -- --check
- name: Run cargo fmt (perf/null_rand)
run: cargo fmt --all --manifest-path=perf/null_rand/Cargo.toml -- --check
- name: Run cargo fmt (perf/null_rand_latency)
run: cargo fmt --all --manifest-path=perf/null_rand_latency/Cargo.toml -- --check
- name: Run cargo fmt (perf/vulkan)
run: cargo fmt --all --manifest-path=perf/vulkan/Cargo.toml -- --check
- name: Run cargo fmt (perf/wgpu)
run: cargo fmt --all --manifest-path=perf/wgpu/Cargo.toml -- --check
- name: Run cargo fmt (perf/zynq)
run: cargo fmt --all --manifest-path=perf/zynq/Cargo.toml -- --check
- name: Run cargo fmt (examples/adsb)
run: cargo fmt --all --manifest-path=examples/adsb/Cargo.toml -- --check
- name: Run cargo fmt (examples/android)
run: cargo fmt --all --manifest-path=examples/android/Cargo.toml -- --check
- name: Run cargo fmt (examples/android-hw)
run: cargo fmt --all --manifest-path=examples/android-hw/Cargo.toml -- --check
- name: Run cargo fmt (examples/audio)
run: cargo fmt --all --manifest-path=examples/audio/Cargo.toml -- --check
- name: Run cargo fmt (examples/custom-routes)
run: cargo fmt --all --manifest-path=examples/custom-routes/Cargo.toml -- --check
- name: Run cargo fmt (examples/cw)
run: cargo fmt --all --manifest-path=examples/cw/Cargo.toml -- --check
- name: Run cargo fmt (examples/debug)
run: cargo fmt --all --manifest-path=examples/debug/Cargo.toml -- --check
- name: Run cargo fmt (examples/egui)
run: cargo fmt --all --manifest-path=examples/egui/Cargo.toml -- --check
- name: Run cargo fmt (examples/file-trx)
run: cargo fmt --all --manifest-path=examples/file-trx/Cargo.toml -- --check
- name: Run cargo fmt (examples/firdes)
run: cargo fmt --all --manifest-path=examples/firdes/Cargo.toml -- --check
- name: Run cargo fmt (examples/fm-receiver)
run: cargo fmt --all --manifest-path=examples/fm-receiver/Cargo.toml -- --check
- name: Run cargo fmt (examples/keyfob)
run: cargo fmt --all --manifest-path=examples/keyfob/Cargo.toml -- --check
- name: Run cargo fmt (examples/logging)
run: cargo fmt --all --manifest-path=examples/logging/Cargo.toml -- --check
- name: Run cargo fmt (examples/lora)
run: cargo fmt --all --manifest-path=examples/lora/Cargo.toml -- --check
- name: Run cargo fmt (examples/m17)
run: cargo fmt --all --manifest-path=examples/m17/Cargo.toml -- --check
- name: Run cargo fmt (examples/macros)
run: cargo fmt --all --manifest-path=examples/macros/Cargo.toml -- --check
- name: Run cargo fmt (examples/rattlegram)
run: cargo fmt --all --manifest-path=examples/rattlegram/Cargo.toml -- --check
- name: Run cargo fmt (examples/spectrum)
run: cargo fmt --all --manifest-path=examples/spectrum/Cargo.toml -- --check
- name: Run cargo fmt (examples/ssb)
run: cargo fmt --all --manifest-path=examples/ssb/Cargo.toml -- --check
- name: Run cargo fmt (examples/wasm)
run: cargo fmt --all --manifest-path=examples/wasm/Cargo.toml -- --check
- name: Run cargo fmt (examples/wgpu)
run: cargo fmt --all --manifest-path=examples/wgpu/Cargo.toml -- --check
- name: Run cargo fmt (examples/wlan)
run: cargo fmt --all --manifest-path=examples/wlan/Cargo.toml -- --check
- name: Run cargo fmt (examples/zeromq)
run: cargo fmt --all --manifest-path=examples/zeromq/Cargo.toml -- --check
- name: Run cargo fmt (examples/zigbee)
run: cargo fmt --all --manifest-path=examples/zigbee/Cargo.toml -- --check
clippy_main:
name: Clippy Main
runs-on: ubuntu-latest
env:
RUST_BACKTRACE: full
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
components: clippy
- name: Apt Update
run: sudo apt-get -y update
- name: Install ZeroMQ
run: sudo apt-get install -y libzmq3-dev
- name: Install alsalibs
run: sudo apt-get -y install libasound2-dev
- name: Install LTTng
run: sudo apt-get -y install liblttng-ust-dev
- name: Install Soapy
run: sudo apt-get -y install libsoapysdr-dev
- name: Run cargo clippy (main)
run: cargo clippy --all-targets --workspace --features=aaronia_http,vulkan,zeromq,audio,flow_scheduler,tpb_scheduler,seify_dummy,soapy,lttng,zynq,wgpu -- -D warnings
- name: Run cargo clippy (futuredsp)
run: cargo clippy --lib --manifest-path=crates/futuredsp/Cargo.toml -- -D warnings
- name: Run cargo clippy (macros)
run: cargo clippy --lib --manifest-path=crates/macros/Cargo.toml -- -D warnings
- name: Run cargo clippy (remote)
run: cargo clippy --lib --manifest-path=crates/remote/Cargo.toml -- -D warnings
- name: Run cargo clippy (types)
run: cargo clippy --lib --manifest-path=crates/types/Cargo.toml -- -D warnings
clippy_perf:
name: Clippy Perf
runs-on: ubuntu-latest
env:
RUST_BACKTRACE: full
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
components: clippy
- name: Apt Update
run: sudo apt-get -y update
- name: Install ZeroMQ
run: sudo apt-get install -y libzmq3-dev
- name: Install alsalibs
run: sudo apt-get -y install libasound2-dev
- name: Install LTTng
run: sudo apt-get -y install liblttng-ust-dev
- name: Install Soapy
run: sudo apt-get -y install libsoapysdr-dev
- name: Run cargo clippy (perf/buffer_rand)
run: cargo clippy --all-targets --manifest-path=perf/buffer_rand/Cargo.toml -- -D warnings
- name: Run cargo clippy (perf/buffer_size)
run: cargo clippy --all-targets --manifest-path=perf/buffer_size/Cargo.toml -- -D warnings
- name: Run cargo clippy (perf/fir)
run: cargo clippy --all-targets --manifest-path=perf/fir/Cargo.toml -- -D warnings
- name: Run cargo clippy (perf/fir_latency)
run: cargo clippy --all-targets --manifest-path=perf/fir_latency/Cargo.toml -- -D warnings
- name: Run cargo clippy (perf/msg)
run: cargo clippy --all-targets --manifest-path=perf/msg/Cargo.toml -- -D warnings
- name: Run cargo clippy (perf/null_rand)
run: cargo clippy --all-targets --manifest-path=perf/null_rand/Cargo.toml -- -D warnings
- name: Run cargo clippy (perf/null_rand_latency)
run: cargo clippy --all-targets --manifest-path=perf/null_rand_latency/Cargo.toml -- -D warnings
- name: Run cargo clippy (perf/vulkan)
run: cargo clippy --all-targets --manifest-path=perf/vulkan/Cargo.toml -- -D warnings
- name: Run cargo clippy (perf/wgpu)
run: cargo clippy --all-targets --manifest-path=perf/wgpu/Cargo.toml -- -D warnings
- name: Run cargo clippy (perf/zynq)
run: cargo clippy --all-targets --manifest-path=perf/zynq/Cargo.toml -- -D warnings
clippy_examples:
name: Clippy Examples
runs-on: ubuntu-latest
env:
RUST_BACKTRACE: full
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
components: clippy
- name: Apt Update
run: sudo apt-get -y update
- name: Install ZeroMQ
run: sudo apt-get install -y libzmq3-dev
- name: Install alsalibs
run: sudo apt-get -y install libasound2-dev
- name: Install libdbus-dev
run: sudo apt-get -y install libdbus-1-dev
- name: Install LTTng
run: sudo apt-get -y install liblttng-ust-dev
- name: Install Soapy
run: sudo apt-get -y install libsoapysdr-dev
- name: Run cargo clippy (examples/adsb)
run: cargo clippy --all-targets --manifest-path=examples/adsb/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/android)
run: cargo clippy --all-targets --manifest-path=examples/android/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/android-hw)
run: cargo clippy --all-targets --manifest-path=examples/android-hw/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/audio)
run: cargo clippy --all-targets --manifest-path=examples/audio/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/custom-routes)
run: cargo clippy --all-targets --manifest-path=examples/custom-routes/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/cw)
run: cargo clippy --all-targets --manifest-path=examples/cw/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/debug)
run: cargo clippy --all-targets --manifest-path=examples/debug/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/egui)
run: cargo clippy --all-targets --manifest-path=examples/egui/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/file-trx)
run: cargo clippy --all-targets --manifest-path=examples/file-trx/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/firdes)
run: cargo clippy --all-targets --manifest-path=examples/firdes/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/fm-receiver)
run: cargo clippy --all-targets --manifest-path=examples/fm-receiver/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/keyfob)
run: cargo clippy --all-targets --manifest-path=examples/keyfob/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/logging)
run: cargo clippy --all-targets --manifest-path=examples/logging/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/lora)
run: cargo clippy --all-targets --manifest-path=examples/lora/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/m17)
run: cargo clippy --all-targets --manifest-path=examples/m17/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/macros)
run: cargo clippy --all-targets --manifest-path=examples/macros/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/rattlegram)
run: cargo clippy --all-targets --manifest-path=examples/rattlegram/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/spectrum)
run: cargo clippy --all-targets --manifest-path=examples/spectrum/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/ssb)
run: cargo clippy --all-targets --manifest-path=examples/ssb/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/wasm)
run: cargo clippy --all-targets --manifest-path=examples/wasm/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/wgpu)
run: cargo clippy --all-targets --manifest-path=examples/wgpu/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/wlan)
run: cargo clippy --all-targets --manifest-path=examples/wlan/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/zeromq)
run: cargo clippy --all-targets --manifest-path=examples/zeromq/Cargo.toml -- -D warnings
- name: Run cargo clippy (examples/zigbee)
run: cargo clippy --all-targets --manifest-path=examples/zigbee/Cargo.toml -- -D warnings
clippy_wasm:
name: Clippy Wasm
runs-on: ubuntu-latest
env:
RUST_BACKTRACE: full
RUSTFLAGS: '--cfg=web_sys_unstable_apis'
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
components: clippy
target: wasm32-unknown-unknown
- name: Run cargo clippy for wasm32-unknown-unknown (main)
run: cargo clippy --lib --workspace --features=audio,seify_dummy,wgpu --target wasm32-unknown-unknown -- -D warnings
- name: Run cargo clippy for wasm32-unknown-unknown (prophecy)
run: cargo clippy --lib --manifest-path=crates/prophecy/Cargo.toml --target wasm32-unknown-unknown -- -D warnings
- name: Run cargo clippy for wasm32-unknown-unknown (perf/wgpu)
run: cargo clippy --lib --manifest-path=perf/wgpu/Cargo.toml --target wasm32-unknown-unknown -- -D warnings
- name: Run cargo clippy for wasm32-unknown-unknown (examples/cw)
run: cargo clippy --lib --manifest-path=examples/cw/Cargo.toml --target wasm32-unknown-unknown -- -D warnings
- name: Run cargo clippy for wasm32-unknown-unknown (examples/rattlegram)
run: cargo clippy --lib --manifest-path=examples/rattlegram/Cargo.toml --target wasm32-unknown-unknown -- -D warnings
- name: Run cargo clippy for wasm32-unknown-unknown (examples/spectrum)
run: cargo clippy --lib --manifest-path=examples/spectrum/Cargo.toml --target wasm32-unknown-unknown -- -D warnings
- name: Run cargo clippy for wasm32-unknown-unknown (examples/wasm)
run: cargo clippy --lib --manifest-path=examples/wasm/Cargo.toml --target wasm32-unknown-unknown -- -D warnings
- name: Run cargo clippy for wasm32-unknown-unknown (examples/wgpu)
run: cargo clippy --lib --manifest-path=examples/wgpu/Cargo.toml --target wasm32-unknown-unknown -- -D warnings
- name: Run cargo clippy for wasm32-unknown-unknown (examples/zigbee)
run: cargo clippy --lib --manifest-path=examples/zigbee/Cargo.toml --target wasm32-unknown-unknown -- -D warnings
test-linux:
name: Unit Tests Linux
runs-on: ubuntu-latest
env:
RUST_BACKTRACE: full
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: sudo apt-get -y update
- run: sudo apt-get -y install libzmq3-dev
- run: sudo apt-get -y install libasound2-dev
- run: sudo apt-get -y install liblttng-ust-dev
- run: sudo apt-get -y install libsoapysdr-dev
- run: cargo test --all-targets --workspace --features=aaronia_http,rtlsdr,zeromq,audio,flow_scheduler,tpb_scheduler,seify_dummy,soapy,lttng,zynq,wgpu
- run: cargo test --all-targets --manifest-path=crates/futuredsp/Cargo.toml
- run: cargo test --all-targets --manifest-path=crates/remote/Cargo.toml
- run: cargo test --all-targets --manifest-path=examples/wlan/Cargo.toml
test-macos:
name: Unit Tests macOS
runs-on: macos-latest
env:
RUST_BACKTRACE: full
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: cargo test --all-targets --workspace --features=aaronia_http,flow_scheduler,seify_dummy,tpb_scheduler,wgpu
test-windows:
name: Unit Test Windows
runs-on: windows-latest
env:
RUST_BACKTRACE: full
steps:
- uses: crazy-max/ghaction-chocolatey@v3
with:
args: install ninja
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: cargo test --all-targets --workspace --features=aaronia_http,flow_scheduler,seify_dummy,tpb_scheduler,wgpu