Когда вы работаете с GitHub Actions, часто возникает необходимость временно отключить автоматический запуск workflow — например, при мелких правках кода, тестах или обновлении документации. В этой статье разберём, как полностью отключить или пропустить workflow, как запускать его вручную, а также как организовать параллельное и последовательное выполнение джобов.
🔧 Как временно отключить workflow
Иногда нужно, чтобы ваш workflow вообще не запускался, даже если вы делаете push в репозиторий.
Сделать это можно напрямую в интерфейсе GitHub:
- Откройте вкладку Actions в своём репозитории.
- Выберите нужный workflow.
- Перейдите в его настройки (⋯ → Disable workflow).
После этого рядом с ним появится пометка “Disabled”, и никакие события (push, pull request и т.д.) не будут его запускать.
Чтобы вернуть всё обратно, просто включите его снова — Enable workflow.
🚫 Как пропустить запуск workflow при коммите
Бывает, что отключать весь workflow неудобно, но нужно пропустить его запуск только для одного конкретного коммита.
В таком случае можно использовать специальный тег в сообщении коммита:
git commit -m "Fix typo [skip actions]"
или
git commit -m "Small update [actions skip]"
GitHub Actions понимает оба варианта ([skip actions] или [actions skip]) и просто игнорирует все workflow, находящиеся в папке .github/workflows, при обработке этого коммита.
Такой подход особенно удобен при частых технических изменениях — например, обновлении README.md или конфигурационных файлов, где запуск CI/CD просто не нужен.
▶️ Как запустить workflow вручную
Ещё один сценарий — когда вы хотите, чтобы workflow запускался только вручную. Это делается через событие workflow_dispatch.
Пример конфигурации:
name: Manual Deploy
on:
workflow_dispatch:
После добавления такого блока push-эвенты не будут вызывать workflow. Зато на странице Actions появится кнопка “Run workflow”, где можно выбрать ветку и запустить процесс вручную.
Это особенно полезно для деплоя, миграций базы данных или других задач, которые не должны выполняться автоматически при каждом изменении кода.
⚙️ Как настроить параллельные и последовательные джобы
GitHub Actions позволяет запускать несколько задач (jobs) одновременно или поочерёдно — в зависимости от логики вашего CI/CD процесса.
Параллельные джобы
По умолчанию все джобы, определённые в одном workflow, выполняются параллельно:
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: echo "Build step"
test:
runs-on: windows-latest
steps:
- run: echo "Test step"
Здесь build и test начнут выполняться одновременно на разных раннерах. Это ускоряет процесс, особенно если у вас есть независимые этапы.
Последовательные джобы
Чтобы запустить джоб только после успешного завершения другого, используется параметр needs:
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: echo "Build complete"
deploy:
runs-on: macos-latest
needs: build
steps:
- run: echo "Deploy after build"
В этом примере deploy стартует только после успешного завершения build.
Если указать несколько зависимостей, можно дождаться выполнения всех:
needs: [build, test]
Таким образом можно выстраивать цепочки последовательных процессов, где каждая стадия зависит от предыдущих.
🧩 Полезные советы
- Для редактирования и подсветки синтаксиса YAML удобно использовать расширение GitHub Actions в VS Code. Оно помогает быстро вставлять шаблоны событий и шагов.
- Следите за отступами — YAML чувствителен к пробелам. Лучше использовать 2 пробела вместо табуляции.
- Логи выполнения доступны прямо в интерфейсе GitHub Actions — вы можете открыть любой workflow и посмотреть детальные результаты выполнения команд.
💡 Заключение
Теперь вы знаете, как:
- полностью отключить workflow через интерфейс GitHub,
- пропустить запуск с помощью тега
[skip actions], - запустить процесс вручную с
workflow_dispatch, - и настроить параллельное или последовательное выполнение джобов.
Эти инструменты дают гибкость при работе с CI/CD и позволяют оптимизировать процесс разработки, не ломая существующие пайплайны.
