Sélection de branche avec bencher run


Il existe plusieurs façons de définir la branche de projet dans la sous-commande bencher run CLI. Si aucune de ces options ou drapeaux n’est utilisée, alors main est utilisée comme branche par défaut.


--branch <BRANCH>


La façon la plus simple est de définir l’option --branch ou la variable d’environnement BENCHER_BRANCH sur le slug ou UUID d’une branche déjà existante. Si les deux sont définis, l’option --branch prime sur la variable d’environnement BENCHER_BRANCH.

Cependant, si ces deux éléments sont manquants ou si la valeur fournie est invalide, alors la commande bencher run donnera une erreur. Ce n’est pas le plus pratique dans les environnements CI/CD, où de nouvelles branches apparaissent tout le temps. Au lieu d’utiliser --branch ou la variable d’environnement BENCHER_BRANCH, il existe une option --if-branch.


--if-branch <BRANCH_NAME>


L’option --if-branch attend un argument de nom de branche et effectue une requête pour voir si une seule branche avec ce nom existe. S’il existe exactement une branche, alors bencher run continue avec cette branche. Sinon, bencher run se contentera de se connecter et de quitter avec succès.

Par exemple, si main existe alors l’utilisation de --if-branch main le trouverait. Puis bencher run continuerait en utilisant main.

L’option --branch est en conflit avec l’option --if-branch, mais la variable d’environnement BENCHER_BRANCH prime sur l’option --if-branch.


🐰 Note : Lorsque vous utilisez des variables d’environnement, elles doivent être entourées de guillemets doubles (par exemple --if-branch "$MY_ENV_VAR").


--else-if-branch <BRANCH_NAME>


Souvent, lorsqu’on travaille sur des branches de fonctionnalités, il serait utile d’avoir des données historiques de la branche parent/base. C’est ici que l’option --else-if-branch entre en jeu. L’option --else-if-branch attend un autre argument de nom de branche. Si --if-branch échoue, alors --else-if-branch effectue une requête pour voir si une seule branche avec ce nom existe. Si exactement une branche est trouvée, alors toutes les données et seuils de cette branche de départ seront copiés sur une nouvelle branche créée avec le nom donné à --if-branch.

Par exemple, si feature_branch n’existe pas encore, mais que main existe et a des données historiques. Alors l’utilisation de --if-branch feature_branch --else-if-branch main, créerait une nouvelle branche nommée feature_branch, et elle aurait une copie de toutes les données et seuils de main. Puis bencher run continuerait en utilisant feature_branch.

Il est aussi possible d’utiliser plusieurs options --else-if-branch. Par exemple si mia_branch n’existe pas, --if-branch feature_branch --else-if-branch mia_branch --else-if-branch main fonctionnerait efficacement de la même manière que l’exemple précédent, en copiant toutes les données et seuils de main et en continuant.

Si la requête --if-branch réussit alors --else-if-branch n’est jamais exécuté, et si --if-branch et --else-if-branch échouent, bencher run se connectera simplement et quittera avec succès.


🐰 Note : Lorsque vous utilisez des variables d’environnement, elles doivent être entourées de guillemets doubles (par exemple --else-if-branch "$MY_ENV_VAR").


--else-branch


Pour garantir dans tous les cas que les mesures d’une exécution sont stockées, il existe un drapeau --else-branch. Le drapeau --else-branch ne prend aucun argument. Si --if-branch échoue, alors --else-branch crée simplement une nouvelle branche avec le nom donné à --if-branch.

Par exemple, si feature_branch n’existe pas encore. Alors en utilisant --if-branch feature_branch --else-branch, une nouvelle branche nommée feature_branch serait créée, et elle n’aurait aucune donnée initiale ni seuil. Puis bencher run continuerait en utilisant feature_branch.

Il est également possible de chaîner les trois drapeaux ensemble: --if-branch, --else-if-branch, et --else-branch. Par exemple, --if-branch feature_branch --else-if-branch main --else-branch.

Si la requête --if-branch réussit alors --else-branch n’est jamais exécuté, et de même, si --if-else-branch réussit alors --else-branch n’est jamais exécuté. Et --else-branch est censé toujours réussir et quitter avec succès.


--endif-branch


Le drapeau --endif-branch fonctionne comme un drapeau noop optionnel pour indiquer la fin de l’instruction --if-branch.

Il est possible de chaîner les quatre drapeaux ensemble: --if-branch, --else-if-branch, --else-branch, et --endif-branch. Par exemple, --if-branch feature_branch --else-if-branch "$MY_ENV_VAR" --else-branch --endif-branch.



🐰 Félicitations ! Vous avez tout appris sur la sélection de branche ! 🎉


Continuer : Adaptateurs de Harnais de Benchmark ➡

🤖 Ce document a été automatiquement généré par OpenAI GPT-4. Il peut ne pas être précis et peut contenir des erreurs. Si vous trouvez des erreurs, veuillez ouvrir une issue sur GitHub.