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.