From 3a555c0bc97e49eca9e66c5f5006f33b5c278c78 Mon Sep 17 00:00:00 2001 From: Nicolas Date: Thu, 10 Sep 2026 18:27:43 +0200 Subject: [PATCH] CI : login registre via un secret REGISTRY_TOKEN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le jeton automatique de Forgejo Actions n'a pas le droit paquets sur cette instance (unauthorized: reqPackageAccess). Le job publish utilise désormais secrets.REGISTRY_TOKEN (jeton d'accès write:package) et échoue tôt avec un message clair s'il est absent. Nom d'utilisateur = propriétaire du dépôt. Co-Authored-By: Claude Sonnet 5 --- .forgejo/workflows/publish-docker.yml | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/publish-docker.yml b/.forgejo/workflows/publish-docker.yml index e85bb71..eae579b 100644 --- a/.forgejo/workflows/publish-docker.yml +++ b/.forgejo/workflows/publish-docker.yml @@ -15,10 +15,13 @@ # options: -v /var/run/docker.sock:/var/run/docker.sock # puis redémarrer le runner. (Ou utiliser un runner « host » avec Docker.) # 4. Le runner doit joindre git.dev.kyuno.fr et github.com (actions/checkout). -# 5. Registre : le jeton automatique `secrets.GITHUB_TOKEN` peut pousser des -# paquets pour l'organisation `kyuno`. Si ce n'est pas le cas, créer un -# secret de dépôt `REGISTRY_TOKEN` (jeton d'accès avec la permission -# « write:package ») et remplacer `secrets.GITHUB_TOKEN` plus bas. +# 5. Registre : le jeton automatique n'a pas le droit d'écrire les paquets +# (erreur « unauthorized: reqPackageAccess »). Il faut donc : +# a. Forgejo -> Settings -> Applications -> Generate New Token, +# scopes « write:package » et « read:package ». +# b. Dépôt mediaDrop -> Settings -> Actions -> Secrets -> Add Secret, +# nom : REGISTRY_TOKEN, valeur : le jeton créé. +# Le nom d'utilisateur du login registre est le propriétaire du dépôt. name: Publier l'image Docker @@ -81,7 +84,14 @@ jobs: echo "Tags : ${list}" - name: Connexion au registre - run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login "$REGISTRY" -u "${{ github.actor }}" --password-stdin + run: | + set -eu + if [ -z "${{ secrets.REGISTRY_TOKEN }}" ]; then + echo "Secret REGISTRY_TOKEN manquant (voir l'en-tête du workflow)." >&2 + exit 1 + fi + echo "${{ secrets.REGISTRY_TOKEN }}" | \ + docker login "$REGISTRY" -u "${{ github.repository_owner }}" --password-stdin - name: Build run: |