Получить исходную ветвь тега в GitHub Actions

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

${{ github.ref_name }} показывает исходную ветку, когда это фиксация, но показывает имя тега, когда это создание тега. Я знаю, что тег из определенного коммита, а коммит из ветки. Мне интересно, есть ли способ получить исходную ветку из тега напрямую или зафиксировать из тега, а затем исходную ветку из этой фиксации.

Спасибо.


50
2

Ответы:

Не с какой-либо переменной env из GitHub, поскольку тег дается только и указывает на коммит, а не на ветку. Вы можете посмотреть решения, приведенные здесь: Определение принадлежности тега к какой ветке в git


Решено

Наконец, я использую этот способ для получения имени ветки.

run: |
  raw=$(git branch -r --contains ${{ github.ref }})
  branch=$(echo ${raw##*/} | tr [:upper:] [:lower:])
  echo "branch=$branch" >> $GITHUB_OUTPUT
  echo "Branch is $branch."