Генератор рабочих процессов для GitHub Actions

Далее

Свежий репозиторий на GitHub без CI находится в одном git push от следующего сломанного деплоя. Этот генератор создаёт стартовый .github/workflows/ci.yml для Node, PHP или Laravel, связывая воедино checkout, нужный action среды выполнения, установку зависимостей и стандартную команду запуска тестов, всё, что нужно, чтобы зажечь зелёную/красную точку.

Как создать рабочий процесс

  1. 1

    Выберите стек

    Node (использует `actions/setup-node`), PHP (использует `shivammathur/setup-php`) или Laravel (PHP + `php artisan test`).

  2. 2

    Задайте основную ветку

    `main`, значение по умолчанию; измените его, если ваш репозиторий всё ещё использует `master` или собственное имя.

  3. 3

    Сгенерируйте

    Инструмент собирает файл YAML с триггерами `push` и `pull_request` на этой ветке.

  4. 4

    Закоммитьте в .github/workflows/

    Создайте файл по пути `.github/workflows/ci.yml` и выполните push, на следующем коммите загорится вкладка Actions.

Как выглядит рабочий процесс

name: CI
on:
  push:
    branches: [main]
  pull_request:
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: shivammathur/setup-php@v2
        with:
          php-version: '8.4'
      - run: composer install --no-interaction
      - run: php artisan test

Действия, закреплённые генератором

Действие Назначение
actions/checkout@v4 Клонирует репозиторий в раннер
actions/setup-node@v4 Устанавливает набор инструментов Node
shivammathur/setup-php@v2 Устанавливает версию PHP с расширениями

Что добавить дальше

  • Шаг линтинга (npm run lint, ./vendor/bin/phpstan analyse) перед шагом тестирования.
  • Матричная сборка: запуск на нескольких версиях Node/PHP с помощью strategy.matrix.
  • Загрузка покрытия: codecov-action или coveralls-action после шага тестирования.
  • Секреты: никогда не хардкодьте токены, используйте secrets.XXX и задайте их в Settings → Actions.

Частые ошибки

  • Забыть загрузить теги: укажите with: { fetch-depth: 0 } в checkout, если логика релиза читает теги.
  • Использование Docker-образов latest: фиксируйте версии, чтобы запуски оставались воспроизводимыми и спустя месяцы.
  • Запуск 30-минутного набора тестов при каждом push: разбивайте длинные задачи с помощью needs: для параллелизации.

Часто задаваемые вопросы

Файл находится в папке .github/workflows/ci.yml, расположенной в корневой директории вашего репозитория. GitHub автоматически считывает все файлы с расширением YAML из этой папки и отображает каждый из них как отдельный рабочий процесс на вкладке «Действия».

Запросы pull из форков выполняют рабочий процесс, однако параметр GITHUB_TOKEN установлен в режиме только для чтения. Внешние участники не могут получить доступ к вашим секретным данным, если вы не дали им соответствующего разрешения.

Добавьте блок strategy.matrix.php: [8.2, 8.3, 8.4] и укажите на ${{ matrix.php }} на шаге setup-php. Программа параллельно запустит по одному заданию для каждой версии.

Нет. Сгенерированный YAML отображается на странице, никуда не загружается и не сохраняется, а вы просто копируете его.

Сопутствующие инструменты

Справочная таблица ASCII

Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.

Справочник сочетаний клавиш

Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.

Справочник символов HTML

Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.

Шпаргалка по Markdown

Практический справочник Markdown с настоящим предпросмотром и готовыми для копирования примерами заголовков, списков, таблиц, кода, ссылок, изображений и синтаксиса GFM.

Счетчик FPS

Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.

Генератор EditorConfig

Создайте файл .editorconfig с вашими правилами стиля и размера отступа, конца строки, кодировки и пробелов для единообразного форматирования во всех IDE и редакторах.

Инструмент доступен на других языках