Действия github: как проверить, есть ли у текущего push новый тег (новый выпуск)? - PullRequest
1 голос
/ 20 октября 2019
name: test-publish

on: [push]

jobs:
  test:
    strategy:
      ...
    steps:
      ...

  publish:
    needs: test
    if: github.event_name == 'push' && github.ref???
    steps:
      ...  # eg: publish package to PyPI

Что я должен вставить в jobs.publish.if, чтобы проверить, является ли этот коммит новым выпуском?

Это нормально: contains(github.ref, '/tags/')?

Что произойдет, если янажмите код и метку одновременно?

1 Ответ

1 голос
/ 21 октября 2019

Вы можете сделать это, чтобы проверить, относится ли текущее push-событие к тегу, начинающемуся с v.

  publish:
    needs: test
    if: startsWith(github.ref, 'refs/tags/v')

Как вы указали, я не думаю, что вы можете гарантировать, что этоновый выпуск. Мое предложение будет использовать on: release вместо on: push. Это сработает только для новой версии с тегами.

См. Документы для on: release здесь: https://help.github.com/en/articles/events-that-trigger-workflows#release-event-release

...