¿Cuándo y cómo hacer un lanzamiento?

7

Escenario
Tengo un complemento para CakePHP 3, en el que estoy trabajando en y la gente está enviando errores para ello. Tengo una rama de desarrollo activa en develop a la que envío solicitudes de extracción desde las ramas de reparación.

Estoy utilizando el estándar de versión semántica para la versión de mi complemento.

¿Cuándo debo lanzar?
Si tengo tres errores abiertos y los arreglo uno después de otro, ¿debo hacer tres lanzamientos? ¿O debería hacer una versión única para todas estas correcciones?

¿Cómo afectan las correcciones múltiples a mis versiones?
En el ejemplo anterior tengo tres errores corregidos, así que para mí eso significa que debería aumentar el número de versión PATCH en tres. ¿Es correcto o el número de versión está específicamente vinculado al lanzamiento? Entonces, al presionar una única versión, ¿solo incrementaría la versión PATCH en una para indicar una versión de corrección de errores?

TL; DR
¿Cada arreglo cuenta para sus versiones PATCH número?

    
pregunta David Yell 17.03.2015 - 13:02

2 respuestas

19

Nunca se explica de forma explícita, pero una lectura cuidadosa de semver.org sugiere que una versión está asociada con una versión adecuada, no con un compromiso VCS . Así que, naturalmente, si realiza una versión que tiene varias correcciones de errores, incrementará el componente del parche una vez . Dejando de lado grandes huecos para tener en cuenta los estados intermedios que no tiene una versión (ni siquiera en principio, como las versiones dañadas que se han retirado) no tiene sentido.

Por supuesto, podría hacer un lanzamiento para cada pequeño cambio, pero esto probablemente no es deseable: es mucho trabajo para usted, desperdicia el tiempo y el ancho de banda del usuario con actualizaciones frecuentes, y da como resultado números y versiones de versiones ridículas. registros Hay varias políticas para cuándo lanzar, y cuál funciona mejor es principalmente una cuestión de opinión y las peculiaridades del proyecto y su base de usuarios. Algunas opciones comunes son:

  • Algunos lanzamientos de proyectos una vez cada X unidades de tiempo, independientemente de cuántos o pocos cambios se hayan realizado.
  • Algunos proyectos se liberan una vez que se alcanza un umbral subjetivo de "cambios suficientes".
  • Algunos proyectos tienen hitos: "Lanzaremos vX.Y una vez que tengamos esto y lo que hayamos hecho".
  • Una mezcla de lo anterior.

La mayoría de los proyectos, incluso cuando normalmente se adhieren a uno de los anteriores, pueden publicar correcciones fuera de línea cuando un error desagradable en particular se lanzó en la naturaleza.

Por el contrario, si publica nuevos lanzamientos tan raramente (o nunca) que la mayoría de las personas simplemente rastrean git master , entonces falla en semver porque estas personas no tienen ninguna garantía de compatibilidad hacia atrás. La solución no es dar a cada compromiso su propio número de versión, sino lanzarlo en intervalos más razonables.

    
respondido por el user7043 17.03.2015 - 13:19
5

Tenga en cuenta que si CakePHP 3 está cambiando su API de complemento (y su complemento se adapta a ese cambio), probablemente debería aumentar su número mayor.

Por cierto, en MELT estoy nombrando explícitamente la (s) versión (es) de GCC para la cual se realizó ese lanzamiento. Así que los estoy nombrando MELT-1.1.3 para GCC 4.8 o 4.9

Los complementos son una esquina de la versión semántica de las versiones, porque lo que generalmente importa es tanto la versión del complemento como la versión (aceptable) del programa que usa ese complemento.

    
respondido por el Basile Starynkevitch 17.03.2015 - 13:32

Lea otras preguntas en las etiquetas