GitHub Actions

Le texte français est donné à la suite.

A few notes on the GitHub Actions features

Background

This page means to bring attention to a few features available to projects on GitHub.com for pipeline and code security needs. Where in the past we needed to rely on external tools (like travis-ci or circle-ci), since 2018 GitHub has been ramping up its own pipeline features such as GitHub Actions, Dependabot and Code Scanning.

GitHub Actions/Pipelines

Like Gitlab and Azure DevOps, you can have GitHub perform Continuous Integration pipelines to build your applications and run tests on every push/Pull Request/merge to catch problems early. Github Actions can also be used for Continuous Delivery to deploy your application to cloud services or binary repositories (such as Nuget or Maven central), either triggered manually or automatically when a release is created. GitHub has action runners available supporting most commonly used programming languages on either Windows or Linux infrastructure.

To get started, you can simply go to the “Actions” tab in your GitHub repository. GitHub has good documentation on GitHub Actions, its workflows and their syntax.

A few additional notes:

Dependabot and Code Scanning

Two other recommended features of GitHub are Dependabot and code scanning.

Dependabot can warn you of security vulnerabilities discovered in the libraries your project depends on. It can also be used to periodically/automatically update your project’s dependencies (when coupled with proper automated testing, auto-updating of dependencies is not as scary as it sounds). Refer to GitHub’s Dependabot Documentation for details.

GitHub can also detect vulnerabilities in your own source code by setting up code scanning. This, like dependabot alerts can be enabled in the “Security” tab of your repository. Refer to GitHub’s Code Scanning Documentation for details.


Texte français:

Quelques notes sur les fonctionnalités des actions GitHub

Contexte

Cette page vise à attirer l’attention sur certaines fonctionnalités offertes aux projets sur GitHub.com pour répondre aux besoins de pipelines et de sécurité du code. Alors qu’auparavant nous devions nous appuyer sur des outils externes (tels que Travis-CI ou CircleCI), GitHub a développé ses propres fonctionnalités de pipeline depuis 2018, comme GitHub Actions, Dependabot et l’analyse de code (Code Scanning).

GitHub Actions / Pipelines

Tout comme GitLab et Azure DevOps, vous pouvez utiliser GitHub pour exécuter des pipelines d’intégration continue afin de compiler vos applications et d’exécuter des tests à chaque push/Pull Request/fusion pour détecter les problèmes au plus tôt. GitHub Actions peut également être utilisé pour la livraison continue afin de déployer votre application sur des services infonuagiques ou des référentiels de binaires (comme NuGet ou Maven Central), soit manuellement, soit automatiquement lors de la création d’une version. GitHub fournit des exécuteurs (runners) prenant en charge la plupart des langages de programmation courants sur les infrastructures Windows ou Linux.

Pour commencer, accédez simplement à l’onglet « Actions » de votre référentiel GitHub. GitHub offre une excellente documentation sur GitHub Actions, ses flux de travail (workflows) et leur syntaxe.

Quelques remarques supplémentaires :

Dependabot et analyse de code (Code Scanning)

Deux autres fonctionnalités recommandées de GitHub sont Dependabot et l’analyse de code.

Dependabot peut vous alerter sur les vulnérabilités de sécurité découvertes dans les bibliothèques dont dépend votre projet. Il peut également mettre à jour automatiquement et périodiquement vos dépendances (combiné à des tests automatisés rigoureux, la mise à jour automatique des dépendances est une approche très efficace). Consultez la documentation de Dependabot pour plus de détails.

GitHub peut également détecter les vulnérabilités dans votre propre code source en activant l’analyse de code (Code Scanning). Cette fonctionnalité, tout comme les alertes Dependabot, peut être activée dans l’onglet « Security » de votre référentiel. Consultez la documentation sur l’analyse du code pour plus de détails.