Using Github CODEOWNERS file


Introduction

GitHub CODEOWNERS file is a simple way to automate away some of the pain associated with the review system on github, by automatically assigning reviewers to a pull request based on which files were modified.

How to use

It's really simple ! Just drop a file named CODEOWNERS either at the root of your repository, or in a .github folder.

The simplest file you can use is as follows:

* @user1 @user2

This will automatically add user1 and user2 to any PR created on the repository.

When several patterns match the same file, the last one is taking precedence. This allows to ask reviews from the right team for any file, as illustrated by this example on a project structure similar to what we use:

# These owners will be the default owners for everything in
# the repo.
*                            @peopledoc/<project>-developers @peopledoc/<project>-po

# Dot-files should be handled by the lead dev (.gitignore and co)
.*                           @peopledoc/<project>-leaddev

# Frontend assets
*.js                         @peopledoc/tribe-js

# Template and assets
*.html *.css *.scss *.img    @peopledoc/tribe-ui

# Some module is quite complex, and shouldn't be touched without an expert
# chiming in
some_module/tricky_part/*.py @functional_expert1 @functional_expert2

# Schema and SQL migrations
*.sql *-ddl.pg               @peopledoc/dba

# QA
/tests/end2end/              @peopledoc/set

# Copywriting
*.po                         @peopledoc/localization-manager

# Devsec
/ansible/credentials/        @peopledoc/devsecops

The only one surprising thing is that reviewers are not added while you're creating the PR, but only once it's been created.

More articles

Django, l'ORM et l'optimisation


Comme vous le savez sans doute, les objets de type QuerySet sont lazy. C'est à dire qu'ils ne sont évalués qu'au tout dernier moment. En fait, ils peuvent même ne pas être évalués du tout. Ou au contraire être évalués à de nombreuses reprises.

Evidemment, pour de meilleures performances, on …

Stockage Array avec Django


Actuellement dans un de nos projets nous stockons un ensemble d'id provenant d'une table dans une autre base de données, ces valeurs étant coûteuses à calculer et variant peu nous les stockons directement au niveau du tuple dans une colonne de type text en séparant chaque valeur par une virgule …

Supprimer un grand nombre d'objets dans une base


Dans ce billet nous allons nous intéresser aux différentes méthodes utilisables pour supprimer un grand nombre d'objets dans une base de données PostgreSQL avec Django.

Le test est réalisé sur des tables contenant 100 000 lignes et la suppression représente environ 16% des lignes. Les différentes mesures sont réalisées sur …

Aller à l'essentiel avec only et defer


Après avoir étudié l'intérêt de la pagination par clé dans un récent article nous allons nous pencher cette fois sur les queryset et en particulier sur la méthode only()

Le bench est réalisé sur une table de 10 000 lignes, ce qui est peu mais déjà suffisant pour mettre en …

1 / 3