Skip to content

Commit 5f13d8d

Browse files
committed
feat(ci): add a dry_run input to the AUR publish workflow
Permet d'exercer tout le pipeline sur un vrai runner — install de makepkg, clone, audit, bump, .SRCINFO, contrôle de diff — en s'arrêtant avant le push. La clé de déploiement n'est alors jamais écrite sur le disque. Nécessaire pour valider ce workflow avant sa première publication réelle : il n'a jamais dépassé son if: en dix releases.
1 parent ba273bf commit 5f13d8d

1 file changed

Lines changed: 21 additions & 2 deletions

File tree

.github/workflows/aur-publish.yml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ on:
99
description: "Release tag to publish (e.g. v1.5.0)"
1010
required: true
1111
type: string
12+
dry_run:
13+
description: "Exécuter tout le pipeline mais s'arrêter avant le push AUR"
14+
required: false
15+
default: false
16+
type: boolean
1217

1318
permissions:
1419
contents: read
@@ -289,9 +294,23 @@ jobs:
289294
fi
290295
echo "Diff limited to the expected bump."
291296
297+
- name: Dry run — stop before touching the AUR
298+
if: steps.aur_secret.outputs.configured == 'true' && inputs.dry_run
299+
working-directory: aur-repo
300+
run: |
301+
set -euo pipefail
302+
echo "Mode dry_run : tout a été validé, rien ne sera poussé."
303+
echo "Ce qui aurait été committé :"
304+
git --no-pager diff --stat -- PKGBUILD .SRCINFO
305+
{
306+
echo "### Dry run — aucun push"
307+
echo "Le pipeline est allé jusqu'au bout des validations."
308+
echo "La clé de déploiement n'a pas été écrite sur le disque."
309+
} >> "$GITHUB_STEP_SUMMARY"
310+
292311
# La clé n'apparaît sur le disque qu'ici, une fois tout le contenu validé.
293312
- name: Setup SSH for AUR
294-
if: steps.aur_secret.outputs.configured == 'true'
313+
if: steps.aur_secret.outputs.configured == 'true' && !inputs.dry_run
295314
env:
296315
AUR_SSH_PRIVATE_KEY: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
297316
AUR_KNOWN_HOSTS: ${{ vars.AUR_KNOWN_HOSTS }}
@@ -315,7 +334,7 @@ jobs:
315334
SSHCONF
316335
317336
- name: Commit and push
318-
if: steps.aur_secret.outputs.configured == 'true'
337+
if: steps.aur_secret.outputs.configured == 'true' && !inputs.dry_run
319338
working-directory: aur-repo
320339
env:
321340
VERSION: ${{ steps.meta.outputs.version }}

0 commit comments

Comments
 (0)