Files
tgit/tests/fixtures/sourcecraft/runs.json
T
ElebobaandClaude Opus 5.5 25735fee96 feat(bot): клиент SourceCraft API — прогоны, логи кубов, sha коммита, ретраи
- SourceCraftClient (httpx): list_runs, get_run, get_cube_logs (постранично), run_commit_sha;
  ретраи на сетевые ошибки и 5xx с экспоненциальной задержкой, 4xx — SourceCraftError без повторов
- модели: RunStatus/EventType из swagger, «1970-01-01» = не задано, failed_cubes без служебных #-кубов
- у прогона в API нет sha → куб check/meta в tgit-uploads печатает TGIT_COMMIT_SHA (ADR-014)
- CLI: python -m app.sourcecraft.cli runs
- тесты на реальных ответах API (фикстуры), порог покрытия 45 → 80

Refs #10

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 18:45:42 +03:00

105 lines
3.7 KiB
JSON

{
"runs": [
{
"id": "",
"slug": "1000002",
"dates": {
"created_at": "2026-10-14T14:51:56.652199Z",
"started_at": "2026-10-14T14:57:43.223468Z",
"finished_at": "1970-01-01T00:00:00Z",
"updated_at": "2026-10-14T14:57:43.242955Z"
},
"status": "processing",
"workflows": [
{
"id": "",
"slug": "check-and-deploy",
"description": "",
"dates": {
"created_at": "2026-10-14T14:51:57.521264Z",
"started_at": "2026-10-14T14:57:43.223468Z",
"finished_at": "1970-01-01T00:00:00Z",
"updated_at": "2026-10-14T14:57:43.234813Z"
},
"status": "processing",
"tasks": [],
"environment_id": ""
}
],
"event_type": "push",
"error_messages": [],
"user": {
"id": "01a06158-1562-7db1-b6e9-018ddd4d4c29",
"slug": "rogachevegorushka"
}
},
{
"id": "",
"slug": "1000001",
"dates": {
"created_at": "2026-10-13T20:58:52.273658Z",
"started_at": "2026-10-13T20:58:53.940173Z",
"finished_at": "2026-10-13T20:59:17.833911Z",
"updated_at": "2026-10-13T20:59:17.867686Z"
},
"status": "failed",
"workflows": [
{
"id": "",
"slug": "check-and-deploy",
"description": "",
"dates": {
"created_at": "2026-10-13T20:58:52.726601Z",
"started_at": "2026-10-13T20:58:53.940173Z",
"finished_at": "2026-10-13T20:59:17.833911Z",
"updated_at": "2026-10-13T20:59:17.862572Z"
},
"status": "failed",
"tasks": [],
"environment_id": ""
}
],
"event_type": "manual",
"error_messages": [],
"user": {
"id": "01a06158-1562-7db1-b6e9-018ddd4d4c29",
"slug": "rogachevegorushka"
}
},
{
"id": "",
"slug": "1000000",
"dates": {
"created_at": "2026-10-13T20:57:06.596315Z",
"started_at": "2026-10-13T20:57:06.821003Z",
"finished_at": "2026-10-13T20:58:26.698635Z",
"updated_at": "2026-10-13T20:58:27.884131Z"
},
"status": "success",
"workflows": [
{
"id": "",
"slug": "check-and-deploy",
"description": "",
"dates": {
"created_at": "2026-10-13T20:57:06.725971Z",
"started_at": "2026-10-13T20:57:06.821003Z",
"finished_at": "2026-10-13T20:58:26.698635Z",
"updated_at": "2026-10-13T20:58:27.878032Z"
},
"status": "success",
"tasks": [],
"environment_id": ""
}
],
"event_type": "push",
"error_messages": [],
"user": {
"id": "01a06158-1562-7db1-b6e9-018ddd4d4c29",
"slug": "rogachevegorushka"
}
}
],
"next_page_token": "147400973399132381"
}