La mission de Scalingo est d'aider les développeuses et développeurs à se concentrer sur le développement de nouvelles fonctionnalités, en les déchargeant de la gestion de l'infrastructure ainsi que du workflow de déploiement.
C’est dans cette optique que nous avons ajouté à notre intégration avec GitHub le support des fameuses GitHub Actions. Lors du déploiement automatique de vos branches ou de vos applications de révision, le statut des GitHub Actions est désormais pris en compte : La plateforme Scalingo attend que les GitHub Actions réussissent avant de procéder au déploiement automatique.
Les GitHub Actions sont des outils fournis par la plateforme GitHub ouvrant la porte à de nombreux instruments d'intégration continue, de linting (processus de détection d’erreurs dans le code), d'analyse de code ou encore de tests très puissants.
Pour rappel, l'intégration continue est un ensemble de pratiques qui visent à vérifier que chaque modification apportée au code n'a pas d'impact sur les fonctionnalités de l'application.
En sous-main, les GitHub Actions se basent sur l’API ‘Checks’ de GitHub, c’est cette API que nos avons intégré à nos services.
Cette intégration est directement visible depuis l'interface GitHub, dans l'onglet "Checks", et permet des statuts plus riches, des annotations de code avec des informations détaillées et une meilleure interactivité lors des revues.
L'existence d'outils CI/CD sur GitHub n'est pas une nouvelle. Ces outils existaient bien avant l'arrivée de l'API GitHub Checks et de GitHub Action.
Initialement, ces outils pouvaient utiliser l'API des statuts de commits pour informer GitHub de la progression d'un CI en marquant les commits avec un état “error”, “failure”, “pending”, ou “success".
Ces applications externes étaient alors liées à votre compte en tant qu'Application OAuth, des applications se faisant passer pour des utilisateurs de la plateforme permettant d’interagir avec l’API GitHub et vos dépôts de façon restreinte.
GitHub Checks utilise une autre catégorie d'applications permettant d'exploiter pleinement le potentielle de l'API de GitHub : les GitHub Apps !
En conséquence, plusieurs nouveaux statuts sont disponibles pour préciser l'état de votre CI et un nouvel onglet vous permet de consulter directement les logs de vos CI sans quitter l'interface GitHub.
L'API GitHub checks ainsi que l'API des statuts de commit nous offrent des informations précieuses sur le statut de votre code.
C'est en analysant le contenu fourni par celle-ci que nous choisissons de déployer vos reviews apps et vos applications. Désormais nous sommes en mesure de couvrir l'intégralité des CI/CD disponibles pour GitHub !
Dans le cadre de notre objectif d'amélioration continue chez Scalingo, la mise en œuvre d'un tel outil permet d’aboutir à une une expérience utilisateur améliorée et optimise le flux de travail de nos utilisateurs.
Pour plus d'informations vous pouvez consulter la documentation complète de GitHub Checks.
Chez Scalingo (avec nos partenaires), nous utilisons des traceurs sur notre site.
Certains, essentiels et fonctionnels, sont nécessaires au bon fonctionnement du site et ne peuvent pas être refusés.
D'autres sont utilisés pour mesurer notre audience, entretenir notre relation avec vous et vous adresser de temps à autre du contenu qualitatif ainsi que de la publicité.