Files
RF_ACTIONS/README.md
T
george-claudeandClaude Opus 5.5 2ad99bb3ea 👷 L'action build-push s'installe dans un dépôt public (raggaroth-factory/RF_CICD#3)
Premier vrai run, PRJ002-ScrumBoard-Backend run 31 : act_runner clone les
actions de « uses: » sans s'authentifier, et RF_CICD étant privé, Gitea
répond « repository not found ». L'action déménage ici, dans l'organisation
« public » — un dépôt public dans « raggaroth-factory » resterait invisible,
l'organisation elle-même l'étant aux anonymes.

Reprise de RF_CICD/actions/build-push telle qu'éprouvée, moins ce qui
décrivait l'infrastructure : le tag de l'image de job et le chemin de son
Containerfile quittent le message d'erreur, et les fichiers temporaires
perdent leur préfixe rf-cicd. Le README pose la règle qui en découle : rien
de propre à une machine, un compte ou un chemin n'entre dans ce dépôt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VyxLNGHojdXeRMQgWFgzRV
2026-10-07 15:41:49 +02:00

2.2 KiB

RF_ACTIONS

Actions Gitea partagées par les projets de Raggaroth Factory.

Ce dépôt est public parce qu'il doit l'être : act_runner télécharge les actions appelées par uses: sans s'authentifier, et un dépôt privé lui répond « repository not found ». Il ne contient donc que le code des actions — rien qui décrive l'infrastructure qui les exécute. Cette description, les décisions et la procédure d'installation du runner vivent dans RF_CICD, qui reste privé.

Règle qui en découle : rien de propre à une machine, un compte ou un chemin de l'infrastructure n'entre ici. Et aucun secret, jamais — ils arrivent par les entrées des actions, depuis les secrets du dépôt appelant.

build-push

Construit une image avec buildah, sans démon ni socket, et la publie dans le registre de Gitea sous les tags de sa filière. Ne déploie rien.

- uses: https://gitea.raggaroth-factory.fr/public/RF_ACTIONS/build-push@main
  with:
    image: gitea.raggaroth-factory.fr/raggaroth-factory/<nom-de-l-image>
    dockerfile: Dockerfile
    context: .
    registry_user: ${{ secrets.REGISTRY_USER }}
    registry_password: ${{ secrets.REGISTRY_PASSWORD }}
Déclencheur Tags publiés
poussée sur develop :dev et :<sha court, 12 caractères>
tag vX.Y.Z (ou vX.Y.Z-rc.1) :vX.Y.Z, orthographié comme le tag git, et rien d'autre
toute autre référence échec, sans rien construire

Sorties : tags (les tags publiés) et digest (l'empreinte sha256:… de l'image publiée).

Exigences : l'image du conteneur de job doit porter buildah. L'action construit avec --storage-driver vfs --isolation chroot, ce qui fonctionne dans un conteneur non privilégié, sans capacité ajoutée ni /dev/fuse. Les FROM des Dockerfiles construits doivent être des noms complets (docker.io/library/nginx:alpine, pas nginx:alpine) : buildah n'a pas de registre de recherche par défaut, et sa table d'alias est incomplète.

Toujours uses: en URL complète : la forme courte public/RF_ACTIONS/… serait résolue contre le serveur d'actions par défaut de l'instance, qui n'est pas forcément celle-ci.