Update to latest serde_yaml #11669
Workflow file for this run
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
# This action builds* all the pushes to master, staging and trying which are required for bors. | |
# Additionally it builds* for each PR. | |
# | |
# * builds includes building, checking, testing, checking format and clippy, as well as the changelog. | |
on: | |
push: | |
branches: [master, staging, trying] | |
pull_request: | |
merge_group: | |
# Cancel any currently running workflows from the same PR, branch, or | |
# tag when a new workflow is triggered. | |
# | |
# https://stackoverflow.com/a/66336834 | |
concurrency: | |
cancel-in-progress: true | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
name: Run CI | |
jobs: | |
check: | |
name: Check | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- windows-latest | |
- macos-14 | |
runs-on: ${{ matrix.os }} | |
env: | |
VCPKGRS_DYNAMIC: 1 # Use dynamic linking on Windows build (vcpkg) | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install libudev (linux) | |
run: | | |
sudo apt update | |
sudo apt install -y libudev-dev | |
# Only install on Ubuntu | |
if: (matrix.os == 'ubuntu-latest') || (matrix.os == 'ubuntu-20.04') | |
- name: Cache Dependencies | |
uses: Swatinem/rust-cache@v2.7.7 | |
- name: cargo check for probe-rs, --no-default-features | |
run: cargo check -p probe-rs --no-default-features --locked | |
- name: Run cargo check | |
run: cargo check --all-features --locked | |
test: | |
name: Test Suite | |
# Run the test suite on both Linux and Windows, | |
# to ensure the path handling code works on both. | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- windows-latest | |
runs-on: ${{ matrix.os }} | |
env: | |
VCPKGRS_DYNAMIC: 1 # Use dynamic linking on Windows build (vcpkg) | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install libudev (linux) | |
run: | | |
sudo apt update | |
sudo apt install -y libudev-dev | |
# Only install on Ubuntu | |
if: matrix.os == 'ubuntu-latest' | |
- name: "Install thumbv7m-none-eabi target for tests" | |
run: rustup target add thumbv7m-none-eabi | |
- name: Cache Dependencies | |
uses: Swatinem/rust-cache@v2.7.7 | |
- name: Run cargo test | |
run: cargo test --all-features --locked | |
fmt: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Run cargo fmt | |
run: cargo fmt --all -- --check | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install libudev | |
run: | | |
sudo apt update | |
sudo apt install -y libudev-dev | |
- name: Cache Dependencies | |
uses: Swatinem/rust-cache@v2.7.7 | |
- name: Run cargo clippy | |
run: cargo clippy --all-features --all-targets --locked -- -D warnings | |
cargo-deny: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: EmbarkStudios/cargo-deny-action@v2 | |
doc: | |
name: Check docs | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install libudev | |
run: | | |
sudo apt update | |
sudo apt install -y libudev-dev | |
- name: Cache Dependencies | |
uses: Swatinem/rust-cache@v2.7.7 | |
- name: Run cargo doc | |
run: cargo doc -p probe-rs --no-deps --all-features --locked | |
env: | |
RUSTDOCFLAGS: '-D warnings' |