Skip to content

Remove latest snapshot (#119) #355

Remove latest snapshot (#119)

Remove latest snapshot (#119) #355

Workflow file for this run

name: CI
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
env:
CARGO_TERM_COLOR: always
jobs:
# Format and lint using Makefile
format-and-lint:
name: Format and Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: thumbv7em-none-eabihf, wasm32-unknown-unknown
components: rustfmt, clippy
- name: Cache dependencies
uses: actions/cache@v5
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-format-${{ hashFiles('**/Cargo.lock') }}
- name: Check formatting (workspace members only)
run: make fmt-check
- name: Run clippy on all valid feature combinations
run: make clippy
# Build and test using Makefile
makefile-build:
name: Build & Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: thumbv7em-none-eabihf, wasm32-unknown-unknown
- name: Cache dependencies
uses: actions/cache@v5
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }}
- name: Build all valid feature combinations
run: make build
- name: Test all valid feature combinations
run: make test
# Embedded target testing
embedded-targets:
name: Embedded Cross-compilation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: thumbv7em-none-eabihf
- name: Cache dependencies
uses: actions/cache@v5
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-embedded-${{ hashFiles('**/Cargo.lock') }}
- name: Test embedded cross-compilation
run: make test-embedded
# Comprehensive validation using Makefile
comprehensive-check:
name: Comprehensive Development Check
runs-on: ubuntu-latest
needs: [format-and-lint, makefile-build, embedded-targets]
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: thumbv7em-none-eabihf, wasm32-unknown-unknown
components: rustfmt, clippy
- name: Cache dependencies
uses: actions/cache@v5
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-comprehensive-${{ hashFiles('**/Cargo.lock') }}
- name: Run comprehensive development check
run: make check
- name: Generate documentation
run: make doc