Skip to content

chore: standardise le formatting Go + Shell (gofumpt + shfmt)#10

Closed
grams wants to merge 1 commit into
masterfrom
chore/format
Closed

chore: standardise le formatting Go + Shell (gofumpt + shfmt)#10
grams wants to merge 1 commit into
masterfrom
chore/format

Conversation

@grams

@grams grams commented Jun 24, 2026

Copy link
Copy Markdown

Quoi

Standardisation du formatting du provider (Go + Shell), dans le cadre de la généralisation du formatting de l'équipe Plateforme.

Go — gofumpt

  • Activation du formatter gofumpt dans .golangci.yml (config golangci-lint v2, section formatters.enable où il était commenté).
  • Suppression du réglage formatters.settings.gofmt.simplify devenu redondant : gofumpt englobe gofmt -s.
  • goimports conservé.
  • Reformatage one-shot via golangci-lint fmt (version alignée sur la CI, v2.1.2).
  • Lock CI : le step golangci-lint du ci.yml existant vérifie déjà les formatters de la config v2 → échoue sur tout code Go non formaté.

Shell — shfmt

  • Nouveau .editorconfig portant la config shfmt (indent_size=2, switch_case_indent=true), aligné sur les repos de référence Plateforme (Evaneos/infrastructure, Evaneos/fluxcd-resources-infra). shfmt lit .editorconfig nativement.
  • Reformatage one-shot des scripts cluster/local/*.sh via shfmt -w.
  • Lock CI : nouveau job shfmt ajouté au ci.yml existant (pas de nouveau fichier workflow), qui installe shfmt@v3.13.1 et lance shfmt -d. Son checkout n'initialise pas le submodule build/, donc shfmt ne contrôle que nos scripts écrits à la main (pas le code upstream crossplane/build).

Périmètre du reformatage

gofumpt touche du code écrit à la main (regroupement de type (...), lignes vides entre méthodes, etc. — pur formatage, aucun changement de comportement). Aucun code généré (zz_*.go) ni le submodule build/ n'est modifié.

Refs Evaneos/team-platform#279

🤖 Generated with Claude Code

Standardise le formatting du provider (Go + Shell).

Go : active gofumpt dans la config golangci-lint (v2). gofumpt englobe
gofmt -s, le réglage gofmt.simplify devient redondant et est retiré.
Le step golangci-lint du CI verrouille le format.

Shell : ajoute un .editorconfig (indent 2 espaces, switch_case_indent)
que shfmt lit nativement, et un job shfmt dans le CI (shfmt -d) qui
verrouille le format des scripts cluster/local. Le checkout du job
n'initialise pas le submodule build/, donc shfmt ne voit que nos scripts.

Reformatage one-shot via golangci-lint fmt et shfmt -w.

Refs Evaneos/team-platform#279

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@grams grams added go Pull requests that update go code transverse Transverse plateforme (plusieurs BUs ou outillage plateforme) labels Jun 24, 2026
@grams grams self-assigned this Jun 24, 2026
@grams

grams commented Jun 24, 2026

Copy link
Copy Markdown
Author

Fermée après vérification : provider-sql est un fork de crossplane-contrib/provider-sql (projet amont vivant), contrairement à provider-cloudamqp/provider-rabbitmq qui sont développés par Evaneos (générés Upjet, sans upstream).

L'upstream utilise gofmt + goimports avec gofumpt volontairement commenté, et ne formate pas le shell (pas de .editorconfig, pas de shfmt). Activer gofumpt (16 fichiers Go reformatés) + shfmt (2 scripts) + un job CI aurait fait diverger le fork de l'amont et compliqué toute reprise de code upstream — l'inverse de l'objectif crossplane-contrib#279 (diffs propres dans la durée).

La config de formatting d'Evaneos/provider-sql est déjà identique au parent (gofmt+goimports, verrouillée par le step golangci-lint du CI). Le repo est donc déjà aligné sur crossplane-contrib#279 par héritage : aucun changement n'est justifié.

Refs Evaneos/team-platform#279

@grams grams closed this Jun 24, 2026
@grams grams deleted the chore/format branch June 24, 2026 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

go Pull requests that update go code transverse Transverse plateforme (plusieurs BUs ou outillage plateforme)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant