Descreva o bug
Ao executar o shipit, lerna comete erros na última etapa
Isso pode estar mais relacionado a lerna, já que vi os erros relatados algumas vezes, mas gostaria de saber se vocês tiveram alguma sugestão, já que a chamada da lerna está dentro do automático?
EDIT : Testar localmente retorna erros diferentes. Indo para investigar isso mais a fundo e acompanhamento!
Parece funcionar bem quando executado localmente, mas não no ambiente ci. hum
Primeiro, veja como o auto pode funcionar bem com o GitLab, já que usamos intensamente a API do GitHub. Coisas como pesquisar as solicitações pull, fazer lançamentos e uma série de outras coisas não funcionam como esperado.
Quanto ao problema principal separado: a maioria dos envs de CI não verifica seu código da mesma maneira. Para que auto
funcione, é necessária uma visão relativamente completa do repositório git. Muitos envs de CI tentam ser inteligentes e não fazem um checkout completo. Alguns farão um clone superficial (ações do github). Alguns irão pré-mesclar seu branch e verificar um branch tmp (jenkins)
Olhando para seus logs, parece que o GitLab faz uma verificação relativamente completa, mas com o cabeçote destacado (você não está em um branch). Experimente verificar master
.
# See what branches are available
git branch -a
# Checkout master
git checkout master
Isso pareceu corrigir o erro, mas agora não está liberando devido a isto : chorar:
Fiz uma pesquisa rápida, mas não consigo descobrir o que causa essa mensagem de erro.
Esse erro vem de auto
No entanto, pode estar engolindo outro erro. Posso adicionar um log para imprimir nesta função se você precisar
: facepalm: não sei como perdi isso. Seria possível gerar esse erro se um sinalizador verboso fosse definido? Percebi que não poderia fazer isso localmente porque não consigo criar o erro localmente lol
É possível que a bandeira -silent
seja --silent
? ou --quiet
? Não tenho certeza para que servem os sinalizadores falsos e silenciosos.
https://gitlab.com/jdalrymple/gitbeaker/-/jobs/518962749#L1391
Oh cara 🤦 Devo ter deletado um -
Depois de publicado, deve ser bom https://github.com/intuit/auto/pull/1161/files
Outro problema resolvido butttt hehe Alguma outra sugestão?
Você parece ainda estar usando um canário antigo "auto" version: v9.28.2-canary.1160.15021.0
e não a última versão lançada
Ops! acabei de consertar isso. Ainda tendo azar :( Agora com erro: Falha no comando: git merge-base --is-ancestor: cry:
Hmm lendo os logs novamente, é possível que esteja usando o url remoto errado?
ℹ info Using remote: https://gitlab-ci-token:[MASKED]@gitlab.com/jdalrymple/gitbeaker.git
Esse pode realmente ser o problema. O repo está hospedado no github, mas estou usando o gitlab ci para o pipeline. Parece que está inferindo o controle remoto para o qual empurrar, mas inferindo incorretamente. Não tenho certeza de como mudar isso, hmm
Então, resolvi esse erro definindo explicitamente o url remoto. Meio hacky, mas funcionaria por enquanto. Tentando consertar um erro estranho de npm agora . Tão perto :/
Funcionou!!! Tive que definir explicitamente algumas coisas, mas yay! Obrigado pela ajuda!!
Pergunta rápida @hipstersmoothie , para evitar abrir um novo exemplar. O automático lida com a criação de novas versões do github? Ele criou a tag e as notas de versão sem problemas, mas sem versão do github :(
É suposto que ele também crie a versão do github. Vou analisar o que você postou. Podemos enviar dm no twitter se você quiser respostas mais rápidas também
Construir no GitLab é provavelmente a origem da maioria desses problemas. Como você descobriu, os serviços de CI remotos tendem a fazer várias suposições diferentes.
Dito isso, podemos melhorar a lógica remota e detectar quando estamos no gitlab CI.
Aqui é onde você mudaria o código para descobrir o https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L556 remoto
É suposto que ele também crie a versão do github. Vou analisar o que você postou. Podemos enviar dm no twitter se você quiser respostas mais rápidas também
Farei uma outra versão em cerca de 10 minutos para que você possa ver o que acontece, mas na última versão que foi feita, tive que adicionar manualmente as notas de versão do github.
Acho que você precisa atualizar o output_limit
https://docs.gitlab.com/runner/configuration/advanced-configuration.html
Procurando modificar esse limite agora. Parece que há erros ao tentar obter o log git AH, ele está usando uma tag com o prefixo 'v', mas minha configuração de lerna exclui o prefixo?
ℹ info Using 17.0.3 as previous release.
ℹ info Current "Latest Release" on Github: v17.0.3
ℹ info Getting commits from v17.0.3 to HEAD
ele não deveria estar procurando commits da tag para o cabeçalho, então neste caso 17.0.3 para o HEAD?
Isso ocorre porque o padrão automático é v
prefixos. Acabei de abrir um PR que fará o auto respeitar a configuração do lerna
Você também pode simplesmente definir noVersionPrefix
em sua configuração automática. mas acho que automatizar isso é melhor
Você também pode simplesmente definir
noVersionPrefix
em sua configuração automática. mas acho que automatizar isso é melhor
Essa seria a melhor maneira de definir essa configuração? Provavelmente hein?
O problema é que você também teria que definir a configuração do lerna
https://github.com/intuit/auto/pull/1170
Eu o tornei automático, então você só precisa atualizar
Pode ser necessário editar a última tag / release para não ter o prefixo v
Vou verificar isso! obrigado!