Sélection de branche avec bencher run
Une Branche est le référentiel git
(c’est-à-dire le nom de la branche ou le tag).
Lors de l’utilisation de la sous-commande CLI bencher run
,
sélectionnez une Branche avec l’option --branch
ou la variable d’environnement BENCHER_BRANCH
.
Par défaut, tous les projets commencent avec une Branche main
, et
main
est utilisée par défaut si aucune des deux n’est spécifiée.
Lors de l’Évaluation Continue, c’est-à-dire l’évaluation dans l’IC (Intégration Continue),
vous voudrez souvent créer ou rebase une branche
sur une Branche déjà existante.
Ceci est appelé un Point de Départ de Branche Point de Départ.
Un Point de Départ est une autre Branche à une version spécifique (et git
hash, si disponible).
Lors de l’utilisation de la sous-commande CLI bencher run
,
sélectionnez un Point de Départ avec l’option --branch-start-point
.
De plus, utilisez l’option --branch-start-point-hash
pour spécifier un hash git
spécifique pour le Point de Départ.
Toutes les données et Seuils sont copiés à partir du Point de Départ.
--branch <BRANCH>
Pour sélectionner une Branche, définissez l’option --branch
ou la variable d’environnement BENCHER_BRANCH
sur le nom, le slug ou l’UUID de la Branche.
Si la valeur spécifiée est un nom ou un slug et que la Branche n’existe pas déjà, elle sera créée pour vous.
Cependant, si la valeur spécifiée est un UUID, alors la Branche doit déjà exister.
Si les deux sont spécifiés, l’option --branch
a la priorité sur la variable d’environnement BENCHER_BRANCH
.
Si aucun n’est spécifié, le CLI de Bencher essaie de trouver la branche git
actuelle.
Il commence par chercher un dépôt git
dans le répertoire de travail actuel.
S’il n’y parvient pas, il continue vers le répertoire parent et réessaie jusqu’au répertoire racine.
Si un dépôt git
est trouvé, alors le nom court de la branche actuelle est utilisé.
Cependant, si un dépôt git
n’est pas trouvé, alors main
est utilisé comme branche par défaut.
--branch-start-point <BRANCH>
Utilisez le nom de la branche spécifiée, le slug ou l’UUID comme Point de Départ pour l’option branch
.
Pour GitHub, il s’agit généralement de la branche base
pour une Pull Request,
et pour GitLab, il s’agit généralement de la branche cible
pour une Merge Request.
Le principal cas d’utilisation de --branch-start-point
est le Benchmarking Continu Statistique.
- Si le Point de Départ spécifié est une chaîne vide, alors cette option est ignorée.
- Si
branch
n’existe pas, elle sera créée en utilisant ce Point de Départ. - Si
branch
existe déjà et que le Point de Départ est le même, alors cette option est ignorée. - Si
branch
existe déjà et que le Point de Départ est différent, l’ancienne version debranch
sera renommée et une nouvellebranch
sera créée en utilisant ce Point de Départ mis à jour.
Si une nouvelle branch
est créée avec un Point de Départ,
alors toutes les données et les Seuils du Point de Départ spécifié sont copiés.
Par exemple, si feature_branch
n’existe pas encore, mais main
existe et possède des données historiques.
Alors utiliser --branch feature_branch --branch-start-point main
:
- Créera une nouvelle Branche nommée
feature_branch
- Copiera toutes les données et les Seuils de
main
àfeature_branch
bencher run
se poursuivra en utilisantfeature_branch
🐰 Note : Lorsque vous utilisez des variables d’environnement, elles doivent être entourées de guillemets doubles (par exemple
--branch-start-point "$MY_BRANCH_ENV_VAR"
), si vous souhaitez quebencher run
ne génère pas d’erreur lorsqueMY_BRANCH_ENV_VAR
n’est pas défini.
--branch-start-point-hash <HASH>
Utilisez le hash Git complet spécifié comme Point de Départ pour l’option branch
.
Cette option nécessite que l’option --branch-start-point
soit définie.
- Si
branch
n’existe pas, elle sera créée à partir debranch-start-point
au hash spécifié. - Si
branch
existe et quebranch-start-point
ainsi que le hash spécifié sont les mêmes, alors cette option est ignorée. - Si
branch
existe déjà et que soitbranch-start-point
, soit le hash spécifié sont différents, l’ancienne version debranch
sera renommée et une nouvellebranch
sera créée à partir debranch-start-point
au hash spécifié.
Si une nouvelle branch
est créée avec un Point de Départ,
alors toutes les données et les Seuils du branch-start-point
au hash spécifié sont copiés.
Par exemple, si feature_branch
existe avec son Point de Départ étant la Branche main
au hash 32aea434d751648726097ed3ac760b57107edd8b
alors utiliser --branch feature_branch --branch-start-point main --branch-start-point-hash 68b12758509ca5e2b1e3983525625e532eb5f562
ferait :
- Renommer l’ancienne
feature_branch
enfeature_branch@main/hash/32aea434d751648726097ed3ac760b57107edd8b
- Créer une nouvelle Branche nommée
feature_branch
- Copier toutes les données et les Seuils depuis
main
au hash68b12758509ca5e2b1e3983525625e532eb5f562
vers la nouvellefeature_branch
bencher run
se déroulerait en utilisant la nouvellefeature_branch
--branch-reset
Réinitialise la branch
spécifiée.
L’utilisation principale de --branch-reset
est le Benchmarking Continu Relatif.
Ce drapeau est en conflit avec l’option --branch-start-point
.
- Si
branch
n’existe pas, elle sera créée. - Si
branch
existe déjà, l’ancienne version debranch
sera renommée et une nouvellebranch
sera créée.
Lorsqu’une nouvelle branch
est créée, elle ne disposera d’aucune donnée historique ni de seuils.
Par exemple, si feature_branch
existe sans Point de Départ
alors utiliser --branch feature_branch --branch-reset
ferait :
- Renommer l’ancienne
feature_branch
enfeature_branch@detached
- Créer une nouvelle Branch nommée
feature_branch
bencher run
continuerait à utiliser la nouvellefeature_branch
🐰 Félicitations ! Vous avez appris tout ce qu’il faut savoir sur la sélection de branches ! 🎉