ci: harden community release baseline
This commit is contained in:
@@ -2,21 +2,20 @@
|
||||
|
||||
## 1. Назначение
|
||||
|
||||
Этот документ описывает именно тот кусок staging smoke, который нельзя честно закрыть одними `curl` и unauthenticated route checks.
|
||||
Этот документ описывает тот кусок Community staging smoke, который нельзя честно закрыть одними `curl` и unauthenticated route checks.
|
||||
|
||||
Он покрывает:
|
||||
|
||||
- login/logout;
|
||||
- UI shell после входа;
|
||||
- `Secrets -> Auth Profiles -> Wizard -> Test run`;
|
||||
- protocol smoke через UI и MCP;
|
||||
- streaming pages после реальных вызовов.
|
||||
- `REST` smoke через UI и MCP.
|
||||
|
||||
Использовать вместе с:
|
||||
|
||||
- [deploy-and-staging-smoke.md](/home/a.tolmachev/code/rust/mcpaas/docs/deploy-and-staging-smoke.md)
|
||||
- [staging-regression-notes.md](/home/a.tolmachev/code/rust/mcpaas/docs/staging-regression-notes.md)
|
||||
- [manual-regression-checklist.md](/home/a.tolmachev/code/rust/mcpaas/docs/manual-regression-checklist.md)
|
||||
- [deploy-and-staging-smoke.md](deploy-and-staging-smoke.md)
|
||||
- [staging-regression-notes.md](staging-regression-notes.md)
|
||||
- [manual-regression-checklist.md](manual-regression-checklist.md)
|
||||
|
||||
## 2. Что нужно заранее
|
||||
|
||||
@@ -27,7 +26,7 @@
|
||||
- `CRANK_STAGING_ADMIN_EMAIL=... CRANK_STAGING_ADMIN_PASSWORD=... just authenticated-staging-smoke https://<domain>`
|
||||
- известны bootstrap admin credentials;
|
||||
- на стенде есть demo data или подготовленный disposable workspace;
|
||||
- браузер открыт с devtools, чтобы фиксировать network/console findings.
|
||||
- браузер открыт с devtools, чтобы фиксировать network и console findings.
|
||||
|
||||
## 3. Канонический проход
|
||||
|
||||
@@ -39,9 +38,7 @@ export CRANK_STAGING_ADMIN_PASSWORD=secret
|
||||
just authenticated-staging-smoke https://<domain>
|
||||
```
|
||||
|
||||
После завершения прохода готовый блок для
|
||||
[staging-regression-notes.md](/home/a.tolmachev/code/rust/mcpaas/docs/staging-regression-notes.md)
|
||||
можно сгенерировать так:
|
||||
После завершения прохода готовый блок для [staging-regression-notes.md](staging-regression-notes.md) можно сгенерировать так:
|
||||
|
||||
```bash
|
||||
just staging-note-block <domain> <deploy-sha> "codex + operator"
|
||||
@@ -55,7 +52,6 @@ just staging-note-block <domain> <deploy-sha> "codex + operator"
|
||||
- valid login -> redirect на `/`;
|
||||
- нет redirect loop;
|
||||
- password-only note видна;
|
||||
- planned actions на login не выглядят рабочими.
|
||||
3. После входа проверить:
|
||||
- current workspace в navbar;
|
||||
- user identity;
|
||||
@@ -80,7 +76,7 @@ just staging-note-block <domain> <deploy-sha> "codex + operator"
|
||||
|
||||
- `status: passed | partial | failed`
|
||||
- есть ли console errors;
|
||||
- есть ли failing XHR/fetch;
|
||||
- есть ли failing XHR или fetch;
|
||||
- есть ли broken layout.
|
||||
|
||||
### 3.3. Secrets and auth profiles
|
||||
@@ -111,19 +107,17 @@ just staging-note-block <domain> <deploy-sha> "codex + operator"
|
||||
- upstream сохраняется;
|
||||
- test run отрабатывает с `auth_profile_ref`.
|
||||
|
||||
### 3.5. Protocol smoke
|
||||
### 3.5. REST protocol smoke
|
||||
|
||||
Использовать:
|
||||
|
||||
- [public-smoke-targets.md](/home/a.tolmachev/code/rust/mcpaas/docs/public-smoke-targets.md)
|
||||
- [public-smoke-targets.md](public-smoke-targets.md)
|
||||
|
||||
Обязательные кейсы:
|
||||
Обязательный кейс:
|
||||
|
||||
- `REST`
|
||||
- `GraphQL`
|
||||
- `gRPC`
|
||||
|
||||
Для каждого:
|
||||
Порядок:
|
||||
|
||||
1. создать или открыть operation;
|
||||
2. выполнить `Test run`;
|
||||
@@ -133,21 +127,9 @@ just staging-note-block <domain> <deploy-sha> "codex + operator"
|
||||
- `tools/list`
|
||||
- `tools/call`
|
||||
|
||||
### 3.6. Streaming smoke
|
||||
|
||||
Проверить:
|
||||
|
||||
- `window` tool;
|
||||
- `session` tool;
|
||||
- `async_job` tool;
|
||||
|
||||
Если WebSocket/SOAP upstream на стенде отсутствуют:
|
||||
|
||||
- явно записать `not exercised`, а не оставлять пустым.
|
||||
|
||||
## 4. Что нужно занести в staging notes
|
||||
|
||||
По итогам authenticated pass в [staging-regression-notes.md](/home/a.tolmachev/code/rust/mcpaas/docs/staging-regression-notes.md) обязательно добавить:
|
||||
По итогам authenticated pass в [staging-regression-notes.md](staging-regression-notes.md) обязательно добавить:
|
||||
|
||||
- deploy commit;
|
||||
- кто проходил smoke;
|
||||
@@ -160,11 +142,7 @@ just staging-note-block <domain> <deploy-sha> "codex + operator"
|
||||
- secrets/auth profiles;
|
||||
- wizard;
|
||||
- REST;
|
||||
- GraphQL;
|
||||
- gRPC;
|
||||
- streaming;
|
||||
- WebSocket;
|
||||
- SOAP.
|
||||
- MCP smoke.
|
||||
|
||||
## 5. Готовый блок для вставки
|
||||
|
||||
@@ -190,7 +168,7 @@ just staging-note-block <domain> <deploy-sha> "codex + operator"
|
||||
- secrets
|
||||
- logs
|
||||
- usage
|
||||
- streaming
|
||||
- rest smoke
|
||||
- mcp smoke
|
||||
|
||||
### Passed
|
||||
@@ -199,11 +177,7 @@ just staging-note-block <domain> <deploy-sha> "codex + operator"
|
||||
- shell pages open after auth
|
||||
- secrets/auth profile flow status: `<passed|partial|failed>`
|
||||
- REST smoke: `<passed|partial|failed>`
|
||||
- GraphQL smoke: `<passed|partial|failed>`
|
||||
- gRPC smoke: `<passed|partial|failed>`
|
||||
- streaming pages status: `<passed|partial|failed>`
|
||||
- WebSocket: `<not exercised|passed|failed>`
|
||||
- SOAP: `<not exercised|passed|failed>`
|
||||
- MCP smoke: `<passed|partial|failed>`
|
||||
|
||||
### Findings
|
||||
|
||||
@@ -218,8 +192,11 @@ just staging-note-block <domain> <deploy-sha> "codex + operator"
|
||||
- ...
|
||||
```
|
||||
|
||||
## 6. Практический статус
|
||||
## 6. Почему automated smoke недостаточно
|
||||
|
||||
На текущий момент этот документ подготовлен как operational template.
|
||||
Скрипт [scripts/authenticated-staging-smoke.sh](../scripts/authenticated-staging-smoke.sh) полезен как быстрый sanity check, но он:
|
||||
|
||||
Он не заменяет реальный authenticated browser pass и не должен отмечаться как `passed`, пока результаты не занесены в [staging-regression-notes.md](/home/a.tolmachev/code/rust/mcpaas/docs/staging-regression-notes.md).
|
||||
- проверяет только минимальный browser flow;
|
||||
- не создает реальный disposable operation;
|
||||
- не заменяет ручной `REST -> publish -> MCP call` проход;
|
||||
- не должен отмечаться как `passed`, пока результаты не занесены в [staging-regression-notes.md](staging-regression-notes.md).
|
||||
|
||||
Reference in New Issue
Block a user