Problem on R merge requests
Lorsque je fais une merge request basée sur mon template de projet R (https://forgemia.inra.fr/urep/dev_utils/gitlab-project-templates/r-package-project-template), j'ai une erreur "yml invalid" suivante :
Found errors in your .gitlab-ci.yml:
'Deploy Source package Commit' job needs 'Build source package' job, but 'Build source package' is not in any previous stage
Voir par exemple : urep/dev_utils/gitlab-project-templates/r-package-project-template!1 (merged)
Le problème c'est que dans son ensemble ma CI est valide ! (vérifié par des exécutions et le CI lint)
Le problème est très certainement lié au "rule" (et "needs") pour une raison incertaine le job "Build source package" n'est pas ajouté à la CI lors d'un merge request. Alors qu'il est nécessaire à "Deploy Source package Commit" d'où le message d'erreur.
Mon hypothèse, il s'agit d'un bug Gitlab. Lors du dernier commit sur la branche à merger, la CI est lancée. Le job "Build source package" s'exécute comme attendu. Mais le job "Deploy Source package Commit" ne s'exécute pas car en manuel. Une fois la merge request lancée il n'essaie peut-être d'ajouter que les jobs non déjà fait (lors du dernier commit) ?
Ca ne reste qu'une hypothèse, je n'ai pas constaté ce comportement précédemment.
Une solution peut-être pour tester serait de :
- Faire un commit sur une branche
- La CI se lance automatiquement
- Exécuter le job manuel "Deploy Source package Commit"
- Et seulement après lancer la merge request
(ce test peut être fait sur n'importe quel projet basé sur le template de projet paquet R)
Autre possibilité : il ne faut pas de job "manual" dans une merge request ?