Auto: Lançamentos sendo gerados mesmo que o rótulo sem lançamento esteja presente

Criado em 14 jan. 2019  ·  11Comentários  ·  Fonte: intuit/auto

Descreva o bug

Em um de nossos repositórios, estamos vendo implantações consistentes quando não esperamos que nenhuma implantação aconteça. Essa rotatividade ocorre especificamente quando @renovatebot faz uma solicitação pull para atualizar dependências, portanto, _pode_ ser como está lidando com o processo de confirmação / fusão.

Aqui está um exemplo de PR onde o selo sem lançamento está presente ( Version: Trivial em nosso caso), mas o lançamento ainda está acontecendo. Aqui estão os resultados de

@hipstersmoothie atualizarei com um modo verboso executado quando tiver uma chance. Se eu puder perseguir algo específico, abrirei um PR.

Reproduzir

Eu ainda não identifiquei o que há em comum aqui. Este é o único lugar em nossa organização onde @renovatebot mescla automaticamente as atualizações de código para que possa estar relacionado a isso.

Comportamento esperado

Nenhuma liberação deve ser acionada.

bug

Comentários muito úteis

@zephraph isso deve ser corrigido em v2.5.6 . Avise-me se você ainda tiver problemas.

Todos 11 comentários

Tive outra instância dele em um repo diferente. https://github.com/artsy/palette/compare/v2.25.10...v2.25.11. Isso também foi gerado automaticamente, mas por perigo, em vez de @renovatebot. Talvez seja a maneira como os bots mesclam PRs?

Poderia ser. as etiquetas de liberação de salto requerem que o cabeçote tenha a etiqueta associada.

Deve procurar provavelmente o último PR ao invés do último commit.

Hmmm ... sim. Então, quando eu estava construindo isso, olhei entre o hash principal e o hash do último lançamento e usei isso para descobrir quais eram os PRs.

https://github.com/artsy/reaction/pull/1407/files#diff -ff397bdd24eed50e2a2cade2792a9d80R100

@zephraph Só para deixar claro, é esta a situação que está acontecendo?

gitlog:

  1. Alguns enviam um bot ou pessoa feita após a fusão
  2. o commit que tem o PR com o rótulo skip-release

resultado:

auto não skip-release porque o commit 2 não está no topo do gitloh

Não houve um commit feito após a fusão. Parece ser a própria fusão. Quando um bot se funde (acho que é isso, mas pode ser uma coincidência) um PR, então um lançamento acontece mesmo quando um rótulo skipReleaseLabels está presente. Posso encontrar mais exemplos, se necessário.

Aqui está o exemplo mais recente (semelhante ao anterior).

  1. https://github.com/artsy/renovate-config/pull/164 foi criado por renovate
  2. Renovar atribuído Version: Trivial ao PR (que está em skipReleaseLabels )
  3. Renovar mescla o PR automaticamente
  4. Um novo lançamento é cortado apesar de haver uma gravadora skipReleaseLabels presente

Esta mesclagem de PR não tem um número de PR no assunto de commit

screen shot 2019-01-17 at 2 53 01 pm

Todos os que funcionam têm um número de RP

screen shot 2019-01-17 at 2 54 47 pm

auto depende deste número na mensagem de confirmação para obter o número PR:

fundir:
https://github.com/intuit/auto-release/blob/5cbccf46a9b49b12210325e7332d9f5c26b44ed1/src/log-parse.ts#L73

abóbora:
https://github.com/intuit/auto-release/blob/5cbccf46a9b49b12210325e7332d9f5c26b44ed1/src/log-parse.ts#L94

Portanto, algo parece estar acontecendo ao mesclar esses PRs. É um rebase que está acontecendo?

precisamos de uma função que retorne o pr associado a um SHA, mas estou tendo problemas para encontrar um método octokit apropriado

hmm foi apenas percorrido o caminho de tentar corresponder o commit no master ao commit no PR, mas parecem ter SHAs diferentes.

screen shot 2019-01-18 at 12 28 05 am

screen shot 2019-01-18 at 12 28 48 am

Isso é super decepcionante. Agora não tenho ideia de como podemos combinar esses compromissos com seus PRs

merge_commit_sha para o resgate

@zephraph isso deve ser corrigido em v2.5.6 . Avise-me se você ainda tiver problemas.

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