Selecci贸n de Ramas con bencher run


Una Rama es la referencia git (es decir, nombre de la rama o etiqueta). Al usar el subcomando de la interfaz de l铆nea de comandos bencher run, selecciona una Rama con la opci贸n --branch o la variable de entorno BENCHER_BRANCH. Por defecto, todos los proyectos comienzan con una Rama main, y main se utiliza por defecto si no se especifica ninguna.

Cuando se realiza Benchmarking Continuo, es decir, benchmarking en CI, a menudo querr谩s crear o rebase una branch en una Rama ya existente. Esto se llama un Punto de Inicio de Rama Start Point. Un Punto de Inicio es otra Rama en una versi贸n espec铆fica (y hash git, si est谩 disponible). Al usar el subcomando de la interfaz de l铆nea de comandos bencher run, selecciona un Punto de Inicio con la opci贸n --branch-start-point. Adicionalmente, utiliza la opci贸n --branch-start-point-hash para especificar un hash git espec铆fico para el Punto de Inicio. Todos los datos y Umbrales se copian desde el Punto de Inicio.

--branch <BRANCH>


Para seleccionar una Rama, establezca la opci贸n --branch o la variable de entorno BENCHER_BRANCH al nombre, slug o UUID de la Rama. Si el valor especificado es un nombre o slug y la Rama no existe previamente, se crear谩 para usted. Sin embargo, si el valor especificado es un UUID, entonces la Rama ya debe existir. Si ambos est谩n especificados, la opci贸n --branch tiene precedencia sobre la variable de entorno BENCHER_BRANCH.

Si no se especifica ninguno, el CLI de Bencher intenta encontrar la rama actual de git. Comienza buscando un repositorio de git en el directorio de trabajo actual. Si no tiene 茅xito, contin煤a con el directorio padre y reintentar hasta llegar al directorio ra铆z. Si se encuentra un repositorio de git, entonces se usa el nombre corto de la rama actual. Sin embargo, si no se encuentra un repositorio de git, entonces main se utiliza como la rama predeterminada.

--branch-start-point <BRANCH>


Utilice el nombre de la Rama, slug o UUID especificado como el Punto de Inicio para la opci贸n branch. Para GitHub, esto suele ser la base branch para una Pull Request, y para GitLab, esto suele ser la branch objetivo para una Merge Request. El caso de uso principal para --branch-start-point es Benchmarking Continuo Estad铆stico.

  • Si el Punto de Inicio especificado es una cadena vac铆a, entonces esta opci贸n se ignora.
  • Si branch no existe, se crear谩 usando este Punto de Inicio.
  • Si branch ya existe y el Punto de Inicio es el mismo, entonces esta opci贸n se ignora.
  • Si branch ya existe y el Punto de Inicio es diferente, la versi贸n antigua de branch ser谩 renombrada y se crear谩 una nueva branch usando este Punto de Inicio actualizado.

Si se crea una nueva branch con un Punto de Inicio, entonces todos los datos y Umbrales del Punto de Inicio especificado se copian.

Por ejemplo, si feature_branch a煤n no existe, pero main existe y tiene datos hist贸ricos. Entonces, usando --branch feature_branch --branch-start-point main se:

  1. Crear铆a una nueva Rama llamada feature_branch
  2. Copiar铆a todos los datos y Umbrales de main a feature_branch
  3. bencher run proceder铆a usando feature_branch

馃惏 Nota: Siempre que se utilicen variables de entorno, se deben envolver entre comillas dobles (es decir, --branch-start-point "$MY_BRANCH_ENV_VAR"), si desea que bencher run no falle cuando MY_BRANCH_ENV_VAR est茅 indefinido.

--branch-start-point-hash <HASH>


Utiliza el hash completo de Git especificado como Punto de Inicio para la opci贸n branch. Esta opci贸n requiere que se establezca la opci贸n --branch-start-point.

  • Si branch no existe, se crear谩 a partir de branch-start-point en el hash especificado.
  • Si branch ya existe y tanto branch-start-point como el hash especificado son iguales, entonces esta opci贸n se ignora.
  • Si branch ya existe y tanto el branch-start-point como el hash especificado son diferentes, la antigua versi贸n de branch se renombrar谩 y se crear谩 una nueva branch a partir de branch-start-point en el hash especificado.

Si se crea una nueva branch con un Punto de Inicio, entonces todos los datos y Umbrales desde el branch-start-point en el hash especificado se copian.

Por ejemplo, si feature_branch existe con su Punto de Inicio siendo la rama main en el hash 32aea434d751648726097ed3ac760b57107edd8b entonces usar --branch feature_branch --branch-start-point main --branch-start-point-hash 68b12758509ca5e2b1e3983525625e532eb5f562 har铆a:

  1. Renombrar la antigua feature_branch a feature_branch@main/hash/32aea434d751648726097ed3ac760b57107edd8b
  2. Crear una nueva rama nombrada feature_branch
  3. Copiar todos los datos y Umbrales desde main en el hash 68b12758509ca5e2b1e3983525625e532eb5f562 a la nueva feature_branch
  4. bencher run proceder铆a utilizando la nueva feature_branch

--branch-reset


Restablece la branch especificada. El principal caso de uso para --branch-reset es el Benchmarking Continuo Relativo. Esta bandera es incompatible con la opci贸n --branch-start-point.

  • Si branch no existe, ser谩 creada.
  • Si branch ya existe, la versi贸n antigua de branch ser谩 renombrada y se crear谩 una nueva branch.

Cuando se crea una nueva branch, esta no tendr谩 datos hist贸ricos ni Umbrales.

Por ejemplo, si feature_branch existe sin un Punto Inicial entonces usar --branch feature_branch --branch-reset har铆a:

  1. Renombrar la antigua feature_branch a feature_branch@detached
  2. Crear una nueva Branch llamada feature_branch
  3. bencher run proceder铆a usando la nueva feature_branch

馃惏 隆Felicidades! Has aprendido todo sobre la selecci贸n de ramas. 馃帀


Contin煤a: Adaptadores de Harness de Benchmark 鉃

馃 Este documento fue generado autom谩ticamente por OpenAI GPT-4. Puede que no sea exacto y contenga errores. Si encuentra alg煤n error, abra un problema en GitHub.


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