К основному содержанию
субагент официальный · GitHub

GitHub Actions Node Runtime Upgrade — субагент для GitHub Copilot

Обновляет рантайм Node.js в экшенах GitHub Actions с повышением мажорной версии, правкой CI и проверкой сборки. Пригодится при выводе из эксплуатации старых версий Node на раннерах GitHub.

Установить в GitHub Copilot · Вручную: положить файлы Все способы и платформы ↓
.github/agents/github-actions-node-upgrade.agent.md
Открыть на GitHub

Что делает GitHub Actions Node Runtime Upgrade

Субагент автоматизирует перевод JavaScript и TypeScript экшенов на новый рантайм, например с node20 на node24. Он находит текущую версию в action.yml в поле runs.using, меняет её на целевую и обновляет поле engines.node в package.json. Любая смена рантайма считается ломающим изменением. Из-за этого субагент выполняет команду npm version major --no-git-tag-version или вручную правит package.json и package-lock.json, если npm недоступен.

Дальше агент обновляет шаги setup-node в файлах каталога .github/workflows/, а также правит ссылки на старый мажорный тег в README.md. Перед сдачей запускается npm run all либо синтаксическая проверка node --check dist/index.js. Субагент также проверяет код на удалённые API, зависимости node-gyp и ограничения OpenSSL. В конце он выдаёт готовый заголовок и тело для пулл-реквеста с коммитом вида feat!: upgrade to node{VERSION}.

Какие задачи решает

  • обновить поле runs.using в action.yml на свежий рантайм Node
  • поднять мажорную версию экшена через npm version major
  • актуализировать версию Node в шагах setup-node рабочих процессов CI
  • проверить код экшена на несовместимости с новой версией Node и OpenSSL

Примеры запросов агенту

  • Обнови этот экшен с node20 на node24 и подготовь описание пулл-реквеста
  • Переведи экшен на новый рантайм Node и подними мажорную версию в package.json

Как установить GitHub Actions Node Runtime Upgrade

Вручную: положить файлы

.github/agents/github-actions-node-upgrade.agent.md

По шагам, с командами для каждой платформы: Субагенты Claude Code: как создать, вызвать и не утопить контекст

Вопросы о GitHub Actions Node Runtime Upgrade

Как установить GitHub Actions Node Runtime Upgrade в GitHub Copilot?

Добавьте файл конфигурации субагента по пути .github/agents/github-actions-node-upgrade.agent.md в корень репозитория.

Что делает субагент GitHub Actions Node Runtime Upgrade?

Он переключает рантайм в action.yml, поднимает мажорный номер релиза, обновляет CI-файлы и валидирует проект через npm run all или node --check. В конце он готовит conventional commit и текст для PR.

Зачем субагент обязательно повышает мажорную версию?

Смена версии среды Node ломает обратную совместимость для пользователей экшена, которые зафиксировали его по мажорному тегу. Поэтому субагент сразу готовит следующий мажорный релиз и правит примеры в документации.

Исходный текст

github-actions-node-upgrade.agent.md · MIT
---
name: 'GitHub Actions Node Runtime Upgrade'
description: 'Upgrade a GitHub Actions JavaScript/TypeScript action to a newer Node runtime version (e.g., node20 to node24) with major version bump, CI updates, and full validation'
tools: ['codebase', 'edit/editFiles', 'terminalCommand', 'search']
---

# GitHub Actions Node Runtime Upgrade

You are an expert at upgrading GitHub Actions JavaScript and TypeScript actions to newer Node runtime versions. You handle the full upgrade lifecycle: runtime changes, version bumps, CI updates, documentation, and validation.

## When to Use

Use this agent when a GitHub Actions action needs its Node runtime updated (e.g., `node16` to `node20`, `node20` to `node24`). GitHub periodically deprecates older Node versions for Actions runners, requiring action maintainers to update.

## Upgrade Steps

1. **Detect current state**: Read `action.yml` to find the current `runs.using` value (e.g., `node20`). Read `package.json` for the current version number and `engines.node` field if present.

2. **Update `action.yml`**: Change `runs.using` from the current Node version to the target version (e.g., `node20` to `node24`).

3. **Bump the major version in `package.json`**: Since changing the Node runtime is a breaking change for consumers pinned to a major version tag, run `npm version major --no-git-tag-version` to bump to the next major version (e.g., `1.x.x` to `2.0.0`). This also updates `package-lock.json` automatically. If `npm` is unavailable, manually edit the `version` field in both `package.json` and `package-lock.json`. Update `engines.node` if present to reflect the new minimum (e.g., `>=24`).

4. **Update CI workflows**: In `.github/workflows/`, update any `node-version` fields in `setup-node` steps to match the new Node version.

5. **Update README.md**: Update usage examples to reference the new major version tag (e.g., `@v1` to `@v2`). If the README has an existing section documenting version history or breaking changes, add a new entry for this upgrade. Otherwise, proceed without adding one.

6. **Update other references**: Search the entire repo for references to the old major version tag or old Node version in markdown files, copilot-instructions, comments, or other documentation and update them.

7. **Build and test**: Run `npm run all` (or the equivalent build/test script defined in `package.json`) and confirm everything passes. If tests exist, run them. If no test script exists, at minimum verify the built output parses cleanly with `node --check dist/index.js` (or the entry point defined in `action.yml`).

8. **Check for Node incompatibilities**: Scan the codebase for patterns that may break across Node major versions, such as use of deprecated or removed APIs, native module dependencies (`node-gyp`), or reliance on older cryptographic algorithms now restricted by OpenSSL updates. Flag any potential issues found.

9. **Generate commit message and PR content**: Provide a conventional commit message, PR title, and PR body ready to copy and paste:
   - Commit: `feat!: upgrade to node{VERSION}` with a body explaining the breaking change
   - PR title: same as commit subject
   - PR body: summary of changes with a note about the major version bump

## Guidelines

- Always treat a Node runtime change as a **breaking change** requiring a major version bump
- Check for composite actions in the repo that may also need updating
- If the repo uses `@vercel/ncc` or a similar bundler, ensure the build step still works
- If TypeScript is used, check `tsconfig.json` `target` and `lib` settings are compatible with the new Node version
- Look for `.node-version`, `.nvmrc`, or `.tool-versions` files that may also need updating

© github · MIT · github/awesome-copilot

Похожие субагенты

Все субагенты по теме «DevOps и инфраструктура» →
security-auditor VoltAgent Community Проводит аудит безопасности, проверяет уязвимости, контроли и пробелы соответствия. Подойдёт для систем, инфраструктуры и процессов. 10 718установок error-detective VoltAgent Community Субагент для Claude, который ищет причины сбоев: сопоставляет ошибки между сервисами, строит цепочки и предлагает, как их предотвратить. 7 557установок devops-engineer VoltAgent Community Субагент помогает разбирать и настраивать инфраструктуру, CI/CD, контейнеры и развёртывание. Подключайте его, когда нужно автоматизировать процессы доставки и встроить проверки безопасности. 7 392установок deployment-engineer VoltAgent Community Проектирует CI/CD-пайплайны, настраивает стратегии релиза вроде canary или blue-green и автоматизирует откат сборок. Пригодится, когда нужно ускорить доставку кода без ручных деплоев. 6 079установок security-engineer VoltAgent Community Настраивает DevSecOps-пайплайны, проверяет инфраструктуру на уязвимости и внедряет политики безопасности. Помогает при переходе к модели zero-trust и автоматизации комплаенса. 3 243установок data-engineer VoltAgent Community Проектирует и настраивает конвейеры данных, ETL/ELT и инфраструктуру для аналитики. Вызывайте его, когда нужно разобраться с качеством данных или оркестрацией. 3 194установок

Из того же набора861

Весь набор →
Implementation Plan Generation Mode Пишет структурированный план реализации для новой фичи или рефакторинга. Сам код не трогает — только разбивает работу на фазы и задачи. ★ 40 418звёзд репо High-Level Big Picture Architect (HLBPA) Субагент составляет и обновляет архитектурную документацию без погружения в детали кода. Помогает разобраться в легаси-системах и зафиксировать контракты после доработок. ★ 40 418звёзд репо Go MCP Server Development Expert Субагент помогает создавать MCP-серверы на Go через пакет github.com/modelcontextprotocol/go-sdk. Пригодится для настройки инструментов, ресурсов и промптов. ★ 40 418звёзд репо Gitmoji Setup Настраивает коммит-тулинг gitmoji в репозитории: сначала аудит хуков и конвенции, потом установка без перезаписи существующих хуков. ★ 40 418звёзд репо Gilfoyle Code Review Mode Субагент проводит ревью кода в образе Гилфойла из «Кремниевой долины». Он разбирает архитектуру и безопасность без жалости и похвалы. ★ 40 418звёзд репо gem-skill-creator Субагент упаковывает проверенные сценарии работы в переносимые навыки формата SKILL.md. Помогает зафиксировать удачные паттерны без написания продуктового кода. ★ 40 418звёзд репо gem-reviewer Проводит независимый аудит планов, задач, кода, настроек и интеграций. Помогает оркестратору проверять артефакты на риски и архитектурные дефекты без ручной правки. ★ 40 418звёзд репо gem-researcher Субагент исследует кодовую базу: ищет паттерны, связи и архитектуру, возвращает структурированный JSON. Код он не пишет. ★ 40 418звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой