About default setup
Default setup for code scanning is the quickest, easiest, most low-maintenance way to enable code scanning for your repository. Based on the code in your repository, default setup will automatically create a custom code scanning configuration. After enabling default setup, the code written in CodeQL-supported languages in your repository will be scanned:
- On each push to the repository's default branch, or any protected branch. For more information on protected branches, see À propos des branches protégées.
- When creating or committing to a pull request based against the repository's default branch, or any protected branch, excluding pull requests from forks.
- On a weekly schedule.
If you need more granular control over your code scanning configuration, you should instead configure advanced setup.
Supported languages
Nous vous recommandons d’activer l’installation par défaut pour les référentiels éligibles s’il est possible que les référentiels incluent au moins un langage pris en charge par CodeQL dans le futur. Si vous activez l’installation par défaut sur un référentiel qui n’inclut aucun langage pris en charge par CodeQL, la configuration par défaut n’exécute pas d’analyses ni n’utilise de minutes GitHub Actions. Si les langages pris en charge par CodeQL sont ajoutés à la branche par défaut du référentiel, la configuration par défaut commencera automatiquement à analyser les langages pris en charge par CodeQL et à utiliser GitHub Actions minutes. Pour plus d’informations sur les langages pris en charge par CodeQL, consultez À propos de l’analyse du code avec CodeQL.
If the code in a repository changes to include any CodeQL-supported languages, GitHub will automatically update the code scanning configuration to include the new language. If code scanning fails with the new configuration, GitHub will resume the previous configuration automatically so the repository does not lose code scanning coverage.
Available runners
You can use default setup for all CodeQL-supported languages on self-hosted runners or GitHub-hosted runners.
You can assign self-hosted runners for default setup by giving the runners the default code-scanning label, or you can optionally give them custom labels so that individual repositories can use different runners.
Unless you have a specific use case, we recommend that you only assign runners with the default code-scanning label. However, you may want to use custom labels to:
- Assign more powerful self-hosted runners to critical repositories for faster code scanning analysis.
- Run your code scanning analyses on a particular platform (for example, macOS).
- Have granular control over the workload for your GitHub-hosted runners and self-hosted runners.
About advanced setup
Advanced setup for code scanning is helpful when you need to customize your code scanning. By creating and editing a workflow file, you can define how to build compiled languages, choose which queries to run, select the languages to scan, use a matrix build, and more. You also have access to all the options for controlling workflows, for example: changing the scan schedule, defining workflow triggers, specifying specialist runners to use.
You can also configure code scanning with third-party tools.
Si vous exécutez l’analyse du code en utilisant plusieurs configurations, il arrive qu’une alerte ait plusieurs origines d’analyse. Si une alerte a plusieurs origines d’analyse, vous pouvez afficher l’état de l’alerte pour chaque origine d’analyse sur la page de l’alerte. Pour plus d’informations, consultez « À propos des alertes d’analyse du code ».
Next steps
You can enable default setup for a single repository, multiple repositories, or all repositories in an organization at the same time.
- For a single repository, see Définition de la configuration par défaut pour l’analyse du code.
- For bulk enablement, see Définition de la configuration par défaut pour l’analyse du code à grande échelle.
To configure advanced setup instead, see Configuration avancée de l’analyse du code.