Skip to content

Améliorer l'exécution de la CI pour les contributions externes #1827

@StephaneTrebel

Description

@StephaneTrebel

Comme vu sur la dernière PR de @ArnaudTA (#1819 (comment)), il y a un souci lors de l'exécution du workflow CI dû au fait qu'étant contributeur externe, il n'a (et c'est bien normal) pas les droits de push sur les paquets de l'organisation.

Le problème c'est que pour contourner ça il faut que ce soit un membre de CPiN (ici moi-même), qui doit créer une MR à partir de la PR (issue d'un fork, donc), ce qui est possible, mais peu pratique (et peu causer des problèmes si je fais des bêtises, ce qui n'est pas si rare que ça).

Il faudrait faire évoluer notre workflow de CI pour se reposer sur un mécanique utilisant pull_request_target mais ATTENTION, ça peut créer des vulnérabilités par "Pwn Requests" (https://securitylab.github.com/resources/github-actions-preventing-pwn-requests/) 😅

Une façon de faire plus sécurisée serait de combiner pull_request_target et des étiquettes (labels) qui seraient apposées par les Mainteneurs du projets, permettant ainsi le déclenchement des CI avec "tous les droits" nécessaires. D'autres l'ont fait avec succès, cf. https://blog.chmouel.com/posts/github-workflows-pull_request_target/#the-solution-automating-with-github-labels-and-pac

Metadata

Metadata

Labels

CI/CDCI/CD stuffs

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions