Framagit : hugo theme submodule : pas de ssh?

Salut à tous ! Je débarque sur framagit en venant de gitlab.com, et je constate avec délectation que j’ai droit à la CI Grincheux, c’est merveilleux. Tout de suite, je pousse un thème pour hugo, et un site statique propulsé par hugo, et qui utilise ce thème comme submodule. Techniquement, depuis la racine du site hugo, j’ai fait :

$ git submodule add https://framagit.org/lafleur/lean-hugo-theme.git themes/lean

Mais … la pipeline de construction du site flanche avec l’erreur suivante :

Updating/initializing submodules recursively...
Synchronizing submodule url for 'themes/lean'
Cloning into '/builds/lafleur/favilla/themes/lean'...
error: cannot run ssh: No such file or directory
fatal: unable to fork

J’ai réessayé avec l’adresse git@framagit.org:lafleur/lean-hugo-theme.git au cas où, sans succès.

Se peut-il que l’instance gitlab tourne sur une machine qui n’a pas de client ssh ? Ou bien simplement qu’elle n’ait pas accès à l’application ? Quoi qu’il en soit j’ai monté une configuration analogue sur gitlab.com, qui est fonctionnelle.

Il me semble que les submodules sont le moyen par défaut pour installer un thème avec hugo ; j’ai cherché si quelqu’un parlait du même problème que moi mais je n’ai rien trouvé sur framacolibri.

terminalement vôtre

C’est assez étrange qu’il se plaigne de ne pas avoir ssh vu que le git submodule utilise un dépôt via https.

Mais bast, ce n’est pas vraiment le souci.

Se peut-il que l’instance gitlab tourne sur une machine qui n’a pas de client ssh ?

Le fait qu’il y ait SSH ou non dans la CI dépend de l’image utilisée (spécifiée dans le fichier .gitlab-ci.yml), nous (Framasoft) ne pouvons rien y faire.

Tu peux rajouter un before_script dans ton .gitlab-ci.yml qui contiendra un apt-get install -y openssh-client (ou équivalent, je ne sais pas si l’image utilisée est une base Debian). Il faudra peut-être (sûrement) aussi faire un apt-get update avant

NB : ne fait pas ton submodule avec ssh car l’image n’aura pas de clé ssh reconnue par Framagit (à moins que tu ne bidouilles, mais c’est compliqué et inutile dans ton cas) et refusera l’accès. Reste en https.

Ah oui, ça marche maintenant avec l’adresse en https. Je pense que ça n’avait pas marché en https dans un premier temps parce que je n’avais pas rendu le submodule public.

Je suis impressionné par la promptitude de la résolution ! merci @Framasky

Je pense que ça n’avait pas marché en https dans un premier temps parce que je n’avais pas rendu le submodule public.

Ah bah très clairement. Mais je n’y ai pas pensé parce qu’en allant voir le dépôt, il était bien en public.

Je suis impressionné par la promptitude de la résolution !

Remercie mon insomnie :sweat_smile:

1 Like