1024pix / pix-bot

Automatisation de développement
GNU General Public License v3.0
10 stars 3 forks source link

[FEATURE] Permettre le déploiement dès la création d'une release (PIX-13870). #430

Closed VincentHardouin closed 1 month ago

VincentHardouin commented 1 month ago

:unicorn: Problème

Actuellement, plusieurs étapes manuelles persistent sur certains repository comme la création de release via l'interface de GitHub et le déploiement depuis une commande Slack. Les deux sont toujours suivies, cela n'a donc pas d'intérêt d'être manuel.

:robot: Proposition

Dans cette PR, nous nous concentrons sur la deuxième étape qui est de remplacer la commande Slack par l'utilisation des Webhooks GitHub.

GitHub appelle déjà Pix Bot à chaque création de release mais Pix Bot ne fait rien de cet évènement. Ici, nous ajoutons donc la logique pour que Pix Bot puisse déployer les apps associées au repo qui a une nouvelle release.

:rainbow: Remarques

Cette PR vient avec l'ajout d'une nouvelle variable d'environnement. REPO_APP_NAMES_MAPPING qui a pour but d'éviter les PRs pour ajouter une fonctionnalité pour un nouveau repository comme par exemple : #212.

Actuellement, l'écoute des webhooks se fait dans le dossier/app build, mais dans le cadre des releases ça devrait être dans le run. Je propose de voir ça dans un second temps, pour ne pas complexifier le code de cette PR en dupliquant la route etc.

:100: Pour tester

Aucune idée pour brancher ça facilement

pix-bot-github commented 1 month ago

Une fois l'application déployée, elle sera accessible à cette adresse https://bot-pr430.review.pix.fr Les variables d'environnement seront accessibles sur scalingo https://dashboard.scalingo.com/apps/osc-fr1/pix-bot-review-pr430/environment

yannbertrand commented 1 month ago

Ça concerne quel(s) projet(s) ? J'ai pas le souvenir d'avoir créé de release GitHub manuellement de mon côté

yannbertrand commented 1 month ago

Pas de conflit à prévoir sur les projets qui utilisent la release semantic ?

VincentHardouin commented 1 month ago

Ça concerne quel(s) projet(s) ? J'ai pas le souvenir d'avoir créé de release GitHub manuellement de mon côté

Presque tous les projets data sont en release manuel, mais c'est plutôt l'après release, le déploiement, qu'on souhaite résoudre ici. C-a-d après que la release soit faite que celle-ci soit déployée automatiquement, donc pas de conflit avec semantic-release