Действия Github запускают сборку по тегам и веткам

У меня есть проект машинописного текста в репозитории. Политика выпуска заключается в том, что мы публикуем пакет из ветки master в тег next npm, и у нас есть специальная ветка под названием release, которая публикуется в последний тег npm. Я хочу оптимизировать решение и запускать его только тогда, когда новый тег помещается в одну из веток.

  1. Если тег помещается в главную ветку, я хочу запустить задание, которое публикуется в следующем теге npm.
  2. Если тег помещен в ветку выпуска, я хочу запустить задание, которое публикуется в последнем теге npm.

Проблема в том, что контекст github содержит только переменную ref, которая всегда равна имени тега, независимо от того, в какую ветку я нажимаю. У меня нет возможности узнать, на какой ветке я работаю. Как я могу разобраться?


person AlexS    schedule 06.12.2020    source источник


Ответы (1)


Вы можете запустить GHA для определенных веток и тегов, например:

on:
   push:
     branches:
       - master
   pull_request:
       types:
          - opened
          - synchronize
       tags:
          - next

между шагами вы можете добавить проверку, например, для подтверждения имени вашей ветки:

if: ${{ github.ref == 'refs/heads/master' }}
person vsr    schedule 24.06.2021