Руководство по запуску действий GitHub только для запросов на извлечение или обновленных запросов на включение

GitHub Actions — это мощный инструмент автоматизации, который позволяет разработчикам определять рабочие процессы и автоматизировать различные задачи в своих репозиториях GitHub. Одним из распространенных вариантов использования является запуск действий специально для запросов на включение или обновленных запросов на включение. В этой статье мы рассмотрим несколько методов достижения этой цели и предоставим примеры кода для каждого метода.

Метод 1. Использование ключевого слова “on” в YAML рабочего процесса

on:
  pull_request:
    types:
      - opened
      - synchronize

В приведенном выше примере рабочий процесс будет запущен при открытии нового запроса на включение или при обновлении существующего запроса на включение.

Метод 2. Использование события типа pull_request

on:
  pull_request:
    types:
      - opened
      - synchronize

Подобно методу 1, этот подход запускает рабочий процесс при открытии нового запроса на включение или при обновлении существующего запроса на включение.

Метод 3. Использование контекста действий GitHub

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

В этом методе рабочий процесс запускается, когда происходит событие push в «главной» ветке или когда открывается или обновляется новый запрос на включение.

Метод 4. Использование условных операторов в рабочем процессе

on:
  push:
    branches:
      - master
  pull_request:
    types:
      - opened
      - synchronize
jobs:
  my_job:
    if: ${{ github.event_name == 'pull_request' || github.event_name == 'push' }}
    steps:
      - name: My Action
        run: echo "Hello, World!"

В этом примере рабочий процесс запускается событиями push-уведомлений в «главной» ветке или событиями запроса на включение. Однако задание «my_job» будет выполняться только в том случае, если это запрос на включение или событие push.

В этой статье мы рассмотрели несколько методов запуска действий GitHub специально для запросов на включение или обновленных запросов на включение. Используя конфигурацию YAML и контекст GitHub Actions, мы можем легко автоматизировать рабочие процессы для улучшения процессов разработки. Независимо от того, предпочитаете ли вы использовать ключевое слово «on», тип события «pull_request» или условные операторы в рабочем процессе, эти методы обеспечивают гибкость и контроль над тем, когда инициируются действия.