GitHub Actions — это платформа автоматизации рабочих процессов, интегрированная в систему управления исходным кодом GitHub. Она предназначена для автоматического выполнения задач, связанных с непрерывной интеграцией и непрерывным развертыванием (CI/CD), тестированием, сборкой и сопровождением программного обеспечения. Платформа предоставляет средства для определения последовательностей действий в виде YAML-конфигураций, которые запускаются при наступлении событий в репозитории, таких как коммиты, пулл-реквесты или расписания.
Платформа опирается на концепции «workflow» (рабочий процесс), «job» (задача) и «action» (действие). Рабочие процессы состоят из одного или нескольких заданий, которые могут выполняться параллельно или последовательно на виртуальных средах (раннерах). Actions бывают готовыми, опубликованными сообществом или разработанными специально для конкретного репозитория, что позволяет повторно использовать автоматизированные шаги и интегрировать внешние инструменты в конвейер разработки.
- Определение на основе событий: запуск workflow по событиям репозитория (push, pull_request, release и другие) или по расписанию.
 - YAML-конфигурации: описания рабочих процессов и шагов в файлах .github/workflows с возможностью параметризации и использования секретов.
 - Actions (действия): модульные блоки логики, которые можно использовать повторно; поддерживаются официальные, сторонние и кастомные actions.
 - Runners (раннеры): среды выполнения для задач — облачные виртуальные машины, предоставляемые платформой, или самоуправляемые раннеры, развернутые пользователями.
 - Параллелизм и зависимости: настройка параллельного выполнения задач и указание зависимостей между ними для управления порядком выполнения.
 - Среда исполнения: поддержка различных операционных систем и языковых сред, возможность установки зависимостей перед выполнением шагов.
 - Секреты и безопасность: управление чувствительными данными (токены, ключи) через защищённые переменные, ограничения доступа и политики выполнения.
 - Интеграции: подключение к внешним сервисам, контейнерным реестрам, облачным провайдерам и инструментам тестирования через actions и плагины.
 - Логирование и диагностика: подробные логи выполнения шагов, кэширование артефактов и возможности отладки неудачных запусков.
 - Кастомизация и расширяемость: создание собственных действий на популярных языках и распространение их внутри организации или публично.