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 de branch sera renommée et une nouvelle branch 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 :

  1. Créera une nouvelle Branche nommée feature_branch
  2. Copiera toutes les données et les Seuils de main à feature_branch
  3. bencher run se poursuivra en utilisant feature_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 que bencher run ne génère pas d’erreur lorsque MY_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 de branch-start-point au hash spécifié.
  • Si branch existe et que branch-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 soit branch-start-point, soit le hash spécifié sont différents, l’ancienne version de branch sera renommée et une nouvelle branch sera créée à partir de branch-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 :

  1. Renommer l’ancienne feature_branch en feature_branch@main/hash/32aea434d751648726097ed3ac760b57107edd8b
  2. Créer une nouvelle Branche nommée feature_branch
  3. Copier toutes les données et les Seuils depuis main au hash 68b12758509ca5e2b1e3983525625e532eb5f562 vers la nouvelle feature_branch
  4. bencher run se déroulerait en utilisant la nouvelle feature_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 de branch sera renommée et une nouvelle branch 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 :

  1. Renommer l’ancienne feature_branch en feature_branch@detached
  2. Créer une nouvelle Branch nommée feature_branch
  3. bencher run continuerait à utiliser la nouvelle feature_branch

🐰 Félicitations ! Vous avez appris tout ce qu’il faut savoir sur la sélection de branches ! 🎉


Continuez : Adaptateurs de banc d’essai ➡

🤖 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.


Published: Fri, October 27, 2023 at 8:40:00 AM UTC | Last Updated: Thu, May 9, 2024 at 9:23:00 AM UTC