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: |