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