fix(ci): setup-uv@v3 fails with __dirname ES module error in act runner #5
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
slaid098/voice_assistant#5
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Контекст
CI jobs
lintиtypecheckв.github/workflows/ci.ymlпадают на шагеastral-sh/setup-uv@v3в Forgejo act runner. Action использует CommonJS (__dirname), но act runner выполняет его как ES module — возникаетReferenceError.Логи Forgejo Actions (run 252, jobs 524/525):
На run 251 (раньше) ошибка была другой:
lstat .../docs: no such file or directory— flaky act cache. На run 252 — стабильная ES module ошибка.Проблема затрагивает ВСЕ PR в репо (не только wake-word), так как
setup-uv@v3используется в 4 из 5 jobs. Без фиксации lint/typecheck никогда не пройдут.Задача
Заставить
lintиtypecheckдоходить до выполненияruff/mypyв act runner.Контракты
ci.ymlиспользуетastral-sh/setup-uv@v3в jobs: lint, typecheck, test (×2), complexitysetup-uv@v3— сторонний action, запакован через@vercel/ncc(отсюда__nccwpck_require__и__dirname)Инварианты
ci.ymlastral-sh/setup-uv@v3к конкретному commit (возможно конкретная версия не имеет ES module проблемы)astral-sh/setup-uv@v2(если v2 CommonJS-совместим)setup-uv@v3и установить uv вручную:run: curl -LsSf https://astral.sh/uv/install.sh | sh(act runner сам скачает uv, action не нужен)astral-sh/setup-uv@v3с явнымversion: latest+enable-cache: false(отключить cache, который вызывает lstat-ошибку)Граничные случаи
lstat .../docs(run 251) vs стабильный__dirname(run 252) — возможно две разные проблемы, но обе вsetup-uv@v3complexityjob использует тот жеsetup-uv@v3и проходит — значит проблема может быть order-dependent или зависит от состояния cacheВлияние на связанные компоненты
ci.yml→ lint, typecheck: начнут доходить до ruff/mypyci.yml→ test, complexity: не затронуты (уже проходят)Вне scope
sudoпроблема (issue #4) — уже чинится в PR#3Критерии приемки
lintjob доходит доuv run ruff check src/ tests/typecheckjob доходит доuv run mypy src/Fixed in PR #3 (replaced
astral-sh/setup-uv@v3action with manual installcurl -LsSf https://astral.sh/uv/install.sh | sh+$GITHUB_PATHin all 4 jobs). Closing as resolved.