История Git в действии Github

Я хотел бы записать историю git в действие Github. Но, похоже, окружение Action'а другое:

echo $(git log -5 --oneline)

оболочка: / bin / bash -e {0}

7c0faa6 Объединить c245982a87ef5538d42ab905706faa08f4d67ce9 в 8a939ef1f71eaecac0ae52d625dad3e3c9fa4c16

Это не журнал git, и ни один из этих хэшей не соответствует тому, что есть в моем репо.

Это почему?

Как получить доступ к истории коммитов из среды Github Action?


person Atrahasis    schedule 11.06.2020    source источник


Ответы (1)


Вы столкнулись с этим, потому что ваш рабочий процесс выполняется на pull_request событиях. Во время этих событий GITHUB_REF является фиксацией слияния от головной ветки к базовой. Намерение этого состоит в том, чтобы запустить CI против коммита слияния, чтобы проверить его прохождение перед фактическим слиянием.

Если вам не нужна фиксация слияния и вы хотите вместо этого проверить головную фиксацию, вы должны передать sha HEAD как ref в извлечение. Вы можете изменить оформление заказа следующим образом (взято из этот пример).

Кроме того, эта проверка по умолчанию неглубокая, что означает, что у нее есть только последняя фиксация. Чтобы прочитать больше, чем последняя фиксация, передайте ненулевое число в fetch-depth или также ноль, что приведет к извлечению всей истории (по умолчанию 1):

- uses: actions/checkout@v2
  with:
    ref: ${{ github.event.pull_request.head.sha }}
    fetch-depth: 0

См. Документацию здесь для события pull_request.

person peterevans    schedule 12.06.2020