[Framagit]Gitlab-runner est cassé

Bonjour à tous,

Depuis 2 ou 3 jours (peut-être plus mais je m’en suis pas rendu compte), le CI de framagit ne fonctionne plus. Mais .gitlab.yml n’ont absolument pas changer ni même le docker utiliser pour la construction des logiciel.
Le message d’erreur et le suivant:

Running with gitlab-runner 13.8.0 (775dd39d)
on Grincheux (Framasoft shared runner) 843b4faa
Preparing the « docker » executor
Using Docker executor with image obarun/base:latest …
Authenticating with credentials from /root/.docker/config.json
Pulling docker image obarun/base:latest …
Using docker image sha256:e5f8068798d0b67088913d292189b4251e4051badc12425a8d291a3967c958ae for obarun/base:latest with digest obarun/base@sha256:cb8fea25d3ec11aa08e16860d4d7533c45ecc487bc9ad85bb1128590913b0139 …

Preparing environment
Running on runner-843b4faa-project-34063-concurrent-0 via ruth2…
Getting source from Git repository
Fetching changes…
Reinitialized existing Git repository in /builds/Obarun/66/.git/
Checking out abd0930f as master…
Skipping Git submodules setup
Executing « step_script » stage of the job script
shell not found
Cleaning up file based variables
ERROR: Job failed: exit code 1

Comme vous pouvez le constater il ne trouve pas le shell. Or le docker utilisé contient bien bash en tant que shell.

Si vous avez des idées du pourquoi et du comment je suis preneur :).

Eric

Bonjour,

peux-tu mettre une copie du fichier de conf de la CI (celui à la racine de ton dépôt, qui termine en .yml)? Ça peut aider à comprendre ce qui se passe

il est vraiment très simple et il n’a pas bouger depuis des lustres :slight_smile: ( a part une variable de plus passer au script externe).

Je n’ai que quelques notions en CI mais le fait d’utiliser obarun/base:latest fait que l’image docker utilisée a été peut-être mise à jour récemment, provoquant le problème rencontré.

Est-ce que cette image existe dans une version antérieure, que tu pourrai appeler sous la forme obarun/base:1.2 ? (le numéro de version est ici imaginaire)

Le problème a commencer a apparaître avant que je mette l’image docker a jour. C’est en constatant l’erreur que j’ai refait une image docker pour être sur que cela ne vient pas de chez moi, mais cela n’a rien résolue. L’image docker contient bien un shell, en l’occurence bash.

Je confirme qu’il y a bien un shell (/bin/bash, aussi dispo avec /bin/sh, /usr/bin/bash et /usr/bin/sh), et je ne comprends pas le souci, mais ça a bien l’air de venir de l’image : j’ai forké le dépôt et enlevé la spécification de l’image (du coup, ça utilise l’image debian:stable, qui est notre image par défaut) et ça fonctionne.

J’avoue que je ne comprends pas.

D’après Sign in · GitLab, ça a commencé à foirer le 6 février et le dernier job fonctionnel date du 2, vers 10h09 et on a eu une mise à jour de docker le 2 vers 10h49. J’ai du mal à voir en quoi ça aurait pu avoir une incidence, mais à part ça ou un rebuild de l’image qui aurait tout cassé, je ne vois pas ce qui a pu se passer.

Est-ce que tu aurais la possibilité d’installer un Gitlab runner chez toi (cf la doc) et configurer ton dépôt pour qu’il l’utilise au lieu du nôtre ?

Merci pour la suggestion je n’y avait pas pensé. Donc j’ai refait l’image docker (encore) pour repartir a propre puis mis en place mon Gitlab runner et sa fonctionne. (je ne peux pas poster avec un lien mais va voir le log du dernier pipeline qui a était lancer). Donc le problème ne vient pas de l’image docker et comme tu as peux le constater avec les logs, le premier fail vient avant la mise à jour de l’image.

C’est fou… c’est bien la même image docker sur notre runner à nous, mais ça foire. À n’y rien comprendre.

il n’y a pas eu une mise a jour de gitlab de votre coté avec une configuration qui aurait sauté?

Il y a eu des mises à jour de Gitlab, mais pas du gitlab runner. Et puis si c’était Gitlab, j’imagine que ça débloquerait aussi avec votre runner à vous.

Des avancées sur le sujet? Suis-je le seul avec le problème?