fix(ci): bump setup-node to v5 to fix act eslint.config.mjs lstat bug #23

Merged
slaid098 merged 1 commit from fix/setup-node-v5 into main 2026-08-07 18:25:43 +03:00
Owner

Что сделано

Обновление actions/setup-node@v4@v5 в обоих workflow:

  • .forgejo/workflows/ci.yml
  • .forgejo/workflows/deploy.yml

Изменение

# Было:
- uses: actions/setup-node@v4
# Стало:
- uses: actions/setup-node@v5

Почему

PR #21 (убрать cache) не решил проблему. setup-node@v4 под act падает на lstat /root/.cache/act/.../eslint.config.mjs: no such file or directory даже без cache: npm. Баг в самом act-клоне setup-node@v4 — пытается найти eslint.config.mjs для problem matchers (add-matcher eslint-stylish.json) независимо от cache опции.

Сравнение (оба на sha=57f2709):

  • ci.yml (run id=144, success): Found in cache @ /opt/hostedtoolcache/node/22.23.2/x64 → Node в tool cache → success (lstat не вызывается)
  • deploy.yml (run id=145, failure): Node НЕ в tool cache → попытка загрузить → lstat eslint.config.mjs → failure

Фикс: v5 — последняя версия, возможно исправила act-совместимость. Если v5 имеет тот же баг — понизим до v3 (стабильная, без problem matchers бага).

Watch out

  • CI на этом PR: pull_request триггерит ci.yml с setup-node@v5. Если v5 работает — success. deploy.yml проверится на push после merge.
  • v5 breaking changes: новые inputs/outputs — проверим в логах. node-version: 22 поддерживается.
  • Если v5 падает: откроем PR с v3 (fallback).

Pending

  • Проверить после merge: push на main → ci.yml + deploy.yml success. Сайт обновлён.
  • Если v5 не работает — PR с v3.

Closes #22

## Что сделано Обновление `actions/setup-node@v4` → `@v5` в обоих workflow: - `.forgejo/workflows/ci.yml` - `.forgejo/workflows/deploy.yml` ### Изменение ```yaml # Было: - uses: actions/setup-node@v4 # Стало: - uses: actions/setup-node@v5 ``` ## Почему **PR #21 (убрать cache) не решил проблему.** `setup-node@v4` под `act` падает на `lstat /root/.cache/act/.../eslint.config.mjs: no such file or directory` даже без `cache: npm`. Баг в самом `act`-клоне `setup-node@v4` — пытается найти `eslint.config.mjs` для problem matchers (`add-matcher eslint-stylish.json`) независимо от cache опции. **Сравнение** (оба на sha=57f2709): - ci.yml (run id=144, success): `Found in cache @ /opt/hostedtoolcache/node/22.23.2/x64` → Node в tool cache → success (lstat не вызывается) - deploy.yml (run id=145, failure): Node НЕ в tool cache → попытка загрузить → `lstat eslint.config.mjs` → failure **Фикс**: `v5` — последняя версия, возможно исправила `act`-совместимость. Если `v5` имеет тот же баг — понизим до `v3` (стабильная, без problem matchers бага). ## Watch out - **CI на этом PR**: pull_request триггерит ci.yml с `setup-node@v5`. Если v5 работает — success. deploy.yml проверится на push после merge. - **v5 breaking changes**: новые inputs/outputs — проверим в логах. `node-version: 22` поддерживается. - **Если v5 падает**: откроем PR с `v3` (fallback). ## Pending - Проверить после merge: push на main → ci.yml + deploy.yml success. Сайт обновлён. - Если v5 не работает — PR с v3. Closes #22
fix(ci): bump setup-node to v5 to fix act eslint.config.mjs lstat bug
All checks were successful
CI / check (pull_request) Successful in 2m12s
6c9728bf0f
- setup-node@v4 падает на act при cache-miss в tool cache (lstat eslint.config.mjs)
- баг не связан с cache опцией (cache убран в PR #21, lstat всё равно вызывается)
- act-эмуляция v4 пытается найти eslint.config.mjs для problem matchers
- bump to v5 — возможно исправлено; если нет — понизим до v3
- блокер: deploy не работает

Closes #22
Author
Owner

Code Review Summary

Блокер #22: bump setup-node@v4v5 в ci.yml и deploy.yml (2 строки). Исправляет act lstat-баг на eslint.config.mjs.

Positives

  • Минимальный surgical fix — только версия action, ничего лишнего.
  • node-version: "22" сохранён в обоих workflow (ci.yml:17, deploy.yml:17).
  • Cache отсутствует — корректно убран в PR #21, не возвращён.
  • Steps/секреты не тронуты (VERCEL_TOKEN, FORGEJO_* на месте).
  • CI green на pull_request (run id=146, v5 работает, Found in cache @ /opt/hostedtoolcache).

Watch out (info, не блокирующее)

  • Реальный тест — push после merge (cache-miss scenario, где v4 падал). Если v5 упадёт на cache-miss на push-ивенте — понизить до setup-node@v3 (v3 стабилен на act/Forgejo Actions).

Verdict: APPROVE

## Code Review Summary Блокер #22: bump `setup-node@v4`→`v5` в `ci.yml` и `deploy.yml` (2 строки). Исправляет `act` lstat-баг на `eslint.config.mjs`. ### Positives - Минимальный surgical fix — только версия action, ничего лишнего. - `node-version: "22"` сохранён в обоих workflow (ci.yml:17, deploy.yml:17). - Cache отсутствует — корректно убран в PR #21, не возвращён. - Steps/секреты не тронуты (`VERCEL_TOKEN`, `FORGEJO_*` на месте). - CI green на pull_request (run id=146, v5 работает, `Found in cache @ /opt/hostedtoolcache`). ### Watch out (info, не блокирующее) - Реальный тест — push после merge (cache-miss scenario, где v4 падал). Если v5 упадёт на cache-miss на push-ивенте — понизить до `setup-node@v3` (v3 стабилен на act/Forgejo Actions). ### Verdict: APPROVE
slaid098 deleted branch fix/setup-node-v5 2026-08-07 18:25:43 +03:00
Sign in to join this conversation.
No reviewers
No labels
bug
performance
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
slaid098/slaid098-dev!23
No description provided.