Remove latest snapshot (#119) #355
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
| 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 |