chore(ci): node 20 отслужил — рантайм фронтов и оба CI-джоба на node 24 LTS #3214

Merged
lekss361 merged 1 commit from chore/node24-runtime into main 2026-08-29 11:29:13 +00:00
Collaborator

Node 20 вышел из поддержки 30.04.2026 — security-патчи для него больше не выпускаются, а node:20-alpine продолжает собираться и молча уносить это в прод. Node 24 — текущая Active LTS.

Меняется ровно major рантайма, больше ничего:

файл было → стало
frontend/Dockerfile node:20-alpinenode:24-alpine, три стадии (deps / builder / runner)
tradein-mvp/frontend/Dockerfile то же, три стадии
.forgejo/workflows/ci.yml node-version: "20""24", два джоба (:396, :452)
.forgejo/workflows/ci-tradein.yml то же, один джоб (:353)

Версия в CI намеренно держится равной major'у из Dockerfile — так было и раньше; комментарии рядом обновлены вместе с числом, чтобы не разъехались.

Ни engines в package.json, ни .nvmrc в проекте нет — других мест, где закреплён major, не осталось (проверено grep'ом по Dockerfile / yml / md).

Совместимость

  • next 15.5.24 — поддерживает node 20 / 22 / 24
  • sharp 0.35.4 — ^18.17 || ^20.3 || >=22, prebuild linuxmusl-x64 есть

Приёмка

Гейт — этот самый CI: джобы фронтов после мержа этого диффа выполняются уже на node 24, так что зелёный прогон PR и есть доказательство. Локально проверить нечем — на машине node 26, это не тот major.

Если фронт-тесты покраснеют — это ровно тот сигнал, ради которого версия и поднимается, и чинить надо будет тесты, а не откатывать major.

⚠️ Требует вашего решения перед мержем

PR трогает два файла пайплайна (.forgejo/workflows/ci.yml, ci-tradein.yml). По моему tripwire такие PR я не мержу сам — жду вашего слова.

Пункт 5 из 6 в цепочке апдейта зависимостей (после #3207, #3210, #3211, #3213).

Node 20 вышел из поддержки **30.04.2026** — security-патчи для него больше не выпускаются, а `node:20-alpine` продолжает собираться и молча уносить это в прод. Node 24 — текущая Active LTS. Меняется ровно major рантайма, больше ничего: | файл | было → стало | |---|---| | `frontend/Dockerfile` | `node:20-alpine` → `node:24-alpine`, три стадии (deps / builder / runner) | | `tradein-mvp/frontend/Dockerfile` | то же, три стадии | | `.forgejo/workflows/ci.yml` | `node-version: "20"` → `"24"`, два джоба (:396, :452) | | `.forgejo/workflows/ci-tradein.yml` | то же, один джоб (:353) | Версия в CI намеренно держится равной major'у из Dockerfile — так было и раньше; комментарии рядом обновлены вместе с числом, чтобы не разъехались. Ни `engines` в `package.json`, ни `.nvmrc` в проекте нет — других мест, где закреплён major, не осталось (проверено grep'ом по Dockerfile / yml / md). ## Совместимость - `next` 15.5.24 — поддерживает node 20 / 22 / 24 - `sharp` 0.35.4 — `^18.17 || ^20.3 || >=22`, prebuild `linuxmusl-x64` есть ## Приёмка Гейт — **этот самый CI**: джобы фронтов после мержа этого диффа выполняются уже на node 24, так что зелёный прогон PR и есть доказательство. Локально проверить нечем — на машине node 26, это не тот major. Если фронт-тесты покраснеют — это ровно тот сигнал, ради которого версия и поднимается, и чинить надо будет тесты, а не откатывать major. ## ⚠️ Требует вашего решения перед мержем PR трогает **два файла пайплайна** (`.forgejo/workflows/ci.yml`, `ci-tradein.yml`). По моему tripwire такие PR я не мержу сам — жду вашего слова. Пункт 5 из 6 в цепочке апдейта зависимостей (после #3207, #3210, #3211, #3213).
bot-backend added 1 commit 2026-08-29 11:03:26 +00:00
chore(ci): node 20 отслужил — рантайм фронтов и оба CI-джоба на node 24 LTS
All checks were successful
CI Trade-In / changes (pull_request) Successful in 11s
CI / changes (pull_request) Successful in 13s
CI Trade-In / browser-tests (pull_request) Successful in 1m16s
CI Trade-In / frontend-checks (pull_request) Successful in 1m30s
CI / frontend-tests (pull_request) Successful in 1m23s
CI / openapi-codegen-check (pull_request) Successful in 2m23s
CI Trade-In / backend-tests (pull_request) Successful in 5m47s
CI / backend-tests (pull_request) Successful in 18m12s
4e8cf5ab62
Node 20 вышел из поддержки 30.04.2026: security-патчи для него больше не
выпускаются, а образ node:20-alpine продолжает собираться и молча уносить это
в прод. Node 24 — текущая Active LTS.

Меняется ровно major рантайма, больше ничего:
  frontend/Dockerfile             node:20-alpine → node:24-alpine (deps/builder/runner)
  tradein-mvp/frontend/Dockerfile то же, три стадии
  .forgejo/workflows/ci.yml       node-version "20" → "24" (два джоба)
  .forgejo/workflows/ci-tradein.yml то же (один джоб)

Версия в CI намеренно держится равной major'у из Dockerfile — так было и
раньше, комментарии рядом обновлены вместе с числом, чтобы не разошлись.

Ни `engines`, ни `.nvmrc` в проекте нет — других мест, где закреплён major,
не осталось (проверено grep'ом по Dockerfile/yml/md).

Совместимость: next 15.5.24 поддерживает node 20/22/24; sharp 0.35.4 — node
^18.17 || ^20.3 || >=22, prebuild linuxmusl-x64 есть.

Приёмка — этот самый CI: джобы фронтов теперь выполняются на node 24, так что
зелёный прогон PR и есть доказательство. Локально проверить нечем — на машине
node 26, это не тот major.
lekss361 merged commit 9f45c7616c into main 2026-08-29 11:29:13 +00:00
lekss361 deleted branch chore/node24-runtime 2026-08-29 11:29:13 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#3214
No description provided.