Files
houseplan-card/.github/workflows/nightly.yml
T
Claude bdac4b4fdc ci: закрепить образ раннера, таймауты job и некруглые cron (#658)
`ubuntu-latest` с 19.10.2026 переезжает на Ubuntu 26, а golden, скриншоты
документации и перф-бюджеты сняты на текущем образе: все 43 job на раннере
теперь явно на `ubuntu-24.04`, один образ на все workflow. 26 job получили
`timeout-minutes` по наблюдённой длительности с запасом; гейт релиза — 180,
больше суммы собственных ожиданий (60 + 60 + 45). Расписания ушли с круглых
минут (ночь 02:17, мутанты 00:43, метрики 05:23, полный перф 04:11), ночь
пишет в summary сдвиг старта и предупреждает, если он больше часа.

test/workflow-hygiene.test.mjs держит все три правила по тексту workflow
(разбор `parseJobSettings` в scripts/workflow-jobs.mjs) и исполняет шаг
сдвига старта настоящим bash; порядок осознанного подъёма образа —
docs/DEVELOPMENT.md.

Issue: #658
User-Visible: no
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
2026-09-27 13:57:21 +03:00

32 lines
1.7 KiB
YAML

name: Ночной полный прогон dev
# Тонкий вызывающий файл (#623). Для этого события GitHub берёт workflow из
# ветки по умолчанию (`main`), поэтому здесь только то, что обязано жить там:
# триггеры, run-name, права и concurrency. Тело — `_nightly.yml` по ссылке
# `@dev`: правка конвейера — один коммит в `dev`, зеркало в `main` не нужно.
# Этот файл меняется, только когда меняются сами триггеры или потолок прав;
# тогда он зеркалится в `main`, и preflight `workflow_sync` (validate.yml)
# держит копии равными.
on:
# 02:17 UTC, не на круглой минуте: старты «ровно в час/полчаса» GitHub
# откладывает на часы (факт — 07:42–08:05 при плане 02:30, #658).
schedule:
- cron: '17 2 * * *'
workflow_dispatch: {}
permissions:
actions: write
contents: read
jobs:
# Потолок прав тела: объединение job-level прав `_nightly.yml`. Вызываемый
# workflow может права только сузить, поэтому каждая его job по-прежнему
# получает свой прежний минимум (#556), а шире этого набора не получит никто.
dev:
permissions:
actions: write
contents: read
uses: Matysh/houseplan-card/.github/workflows/_nightly.yml@dev # #623: тело конвейера из dev
secrets: inherit