Auto: A criação de rótulos adiciona rótulos padrão indesejados

Criado em 22 abr. 2021  ·  15Comentários  ·  Fonte: intuit/auto

Descreva o bug
Quando executo npx auto create-labels e tenho uma determinada configuração de rótulo definida em meu package.json, espero que apenas esses rótulos sejam criados, NÃO os rótulos padrão adicionais definidos por auto. Isso costumava ser o caso, mas em algum lugar ao longo da linha parou de funcionar corretamente.

Reproduzir

Usando a seguinte configuração:

"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 é a saída:

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

Comportamento esperado

Apenas os rótulos descritos na configuração acima seriam criados. Qualquer coisa após o rótulo upgrade na lista de saída acima é indesejada e não deve ser criada.

Capturas de tela

Informações ambientais:

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

Comentários muito úteis

@reintroducing gosto muito dessa opção! O padrão pode ser apenas criar rótulos especificados. Novo sinalizador para incluir os outros e usar a lógica de substituição. No entanto, isso seria uma mudança significativa de comportamento. E quanto ao oposto --no-include-defaults ?

Todos 15 comentários

Eu estava prestes a registrar o mesmo problema. Os documentos não são claros sobre a substituição de rótulos padrão. Existe uma maneira de dizer que eu quero apenas esses rótulos definidos na configuração e nenhum padrão?

Há uma opção overwrite na configuração do rótulo que substituirá o rótulo padrão correspondente. IDK se funcionará para os rótulos zon-semver. você poderia tentar? Se os documentos não forem claros o suficiente sobre isso, mais do que dispostos a aceitar um PR

@hipstersmoothie ao olhar para https://intuit.github.io/auto/docs/generated/create-labels , não vejo nada dessa natureza. Onde estão os documentos relativos a esta opção?

@hipstersmoothie Então, olhando para esses documentos, acho que não estou certo sobre a funcionalidade dessa opção. Eu presumiria que se eu adicionar isso a cada um dos meus rótulos em minha configuração, isso apenas substituirá os rótulos major , minor e patch pelos meus, mas não limpar os outros que estão sendo criados além daqueles. Eu acho que uma boa adição seria adicionar uma opção ao comando create labels que diz include-defaults e definido como verdadeiro / falso (verdadeiro por padrão se você quiser manter a compatibilidade com versões anteriores). Pensamentos?

Eu concordo com @reintroducing. Eu sabia sobre a opção overwrite , mas se trata apenas de ajustar os rótulos padrão, se entendi corretamente. Queremos uma opção para criar _apenas_ os rótulos que configuramos.

@reintroducing gosto muito dessa opção! O padrão pode ser apenas criar rótulos especificados. Novo sinalizador para incluir os outros e usar a lógica de substituição. No entanto, isso seria uma mudança significativa de comportamento. E quanto ao oposto --no-include-defaults ?

@hipstersmoothie sim, desculpe minha explicação não foi clara, eu estava sugerindo a mesma coisa que você, mas ao contrário e seria verdade por padrão, lol, para evitar uma alteração significativa. o seu é realmente mais limpo e se alinha melhor com a forma como todas as outras opções são feitas. Eu sou totalmente a favor!

Talvez eu não precise fazer isso até o fim de semana. Se você enviar um PR, analisarei e mesclarei as solicitações

Tentei consertar: https://github.com/intuit/auto/pull/1966 , mas de uma forma um pouco diferente. Veja a explicação lá.


: rocket: O problema foi lançado em v10.26.0 : rocket:

@laughedelic @hipstersmoothie @adierkens Acabei de tentar fazer o upgrade para isso e estou vendo o seguinte problema em CI, em que criamos canários automaticamente em um novo PR:

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

É importante notar que a configuração real está em um arquivo packages / auto / config.json e é estendida na raiz de nosso repo usando o seguinte:

"auto": {
    "extends": "./packages/auto/config.json"
  },

No entanto, isso estava funcionando perfeitamente bem antes de atualizar para a versão mais recente.

Aqui está o arquivo 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"
    }
  ]
}

É possível que a nova opção precise ser adicionada ao validador e é tão simples quanto isso? https://github.com/intuit/auto/blob/main/packages/core/src/types.ts#L54

É possível que a nova opção precise ser adicionada ao validador e é tão simples quanto isso? https://github.com/intuit/auto/blob/main/packages/core/src/types.ts#L54

Isso faz sentido! Eu não sabia sobre isso.

@reintroducing eu adicionei aqui: https://github.com/intuit/auto/pull/1971. Mas não sei se deve ser adicionado em qualquer outro lugar.

Esta página foi útil?
0 / 5 - 0 avaliações