Describe el error
Cuando ejecuto npx auto create-labels
y tengo una configuración de etiqueta determinada definida en mi package.json, esperaría que solo se creen esas etiquetas, NO las etiquetas predeterminadas adicionales definidas por auto. Este solía ser el caso, pero en algún momento dejó de funcionar correctamente.
Reproducir
Usando la siguiente configuración:
"auto": {
"baseBranch": "master",
"prereleaseBranches": [
"next"
],
"plugins": [
[
"npm",
{
"legacyAuth": true,
"setRcToken": false
}
],
"released",
"microsoft-teams"
],
"shipit": {
"noChangelog": true
},
"labels": [
{
"name": "breaking",
"changelogTitle": "🚨 Breaking Changes",
"description": "Backwards incompatible enhancement or feature.",
"releaseType": "major",
"color": "#c5000b"
},
{
"name": "feature",
"changelogTitle": "🚀 Features",
"description": "A new feature.",
"releaseType": "minor",
"color": "#00ff00"
},
{
"name": "build",
"changelogTitle": "📦 Build Process",
"description": "Changes to the build process.",
"releaseType": "patch",
"color": "#4a4a4a"
},
{
"name": "chore",
"changelogTitle": "🏗 Miscellaneous",
"description": "Additional, uncategorized changes.",
"releaseType": "patch",
"color": "#ff00ff",
"default": true
},
{
"name": "ci",
"changelogTitle": "🔖 Continuous Integration",
"description": "Changes to CI configuration files and scripts.",
"releaseType": "patch",
"color": "#f1a60e"
},
{
"name": "docs",
"changelogTitle": "📖 Documentation",
"description": "Documentation updates and changes.",
"releaseType": "patch",
"color": "#870048"
},
{
"name": "fix",
"changelogTitle": "🐛 Bug Fixes",
"description": "A bug fix.",
"releaseType": "patch",
"color": "#6000ff"
},
{
"name": "perf",
"changelogTitle": "⚡️ Performance",
"description": "A code change that improves performance.",
"releaseType": "patch",
"color": "#00e4ff"
},
{
"name": "refactor",
"changelogTitle": "♻️ Refactoring",
"description": "A code change that neither fixes a bug nor adds a feature.",
"releaseType": "patch",
"color": "#00b58d"
},
{
"name": "revert",
"changelogTitle": "🚧 Reverting",
"description": "Reverts a previous commit.",
"releaseType": "patch",
"color": "#ff9000"
},
{
"name": "style",
"changelogTitle": "🎨 Style",
"description": "Code style (white-space, formatting, missing semi-colons, etc).",
"releaseType": "patch",
"color": "#0051d8"
},
{
"name": "test",
"changelogTitle": "✅ Testing",
"description": "Adding missing tests or correcting existing tests.",
"releaseType": "patch",
"color": "#127f00"
},
{
"name": "upgrade",
"changelogTitle": "⚙️ Dependencies",
"description": "Dependency upgrades.",
"releaseType": "minor",
"color": "#00787f"
}
]
}
Esta es la salida:
Created labels: breaking, feature, build, chore, ci, docs, fix, perf, refactor, revert, style, test, upgrade, major, minor, patch, skip-release, internal, documentation, tests, dependencies, performance, released, prerelease
Comportamiento esperado
Solo se crearían las etiquetas descritas en la configuración anterior. Cualquier cosa después de la etiqueta upgrade
en la lista de salida anterior no es deseada y no debe crearse.
Capturas de pantalla
Información medioambiental:
Environment Information:
"auto" version: v10.25.1
"git" version: v2.29.2
"node" version: v12.13.0
✔ Labels configured on GitHub project
Contexto adicional
Estaba a punto de presentar el mismo problema. Los documentos no tienen claro cómo anular las etiquetas predeterminadas. ¿Hay alguna manera de decir que solo quiero las etiquetas definidas en la configuración y no las predeterminadas?
Hay una opción overwrite
en la configuración de la etiqueta que anulará la etiqueta predeterminada coincidente. IDK si funcionará para las etiquetas zon-semver. ¿Podrías intentarlo? Si los documentos no son lo suficientemente claros sobre esto, más que dispuestos a aceptar un PR
@hipstersmoothie al mirar https://intuit.github.io/auto/docs/generated/create-labels no veo nada de esa naturaleza. ¿Dónde están los documentos relacionados con esta opción?
Ah, está aquí: https://intuit.github.io/auto/docs/configuration/autorc#label -customization
@hipstersmoothie Mirando esos documentos, creo que no tengo claro la funcionalidad de esa opción. Asumiría que si agrego eso a cada una de mis etiquetas en mi configuración, simplemente sobrescribiría las etiquetas major
, minor
y patch
con las mías, pero lo haría No borre los demás que se están creando además de esos. Creo que una buena adición sería agregar una opción al comando create labels
que dice include-defaults
y se establece en verdadero / falso (verdadero de forma predeterminada si desea mantener la compatibilidad con versiones anteriores). ¿Pensamientos?
Estoy de acuerdo con @reintroducing. Sabía sobre la opción overwrite
, pero solo se trata de ajustar las etiquetas predeterminadas si la entiendo correctamente. Queremos una opción para crear _sólo_ las etiquetas que configuramos.
@reintroduciendo ¡ Me gusta mucho esa opción! Por defecto, solo se pueden crear etiquetas específicas. Nuevo indicador para incluir los demás y utilizar la lógica de sobrescritura. Sin embargo, este sería un cambio radical en el comportamiento. ¿Qué pasa con lo contrario --no-include-defaults
?
@hipstersmoothie sí, lo siento, mi explicación no fue clara, estaba sugiriendo lo mismo que tú pero al revés y sería cierto por defecto, jajaja, para evitar un cambio rotundo. el suyo es realmente más limpio y se alinea mejor con la forma en que se realizan todas las demás opciones. ¡Estoy por ello totalmente!
Puede que no tenga que llegar a esto hasta el fin de semana. Si envías un PR, revisaré y fusionaré las solicitudes
Intenté arreglarlo: https://github.com/intuit/auto/pull/1966 , pero de una manera un poco diferente. Vea la explicación allí.
: rocket: El problema se publicó en v10.26.0
: rocket:
@laughedelic @hipstersmoothie @adierkens Acabo de probar la actualización a esto y veo el siguiente problema en CI donde creamos canarios automáticamente en un nuevo PR:
Vale la pena señalar que la configuración real está en un archivo packages / auto / config.json y se extiende en la raíz de nuestro repositorio usando lo siguiente:
"auto": {
"extends": "./packages/auto/config.json"
},
Sin embargo, esto funcionaba perfectamente bien antes de actualizar a la última versión.
Aquí está el archivo config.json completo:
{
"baseBranch": "master",
"noDefaultLabels": true,
"prereleaseBranches": ["next"],
"plugins": [
[
"npm",
{
"legacyAuth": true,
"setRcToken": false
}
],
"released",
"microsoft-teams"
],
"shipit": {
"noChangelog": true
},
"labels": [
{
"name": "breaking",
"changelogTitle": "🚨 Breaking Changes",
"description": "Backwards incompatible enhancement or feature.",
"releaseType": "major",
"color": "#c5000b"
},
{
"name": "feature",
"changelogTitle": "🚀 Features",
"description": "A new feature.",
"releaseType": "minor",
"color": "#00ff00"
},
{
"name": "build",
"changelogTitle": "📦 Build Process",
"description": "Changes to the build process.",
"releaseType": "patch",
"color": "#4a4a4a"
},
{
"name": "chore",
"changelogTitle": "🏗 Miscellaneous",
"description": "Additional, uncategorized changes.",
"releaseType": "patch",
"color": "#ff00ff",
"default": true
},
{
"name": "ci",
"changelogTitle": "🔖 Continuous Integration",
"description": "Changes to CI configuration files and scripts.",
"releaseType": "patch",
"color": "#f1a60e"
},
{
"name": "docs",
"changelogTitle": "📖 Documentation",
"description": "Documentation updates and changes.",
"releaseType": "patch",
"color": "#870048"
},
{
"name": "fix",
"changelogTitle": "🐛 Bug Fixes",
"description": "A bug fix.",
"releaseType": "patch",
"color": "#6000ff"
},
{
"name": "perf",
"changelogTitle": "⚡️ Performance",
"description": "A code change that improves performance.",
"releaseType": "patch",
"color": "#00e4ff"
},
{
"name": "refactor",
"changelogTitle": "♻️ Refactoring",
"description": "A code change that neither fixes a bug nor adds a feature.",
"releaseType": "patch",
"color": "#00b58d"
},
{
"name": "revert",
"changelogTitle": "🚧 Reverting",
"description": "Reverts a previous commit.",
"releaseType": "patch",
"color": "#ff9000"
},
{
"name": "style",
"changelogTitle": "🎨 Style",
"description": "Code style (white-space, formatting, missing semi-colons, etc).",
"releaseType": "patch",
"color": "#0051d8"
},
{
"name": "test",
"changelogTitle": "✅ Testing",
"description": "Adding missing tests or correcting existing tests.",
"releaseType": "patch",
"color": "#127f00"
},
{
"name": "upgrade",
"changelogTitle": "⚙️ Dependencies",
"description": "Dependency upgrades.",
"releaseType": "minor",
"color": "#00787f"
}
]
}
¿Es posible que la nueva opción deba agregarse al validador y es tan simple como eso? https://github.com/intuit/auto/blob/main/packages/core/src/types.ts#L54
¿Es posible que la nueva opción deba agregarse al validador y es tan simple como eso? https://github.com/intuit/auto/blob/main/packages/core/src/types.ts#L54
¡Esto tiene sentido! Yo no lo sabía.
@ reintroduciendo Lo agregué aquí: https://github.com/intuit/auto/pull/1971. Pero no sé si debería agregarse en otro lugar.
Comentario más útil
@reintroduciendo ¡ Me gusta mucho esa opción! Por defecto, solo se pueden crear etiquetas específicas. Nuevo indicador para incluir los demás y utilizar la lógica de sobrescritura. Sin embargo, este sería un cambio radical en el comportamiento. ¿Qué pasa con lo contrario
--no-include-defaults
?