mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-30 19:58:50 +00:00
Validate ran three smoke shards, golden and performance_smoke on every push, check-docs went red on any src/** change until screenshots were re-captured, and a parallel bundle build made every second task branch fail to rebase. None of these gates ever failed at review time; they fail before betas. - `heavy` output in job `changes` (scripts/classify-changes.mjs): smoke, smoke_done, golden, performance_smoke run only for a head commit with a `Release:` trailer, `workflow_dispatch full=true` and pull requests. - nightly.yml dispatches Validate on dev with full=true every night. - check-docs `--screenshots=warn|strict`: freshness of the screenshot index warns on a plain push, errors on the candidate; everything else still errors. - publish-prerelease.yml and release.yml refuse a candidate without the `Release:` trailer and (prerelease) require fresh screenshots — a green Validate without the heavy jobs cannot pass for a release. - scripts/rebase-on-dev.mjs: rebase on origin/dev taking dev's copy of the committed bundle, rebuild with bundle:sync, amend; any other conflict aborts. - npm run gate:small: mandatory PROCESS §8 part in one parallel run. Issue: #479 User-Visible: no
39 lines
1.9 KiB
YAML
39 lines
1.9 KiB
YAML
# Ночной полный прогон (#479).
|
||
#
|
||
# Тяжёлые job Validate — смоки, golden, performance_smoke — на обычном пуше не
|
||
# идут: они ни разу не ловили дефект в момент ревью и стоили ~6 минут
|
||
# критического пути на каждую итерацию. Полный набор идёт на кандидате беты
|
||
# (трейлер `Release:`), по кнопке и здесь — каждую ночь на голове `dev`.
|
||
#
|
||
# Почему не `schedule` прямо в validate.yml: расписание исполняется на ветке
|
||
# по умолчанию (`main`), а проверять надо `dev`. Один dispatch с `--ref dev`
|
||
# делает это без переписывания checkout во всех job. Reuse (#208) сохраняется:
|
||
# при неизменённом дереве ночной прогон обойдётся маркерами.
|
||
#
|
||
# Красный ночной прогон — сигнал автору последних коммитов на dev, не гейт:
|
||
# гейт беты по-прежнему требует зелёный Validate на точном SHA кандидата, и
|
||
# там полный набор идёт заново.
|
||
name: Ночной полный прогон dev
|
||
|
||
on:
|
||
schedule:
|
||
- cron: '30 2 * * *'
|
||
workflow_dispatch: {}
|
||
|
||
permissions:
|
||
actions: write
|
||
contents: read
|
||
|
||
jobs:
|
||
dispatch:
|
||
name: "Запустить Validate на dev с полным набором"
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- env:
|
||
GH_TOKEN: ${{ github.token }}
|
||
REPO: ${{ github.repository }}
|
||
run: |
|
||
set -euo pipefail
|
||
gh workflow run validate.yml --repo "$REPO" --ref dev -f full=true
|
||
echo "Validate(dev, full=true) поставлен в очередь: $(date -u +%FT%TZ)"
|