Skip to content

allow unknown bits for forward compatibility #1164

allow unknown bits for forward compatibility

allow unknown bits for forward compatibility #1164

Workflow file for this run

name: Test all targets
on: [push, pull_request]
jobs:
formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Run rustfmt
run: cargo fmt --all -- --check
linting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@nightly
with:
components: clippy
- uses: actions-rs-plus/clippy-check@v2
with:
args: --all --all-targets --features format-generated-code --features mav2-message-signing --features tokio
internal-tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
dialect: ["dialect-all", "dialect-ardupilotmega", "dialect-asluav", "dialect-matrixpilot", "dialect-minimal", "dialect-paparazzi", "dialect-python_array_test", "dialect-standard", "dialect-test", "dialect-ualberta", "dialect-uavionix", "dialect-icarous", "dialect-common", "dialect-storm32", "dialect-csairlink", "dialect-loweheiser", "dialect-marsh", "dialect-stemstudios"]
signing: ["", "--features mav2-message-signing"]
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Run internal tests
run: cargo test --verbose --features arbitrary,${{ matrix.dialect }} ${{ matrix.signing }} -- --nocapture
mavlink-dump:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- name: Build mavlink-dump
run: cargo build --verbose --example mavlink-dump
msrv:
runs-on: ubuntu-latest
strategy:
matrix:
features: ["", "--features serde,tokio", "--features mav2-message-signing"]
steps:
- uses: actions/checkout@v6
- uses: taiki-e/install-action@cargo-hack
- run: cargo hack --no-dev-deps --rust-version check --package mavlink ${{ matrix.features }}
build:
needs: [formatting, linting, internal-tests, mavlink-dump, msrv]
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: macos-latest
TARGET: x86_64-apple-darwin
FLAGS: --features dialect-ardupilotmega
- os: ubuntu-latest
TARGET: arm-unknown-linux-musleabihf
FLAGS: --features dialect-ardupilotmega
- os: ubuntu-latest
TARGET: armv7-unknown-linux-musleabihf
FLAGS: --features dialect-ardupilotmega
- os: ubuntu-latest
TARGET: x86_64-unknown-linux-musl
FLAGS: --features dialect-ardupilotmega
- os: ubuntu-latest
TARGET: x86_64-unknown-linux-musl
FLAGS: --features dialect-ardupilotmega,mav2-message-extensions
- os: ubuntu-latest
TARGET: thumbv7m-none-eabi
FLAGS: --no-default-features --features embedded
- os: windows-latest
TARGET: x86_64-pc-windows-msvc
FLAGS: --features dialect-ardupilotmega
steps:
- name: Building ${{ matrix.TARGET }}
run: echo "${{ matrix.TARGET }}"
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
target: ${{ matrix.TARGET }}
- uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --verbose --release --package=mavlink --target=${{ matrix.TARGET }} ${{ matrix.FLAGS }}
test-embedded-size:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@nightly
with:
target: thumbv7em-none-eabihf
- name: Build
working-directory: ./mavlink/examples/embedded
run: cargo +nightly build --artifact-dir $PWD/../../.. --release -Z unstable-options
docs:
needs: internal-tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: Build docs
run: RUSTDOCFLAGS=--cfg=docsrs cargo doc --no-deps --all-features
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
if: ${{ github.ref == 'refs/heads/master' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./target/doc