rsa_heapless 0.2.1

Pure Rust RSA implementation - heapless fork
Documentation
name: Cortex-M

on:
  push:
    branches: ["**"]
  pull_request:
  workflow_dispatch:
  schedule:
    - cron: '0 6 * * 1'  # Weekly on Monday at 06:00 UTC

env:
  CARGO_TERM_COLOR: always

jobs:
  cortex-m:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4

    - uses: dtolnay/rust-toolchain@stable
      with:
        targets: thumbv6m-none-eabi, thumbv7m-none-eabi, thumbv7em-none-eabi
        components: llvm-tools

    - name: Install QEMU
      run: sudo apt-get update && sudo apt-get install -y qemu-system-arm

    - name: Cache cargo binaries
      uses: actions/cache@v4
      with:
        path: ~/.cargo/bin/cargo-bloat
        key: ${{ runner.os }}-cargo-bloat-v1

    - name: Install cargo-bloat
      run: |
        if ! command -v cargo-bloat &> /dev/null; then
          cargo install cargo-bloat --locked
        fi

    - uses: actions/cache@v4
      with:
        path: |
          ~/.cargo/registry
          ~/.cargo/git
          footprint/cortex-m/target
        key: cortex-m-${{ hashFiles('footprint/cortex-m/Cargo.toml', 'Cargo.toml') }}
        restore-keys: cortex-m-

    - name: Run Cortex-M suite
      run: |
        set -o pipefail
        python3 run_suite.py | tee -a "$GITHUB_STEP_SUMMARY"
      working-directory: footprint/cortex-m