Auto: lerna independente com apenas plug-ins 'git-tag' e 'lançado' não cria lançamentos independentes

Criado em 13 ago. 2020  ·  8Comentários  ·  Fonte: intuit/auto

Descreva o bug

Quando você adiciona o rótulo 'menor' ou 'principal' em seu PR, e com lerna no modo independente, seria de se esperar que o controle de versão dos componentes fosse independente. Isso não se reflete no controle de versão no momento, onde uma tag semver vx.xx para todo o projeto é criada, em vez da tag f, ex @ org-name / component @ xxx

Reproduzir

consulte https://github.com/LEGO/poc-yarn-lerna-workspaces-auto-typescript-tags

Comportamento esperado

a opção de especificar o controle de versão (já que isso pode ser uma mudança significativa em relação ao comportamento atual, ou mesmo uma grande reescrita a julgar pelo que estou pedindo aqui) da mesma forma que faríamos para lançamentos que têm pacotes anexados a eles.

se esta não for a intenção de como o plugin git-tag deve ser usado, estamos olhando para um cenário onde temos um monorepo com projetos npm em um monorepo que não precisa ser publicado em npm / packages, mas ainda requerem controle de versão

bug released

Comentários muito úteis

Dito isto, vejo situações em que isso não funciona. Digamos que um PR só afeta um pacote privado, você ainda quer o pacote com versão, mas não publicado. Vendo se posso melhorar isso agora

Todos 8 comentários

Portanto, todos os plug-ins de "publicação" devem ser usados ​​apenas um de cada vez. Portanto, você pode usar npm ou git-tag .

estamos olhando para um cenário em que temos um monorepo com projetos npm em um monorepo que não precisa ser publicado em npm / packages, mas ainda requer um controle de versão independente

Acho que você pode fazer isso definindo private como true nos pacotes que não deseja publicar. Eles ainda receberão versões, mas não chegarão ao registro

Eu adicionei alguns documentos para esclarecer essa confusão para futuros usuários. https://github.com/intuit/auto/pull/1465/files

Você tem alguma outra pergunta?

Isso esclarece o que sua visão é para automóveis, muito útil

Portanto, todos os plug-ins de "publicação" devem ser usados ​​apenas um de cada vez. Portanto, você pode usar npm ou git-tag .

estamos olhando para um cenário em que temos um monorepo com projetos npm em um monorepo que não precisa ser publicado em npm / packages, mas ainda requer um controle de versão independente

Acho que você pode fazer isso definindo private como true nos pacotes que não deseja publicar. Eles ainda receberão versões, mas não chegarão ao registro

Olá! Tentei a sugestão de definir private como true nos pacotes, mas recebo este erro aqui (está em Create Release)

Na verdade, isso não é um bug. A saída detalhada é um pouco enganosa. Às vezes auto executará um comando para ver o resultado. Às vezes, esse resultado é um fracasso. No modo detalhado, registramos muitas respostas, incluindo itens que contêm texto dizendo "erro".

Neste caso, o plug-in npm executará lerna updated para verificar se haverá algum pacote para publicar durante a execução de shipit . Se não houver nenhum, saímos mais cedo para que a publicação não falhe mais tarde. se você tivesse executado sem -v, a última linha impressa teria sido

⚠  warning   Lerna detected no changes in project. Aborting release since nothing would be published.

Dito isto, vejo situações em que isso não funciona. Digamos que um PR só afeta um pacote privado, você ainda quer o pacote com versão, mas não publicado. Vendo se posso melhorar isso agora

Acho que isso deve ser consertado agora!


: rocket: O problema foi lançado em v9.50.8 : rocket:

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