From 27499da19120cd1f0719b1634f275af486e4f266 Mon Sep 17 00:00:00 2001 From: grok Date: Sat, 26 Sep 2026 15:20:47 +0700 Subject: [PATCH] =?UTF-8?q?ci:=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=20wi?= =?UTF-8?q?ndows,=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B0=D0=B5=D0=BC=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D0=BE?= =?UTF-8?q?=D0=B9,=20=D0=BA=D0=BE=D0=B3=D0=B4=D0=B0=20=D0=BF=D0=BE=D1=8F?= =?UTF-8?q?=D0=B2=D0=B8=D1=82=D1=81=D1=8F=20=D1=80=D0=B0=D0=BD=D0=BD=D0=B5?= =?UTF-8?q?=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Зачем: владелец требует проверку запуска стенда на Windows 11, но Windows-раннера у git.ochenstarik.ru сейчас нет. Задача без подходящего раннера висела бы в очереди и держала статус прогона «в ожидании», поэтому она выключена по умолчанию и включается переменной репозитория KRONA_WINDOWS_RUNNER=true. Что: npm ci, тест запуска без .cmd-обёрток (node vitest.mjs, без npx), а при заданном секрете WINDOWS_E2E_PG_ADMIN_URL — полный run-e2e с выгрузкой evidence артефактом. actionlint (метки docker, docker-host, windows) — 0 замечаний. Сама задача ни разу не запускалась — не проверено. --- .forgejo/workflows/ci.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index ebf9011..1e0cfd7 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -102,6 +102,36 @@ jobs: retention-days: 14 if-no-files-found: warn + # Windows 11 (проект разрабатывается под Windows). Windows-раннера у сервера пока + # НЕТ, поэтому задача включается только переменной репозитория + # KRONA_WINDOWS_RUNNER=true (иначе пропускается и не висит в очереди). + # Раннер: forgejo-runner в режиме host с меткой `windows`, Node 22+. + # e2e на Windows идёт, только если задан секрет WINDOWS_E2E_PG_ADMIN_URL + # (bootstrap-админ локальной PostgreSQL 17 на раннере). НЕ ПРОВЕРЕНО: не запускалась. + windows: + if: vars.KRONA_WINDOWS_RUNNER == 'true' + runs-on: windows + env: + E2E_PG_ADMIN_URL: ${{ secrets.WINDOWS_E2E_PG_ADMIN_URL }} + steps: + - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 + with: { node-version: 22, cache: npm } + - run: npm ci + - name: spawn without .cmd wrappers + run: node node_modules/vitest/vitest.mjs run tests/e2e/harness/node-commands.test.ts + - name: e2e on Windows (needs local PostgreSQL 17) + if: env.E2E_PG_ADMIN_URL != '' + run: node scripts/test/run-e2e.mjs + - name: upload Windows e2e evidence + if: always() && env.E2E_PG_ADMIN_URL != '' + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + with: + name: e2e-evidence-windows + path: tests/e2e/evidence/ + retention-days: 14 + if-no-files-found: warn + # docker build требует Docker daemon, которого нет в контейнере метки `docker`. # Нужен раннер с меткой `docker-host` (хост с доступом к Docker). Пока такого # раннера нет, задача ждёт в очереди и не блокирует verify/format/e2e.