repowarden 4.2.1 → 4.3.0-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/proteger CHANGED
@@ -177,8 +177,12 @@ if [ -n "$integration" ]; then
177
177
  # Nettoyage par le workflow nettoyage-branches (garde une branche encore
178
178
  # source d'une autre PR ouverte)
179
179
  delete_on_merge=false
180
- # Merge automatique désactivé : aucune livraison programmée sans décision
181
- auto_merge=false
180
+ # Merge automatique autorisé pour les PR de travail vers develop (armé par
181
+ # le suivi des tickets) ; une livraison vers main ne passe jamais sans son
182
+ # approbation humaine, merge automatique ou non. autoMergeWork = false : aucun.
183
+ cfg_r autoMergeWork true
184
+ auto_merge="$REPLY"
185
+ [[ "$auto_merge" =~ ^(true|false)$ ]] || { err_t ci.proteger.automerge_invalid; exit 1; }
182
186
  # Sans ce workflow, les branches mergées ne seraient plus supprimées
183
187
  if ! grep -qs "nettoyage-branches.yml" "$GIT_TOPLEVEL"/.github/workflows/*.y*ml; then
184
188
  attention_t ci.proteger.no_cleanup
@@ -211,7 +215,7 @@ echo_t ci.proteger.1 "$REPO"
211
215
  echo_t ci.proteger.2 "$existing"
212
216
  echo_t ci.proteger.3 "$CHECKS"
213
217
  echo_t ci.proteger.4 "$methods" "$delete_on_merge"
214
- [ -z "$integration" ] || echo_t ci.proteger.delivery "$livraison"
218
+ [ -z "$integration" ] || echo_t ci.proteger.delivery "$livraison" "$auto_merge"
215
219
  echo_t ci.proteger.5 "$tags_msg"
216
220
  [ -z "$integration" ] || echo_t ci.proteger.6 "$integration"
217
221
  echo_t ci.proteger.7 "$REVIEWS" "$CODEOWNERS" "$UNATTRIBUTED"
@@ -263,10 +263,11 @@ _msg_en() {
263
263
  ci.proteger.13) _M="Settings applied." ;;
264
264
  ci.proteger.reviews_invalid) _M="--relecteurs: a number from 0 to 9 is expected." ;;
265
265
  ci.proteger.codeowners_invalid) _M="codeOwnerReview: true or false." ;;
266
+ ci.proteger.automerge_invalid) _M="autoMergeWork: true or false." ;;
266
267
  ci.proteger.unattributed_invalid) _M="unattributedApproval: true or false." ;;
267
268
  ci.proteger.no_branch) _M="None of the branches \"%s\" exists on %s." ;;
268
269
  ci.proteger.no_cleanup) _M="Automatic branch deletion disabled (it would delete develop): add a workflow calling nettoyage-branches.yml, otherwise merged branches remain (see In an organisation)." ;;
269
- ci.proteger.delivery) _M=" delivery into main: %s approval(s) required (moving to a new version); auto-merge disabled" ;;
270
+ ci.proteger.delivery) _M=" delivery into main: %s approval(s) required (moving to a new version); auto-merge of work PRs into develop: %s" ;;
270
271
  ci.proteger.methods_flow) _M="main: merge commit; %s: squash or merge commit" ;;
271
272
  ci.proteger.tags_org) _M="reserved for workflows" ;;
272
273
  ci.proteger.tags_user) _M="neither moved nor deleted (personal account: creation allowed)" ;;
@@ -364,6 +365,9 @@ _msg_en() {
364
365
  tk.merged) _M="Merged by PR #%s into %s: in pre-production, available in the next pre-release." ;;
365
366
  tk.branch_created) _M="Ticket validated: its branch \`%s\` is created from \`%s\`.\n\nTo work on it:\n\n\`\`\`bash\nrepowarden ticket %s\n\`\`\`\n\n(or \`git fetch && git switch %s\`). The first push opens the draft PR." ;;
366
367
  tk.branch_notice) _M="Branch %s created for ticket #%s" ;;
368
+ tk.automerge_armed) _M="PR #%s: auto-merge armed (squash), as soon as the checks are green." ;;
369
+ tk.automerge_no_app) _M="PR #%s: auto-merge not armed, no GitHub App (repowarden app init): with the Actions token, the merge would trigger no workflow." ;;
370
+ tk.automerge_failed) _M="PR #%s: auto-merge not armed (auto-merge not allowed on the repository: repowarden proteger)." ;;
367
371
  app.no_node) _M="node is required (local page creating the App): https://nodejs.org" ;;
368
372
  app.step_create) _M="Creating the GitHub App" ;;
369
373
  app.exists) _M="App already set up for this repository (client %s): nothing to recreate." ;;
@@ -263,10 +263,11 @@ _msg_fr() {
263
263
  ci.proteger.13) _M="Réglages appliqués." ;;
264
264
  ci.proteger.reviews_invalid) _M="--relecteurs : nombre de 0 à 9 attendu." ;;
265
265
  ci.proteger.codeowners_invalid) _M="codeOwnerReview : true ou false." ;;
266
+ ci.proteger.automerge_invalid) _M="autoMergeWork : true ou false." ;;
266
267
  ci.proteger.unattributed_invalid) _M="unattributedApproval : true ou false." ;;
267
268
  ci.proteger.no_branch) _M="Aucune des branches « %s » n'existe sur %s." ;;
268
269
  ci.proteger.no_cleanup) _M="Suppression automatique des branches désactivée (elle supprimerait develop) : ajouter un workflow qui appelle nettoyage-branches.yml, sinon les branches mergées restent (voir En organisation)." ;;
269
- ci.proteger.delivery) _M=" livraison vers main : %s approbation(s) exigée(s) (passage à une nouvelle version) ; merge automatique désactivé" ;;
270
+ ci.proteger.delivery) _M=" livraison vers main : %s approbation(s) exigée(s) (passage à une nouvelle version) ; merge automatique des PR de travail vers develop : %s" ;;
270
271
  ci.proteger.methods_flow) _M="main : merge commit ; %s : squash ou merge commit" ;;
271
272
  ci.proteger.tags_org) _M="réservés aux workflows" ;;
272
273
  ci.proteger.tags_user) _M="ni déplacés ni supprimés (compte personnel : création libre)" ;;
@@ -364,6 +365,9 @@ _msg_fr() {
364
365
  tk.merged) _M="Mergé par la PR #%s dans %s : en préprod, disponible dans la prochaine préversion." ;;
365
366
  tk.branch_created) _M="Ticket validé : sa branche \`%s\` est créée depuis \`%s\`.\n\nPour y travailler :\n\n\`\`\`bash\nrepowarden ticket %s\n\`\`\`\n\n(ou \`git fetch && git switch %s\`). Le premier push ouvre la PR en brouillon." ;;
366
367
  tk.branch_notice) _M="Branche %s créée pour le ticket #%s" ;;
368
+ tk.automerge_armed) _M="PR #%s : merge automatique armé (squash), dès que les vérifications sont vertes." ;;
369
+ tk.automerge_no_app) _M="PR #%s : merge automatique non armé, pas de GitHub App (repowarden app init) : avec le jeton des Actions, le merge ne déclencherait aucun workflow." ;;
370
+ tk.automerge_failed) _M="PR #%s : merge automatique non armé (dépôt sans merge automatique autorisé : repowarden proteger)." ;;
367
371
  app.no_node) _M="node est nécessaire (page locale de création de l'App) : https://nodejs.org" ;;
368
372
  app.step_create) _M="Création de la GitHub App" ;;
369
373
  app.exists) _M="App déjà configurée pour ce dépôt (client %s) : rien à recréer." ;;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "repowarden",
3
- "version": "4.2.1",
3
+ "version": "4.3.0-next.3",
4
4
  "description": "Hooks git et CI multi-langages : messages de commit, nommage des branches, secrets, formatage, tests ciblés, code mort, releases.",
5
5
  "keywords": [
6
6
  "git-hooks",