Auto: Pregunta - lerna ERR! ENOGIT Git HEAD separado dentro de Gitlab CI

Creado en 19 abr. 2020  ·  28Comentarios  ·  Fuente: intuit/auto

Describe el error

Al ejecutar shipit, lerna errores en el último paso

Esto podría estar más relacionado con lerna, ya que he visto los errores reportados varias veces, pero me preguntaba si tenían alguna sugerencia ya que la llamada de lerna está dentro de auto.

EDITAR : Probar localmente devuelve diferentes errores. ¡Vamos a investigar eso más a fondo y hacer un seguimiento!

bug

Todos 28 comentarios

Parece funcionar bien cuando se ejecuta localmente, pero no en el entorno ci. mmm

Primero, IDK qué tan bien puede funcionar auto con GitLab ya que usamos mucho la API de GitHub. Cosas como buscar las solicitudes de extracción, hacer lanzamientos y una gran cantidad de otras cosas no funcionarán como se esperaba.


En cuanto al problema de la cabeza separada: la mayoría de los envs de CI no verifican su código de la misma manera. Para que funcione auto se necesita una vista relativamente completa del repositorio de git. Muchos envs de CI intentan ser inteligentes y no realizar un pago completo. Algunos harán un clon superficial (acciones de github). Algunos fusionarán previamente su rama y realizarán el pago de una rama tmp (jenkins)

Al mirar sus registros, parece que GitLab realiza un pago relativamente completo, pero con la cabeza separada (no está en una rama). Intente echar un vistazo a master .

# See what branches are available
git branch -a

# Checkout master
git checkout master

Eso pareció solucionar ese error, pero ahora no se publica debido a esto : llorar:

Hice una búsqueda rápida, pero parece que no puedo averiguar qué causa ese mensaje de error.

Ese error proviene de auto

https://github.com/intuit/auto/blob/adf4e85590a75a9fd97945b4803f3535b8c45383/packages/core/src/auto.ts#L405

Sin embargo, podría estar tragándose otro error. Puedo agregar un registro para imprimir en esta función si lo necesita

: facepalm: no estoy seguro de cómo me perdí eso. ¿Sería posible generar ese error si se estableciera una bandera detallada? Me di cuenta de que no podía hacer esto localmente porque no puedo crear el error localmente lol

¿Es posible que la bandera -silent sea --silent ? o --quiet ? No estoy seguro de para qué sirven las banderas falsa y silenciosa.

https://gitlab.com/jdalrymple/gitbeaker/-/jobs/518962749#L1391

Oh hombre 🤦 Debo haber eliminado un -

https://github.com/intuit/auto/pull/1160

Una vez que esto se publique, debería ser bueno https://github.com/intuit/auto/pull/1161/files

Otro problema solucionado butttt jeje ¿ Alguna otra sugerencia?

Parece que todavía estás en un viejo canario "auto" version: v9.28.2-canary.1160.15021.0 y no en la última versión lanzada

¡UPS! acaba de arreglar eso. Sigo teniendo mala suerte :( Ahora con Error: El comando falló: git merge-base --is-ancestor: cry:

Mmmm, leyendo los registros de nuevo, ¿es posible que esté usando la URL remota incorrecta?

ℹ info Using remote: https://gitlab-ci-token:[MASKED]@gitlab.com/jdalrymple/gitbeaker.git

Ese podría ser el problema. El repositorio está alojado en github, pero estoy usando gitlab ci para la canalización. Parece que está infiriendo el control remoto al que presionar, pero infiriendo incorrectamente. Aunque no estoy seguro de cómo cambiarlo hmm

Así que resolví este error configurando explícitamente la URL remota. Un poco hacky, pero funcionaría por ahora. Intentando corregir un extraño error npm ahora . Tan cerca :/

¡¡¡Funcionó!!! Tuve que establecer explícitamente algunas cosas, ¡pero sí! ¡¡Gracias por la ayuda!!

Pregunta rápida a @hipstersmoothie , para evitar abrir una nueva edición. ¿Auto maneja la creación de nuevas versiones de github? Creó bien la etiqueta y las notas de la versión, pero no la versión de github :(

Se supone que también crea la versión de github. Examinaré lo que ha publicado. Podemos enviar mensajes directos en Twitter si también desea respuestas más rápidas

La construcción de GitLab es probablemente la fuente de la mayoría de estos problemas. Como descubrió con los servicios de CI remotos, tienden a hacer un montón de suposiciones diferentes.

Dicho esto, podríamos mejorar la lógica remota y detectar cuándo estamos en gitlab CI.

Aquí es donde cambiaría el código para descubrir el https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L556 remoto

Se supone que también crea la versión de github. Examinaré lo que ha publicado. Podemos enviar mensajes directos en Twitter si también desea respuestas más rápidas

Haré una nueva versión en unos 10 minutos para que puedas ver lo que termina sucediendo, pero la última versión que se hizo tuve que agregar manualmente las notas de la versión de github.

Buscando modificar ese límite ahora. Parece que hay errores al intentar obtener el registro de git AH, está usando una etiqueta con el prefijo 'v' pero mi configuración de lerna excluye el prefijo.

ℹ  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

¿No debería estar buscando confirmaciones de la etiqueta a la cabeza, entonces en este caso 17.0.3 a HEAD?

Esto se debe a que el v predeterminado automático es

https://github.com/intuit/auto/pull/1170

También puede configurar noVersionPrefix en su configuración automática. pero creo que automatizar esto es mejor

También puede configurar noVersionPrefix en su configuración automática. pero creo que automatizar esto es mejor

¿Sería esa la mejor manera de definir esa configuración? Probablemente, ¿eh?

La cuestión es que también tendrías que configurar la configuración de lerna

https://github.com/intuit/auto/pull/1170

Lo hice automático, por lo que solo deberías actualizar automáticamente

Es posible que deba editar la última etiqueta / versión para que no tenga el prefijo v

¡Lo comprobaré! ¡Gracias!

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