Add probe-rs-tester-0 (#2847) #6
This file contains hidden or 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 | |
| env: | |
| CARGO_TERM_COLOR: always | |
| 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@v6 | |
| - name: Cache Dependencies | |
| uses: Swatinem/rust-cache@v2.8.2 | |
| - 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 --locked | |
| - name: Run cargo check with all features | |
| 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@v6 | |
| - name: "Install thumbv7m-none-eabi target for tests" | |
| run: rustup target add thumbv7m-none-eabi | |
| - name: Cache Dependencies | |
| uses: Swatinem/rust-cache@v2.8.2 | |
| - uses: taiki-e/install-action@nextest | |
| - name: Run cargo test | |
| run: cargo nextest run --all-features --locked --profile ci-unit | |
| fmt: | |
| name: Rustfmt | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| - name: Run cargo fmt | |
| run: cargo fmt --all -- --check | |
| clippy: | |
| name: Clippy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| - name: Cache Dependencies | |
| uses: Swatinem/rust-cache@v2.8.2 | |
| - name: Run cargo clippy | |
| run: cargo clippy --all-features --all-targets --locked -- -D warnings | |
| cargo-deny: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: EmbarkStudios/cargo-deny-action@v2 | |
| doc: | |
| name: Check docs | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| - name: Cache Dependencies | |
| uses: Swatinem/rust-cache@v2.8.2 | |
| - name: Run cargo doc | |
| run: cargo doc -p probe-rs --no-deps --all-features --locked | |
| env: | |
| RUSTDOCFLAGS: "-D warnings" | |
| min-version: | |
| name: Minimum Rust Version | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| - name: Cache Dependencies | |
| uses: Swatinem/rust-cache@v2.8.2 | |
| - uses: taiki-e/install-action@cargo-hack | |
| - name: Check minimum Rust version | |
| run: cargo hack check --rust-version --workspace --all-targets --ignore-private |