Auto: Вопрос - lerna ERR! ENOGIT Отдельный git HEAD в Gitlab CI

Созданный на 19 апр. 2020  ·  28Комментарии  ·  Источник: intuit/auto

Опишите ошибку

При запуске shipit ошибка lerna на последнем шаге

Это может быть больше связано с lerna, поскольку я видел сообщения об ошибках несколько раз, но мне было интересно, есть ли у вас какие-либо предложения, так как вызов lerna находится в автоматическом режиме?

РЕДАКТИРОВАТЬ : тестирование локально возвращает разные ошибки. Собираемся изучить это дальше и продолжить!

Все 28 Комментарий

Кажется, работает нормально при локальном запуске, но не в среде ci. Хм

Во-первых, IDK, насколько хорошо auto может работать с GitLab, поскольку мы активно используем GitHub API. Такие вещи, как поиск запросов на вытягивание, выпуск релизов и многие другие вещи, не будут работать должным образом.


Что касается проблемы с отделенной головкой: большинство окружений CI не проверяют ваш код таким же образом. Для работы auto требуется относительно полное представление репозитория git. Многие среды CI стараются быть умными и не проводят полную проверку. Некоторые сделают неглубокий клон (действия на github). Некоторые предварительно объединят вашу ветку и проверят ветку tmp (Дженкинс)

Глядя на ваши журналы, кажется, что GitLab выполняет относительно полную проверку, но с отдельной головкой (вы не в ветке). Попробуйте проверить master .

# See what branches are available
git branch -a

# Checkout master
git checkout master

Казалось, что эта ошибка исправлена, но теперь она не выпускается из-за этого : cry:

Сделал быстрый поиск, но я не могу понять, что вызывает это сообщение об ошибке.

Эта ошибка исходит от auto

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

Хотя, возможно, он проглатывает еще одну ошибку. Я могу добавить журнал для печати в этой функции, если он вам нужен

: facepalm: не знаю, как я это пропустил. Можно ли было бы вывести эту ошибку, если бы был установлен подробный флаг? Я понял, что не могу сделать это локально, потому что я не могу создать локальную ошибку lol

Возможно ли, что флаг -silent должен быть --silent ? или --quiet ? Я не уверен, для чего нужны флаги false и -silent.

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

Ой, я, должно быть, удалил -

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

После публикации все должно быть хорошо https://github.com/intuit/auto/pull/1161/files

Другая проблема фиксированной butttt Hehe Любые другие предложения?

Похоже, вы все еще используете старую канарейку "auto" version: v9.28.2-canary.1160.15021.0 а не последнюю выпущенную версию

Ой! просто исправил это. Все еще не везет :( Теперь с ошибкой: команда не удалась: git merge-base --is-ancestor: cry:

Хм, снова читаю журналы, возможно ли, что он использует неправильный удаленный URL ?

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

На самом деле это могло быть проблемой. Репо размещено на github, но я использую gitlab ci для конвейера. Похоже, что он делает вывод о пульте дистанционного управления, на который нужно нажать, но делает вывод неверно. Не уверен, как это изменить, хотя хм

Итак, я обошел эту ошибку, явно установив удаленный URL-адрес. Немного хакерский, но пока это сработает. Пытаясь исправить странные ошибки НПХ в настоящее время . Так близко :/

Это сработало!!! Пришлось явно установить некоторые вещи, но ура! Спасибо за помощь!!

Быстрый вопрос @hipstersmoothie , чтобы не открывать новый выпуск. Обрабатывает ли автоматическое создание новых выпусков github? Он создал тег и примечания к выпуску в порядке, но без выпуска github :(

Предполагается также создать релиз github. Я посмотрю, что вы опубликовали. Мы можем писать в твиттере, если вам тоже нужны более быстрые ответы

Основание на GitLab, вероятно, является источником большинства этих проблем. Как вы выяснили, с удаленными службами CI обычно делается множество различных предположений.

Тем не менее, мы могли бы улучшить удаленную логику и определить, когда мы находимся на gitlab CI.

Вот где вы должны изменить код, чтобы выяснить удаленный https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L556

Предполагается также создать релиз github. Я посмотрю, что вы опубликовали. Мы можем писать в твиттере, если вам тоже нужны более быстрые ответы

Я сделаю еще один выпуск примерно через 10 минут, чтобы вы могли видеть, что в итоге происходит, но последний выпуск, который был выпущен, мне пришлось вручную добавить примечания к выпуску github.

Я думаю, вам нужно поднять output_limit https://docs.gitlab.com/runner/configuration/advanced-configuration.html

Сейчас мы планируем изменить этот предел. Похоже, возникают ошибки при попытке получить журнал git AH, он использует тег с префиксом 'v', но моя конфигурация lerna исключает префикс?

ℹ  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

Разве он не должен искать коммиты от тега к заголовку, поэтому в этом случае 17.0.3 в HEAD?

Это связано с тем, что по умолчанию автоматически используются префиксы v . Я только что открыл PR, который заставит автоматически уважать конфигурацию lerna

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

Вы также можете просто установить noVersionPrefix в своей автоконфигурации. но я думаю автоматизировать это лучше

Вы также можете просто установить noVersionPrefix в своей автоконфигурации. но я думаю автоматизировать это лучше

Будет ли это лучший способ определить эту конфигурацию? Наверное, а?

Дело в том, что вам также придется установить конфигурацию lerna

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

Я сделал это автоматически, поэтому вам просто нужно обновить авто

Возможно, вам придется отредактировать последний тег / выпуск, чтобы в нем не было префикса v

Я это проверю! Благодарность!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги