Perché automare rustfmt?

Automatizzare rustfmt in CI/CD evita conflitti di merge dovuti a differenze di spaziatura o indentazione, riduce il tempo dedicato alla revisione del codice e mantiene uno standard condiviso.

L’integrazione è semplice: aggiungi un job che esegue cargo fmt --check prima dei test. Se la formattazione non passa, il build fallisce e il team riceve una notifica immediata.

Configurare rustfmt per progetti multipli

Usa un file .rustfmt.toml nella radice del repository con le regole condivise. Per progetti che richiedono configurazioni diverse, crea sotto-cartelle con i propri file di configurazione e utilizza la flag --config-path.

Esempio di pipeline GitHub Actions

Ecco un snippet per una workflow:

name: Rust CI
on: [push, pull_request]
jobs:
  fmt:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
      - name: Run rustfmt
        run: cargo fmt --check