Auto: La creación de etiquetas agrega etiquetas predeterminadas no deseadas

Creado en 22 abr. 2021  ·  15Comentarios  ·  Fuente: intuit/auto

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

bug released

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 ?

Todos 15 comentarios

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?

@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:

Screen Shot 2021-04-29 at 2 32 48 PM

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.

¿Fue útil esta página
0 / 5 - 0 calificaciones