cargo-ledger 1.13.0

Build and sideload Ledger apps
name: Run cargo clippy, cargo fmt, build and Unit+Integration tests

on:
  push:
    branches:
      main
  pull_request:
  workflow_dispatch:
    inputs:
      name:
        description: 'Manually triggered'

env:
  CARGO_TERM_COLOR: always

jobs:
  clippy:
    name: Run static analysis
    runs-on: ubuntu-latest
    container:
      image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest
    steps:
      - name: Clone
        uses: actions/checkout@v4
      - name: Cargo clippy
        run: |
          cargo clippy --no-deps

  format:
    name: Check code formatting
    runs-on: ubuntu-latest
    container:
      image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest
    steps:
      - name: Clone
        uses: actions/checkout@v4
      - name: Run cargo fmt
        run: |
          cargo fmt --all --check

  build:
    name: Build 
    runs-on: ubuntu-latest
    container:
      image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest
    steps:
      - name: Clone
        uses: actions/checkout@v4
      - name: Cargo build
        run: |
          cargo build

  test:
    name: Run Unit and Integration tests
    runs-on: ubuntu-latest
    container:
      image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest
    steps:
      - name: Clone
        uses: actions/checkout@v4
      - name: Cargo test
        run: |
          cargo test --all --all-features