- 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>
438 lines
19 KiB
JSON
438 lines
19 KiB
JSON
{
|
|
"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": [
|
|
{
|
|
"id": "",
|
|
"slug": "check",
|
|
"description": "",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "2026-10-14T14:57:43.223468Z",
|
|
"finished_at": "2026-10-14T14:58:19.375134Z",
|
|
"updated_at": "2026-10-14T14:58:19.571691Z"
|
|
},
|
|
"status": "success",
|
|
"cubes": [
|
|
{
|
|
"id": "",
|
|
"slug": "#create-environment",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "2026-10-14T14:57:43.514526Z",
|
|
"finished_at": "2026-10-14T14:57:43.584723Z",
|
|
"updated_at": "2026-10-14T14:57:43.657871Z"
|
|
},
|
|
"status": "success",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": []
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "#git-clone",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "2026-10-14T14:57:43.585127Z",
|
|
"finished_at": "2026-10-14T14:57:45.528681Z",
|
|
"updated_at": "2026-10-14T14:57:45.606302Z"
|
|
},
|
|
"status": "success",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "#create-environment"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "#prepare-image-for-compile",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "2026-10-14T14:57:45.529064Z",
|
|
"finished_at": "2026-10-14T14:57:55.435126Z",
|
|
"updated_at": "2026-10-14T14:57:55.537030Z"
|
|
},
|
|
"status": "success",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "#git-clone"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "#prepare-image-for-lint",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "2026-10-14T14:57:55.435513Z",
|
|
"finished_at": "2026-10-14T14:57:58.411834Z",
|
|
"updated_at": "2026-10-14T14:57:58.479777Z"
|
|
},
|
|
"status": "success",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "#git-clone"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "#prepare-image-for-meta",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "2026-10-14T14:57:58.412252Z",
|
|
"finished_at": "2026-10-14T14:58:03.323469Z",
|
|
"updated_at": "2026-10-14T14:58:03.420479Z"
|
|
},
|
|
"status": "success",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "#git-clone"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "#prepare-image-for-security",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "2026-10-14T14:58:03.323798Z",
|
|
"finished_at": "2026-10-14T14:58:04.898405Z",
|
|
"updated_at": "2026-10-14T14:58:04.986588Z"
|
|
},
|
|
"status": "success",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "#git-clone"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "#prepare-image-for-tests",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "2026-10-14T14:58:04.898847Z",
|
|
"finished_at": "2026-10-14T14:58:09.732911Z",
|
|
"updated_at": "2026-10-14T14:58:09.807301Z"
|
|
},
|
|
"status": "success",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "#git-clone"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "compile",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "2026-10-14T14:58:09.733227Z",
|
|
"finished_at": "2026-10-14T14:58:12.400619Z",
|
|
"updated_at": "2026-10-14T14:58:12.533056Z"
|
|
},
|
|
"status": "success",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "#prepare-image-for-compile"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "lint",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "2026-10-14T14:58:12.401008Z",
|
|
"finished_at": "2026-10-14T14:58:14.235114Z",
|
|
"updated_at": "2026-10-14T14:58:14.304352Z"
|
|
},
|
|
"status": "success",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "#prepare-image-for-lint"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "meta",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "2026-10-14T14:58:14.235485Z",
|
|
"finished_at": "2026-10-14T14:58:14.707956Z",
|
|
"updated_at": "2026-10-14T14:58:14.778120Z"
|
|
},
|
|
"status": "success",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "#prepare-image-for-meta"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "security",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "2026-10-14T14:58:14.708362Z",
|
|
"finished_at": "2026-10-14T14:58:17.148819Z",
|
|
"updated_at": "2026-10-14T14:58:17.221280Z"
|
|
},
|
|
"status": "success",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "#prepare-image-for-security"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "tests",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "2026-10-14T14:58:17.149213Z",
|
|
"finished_at": "2026-10-14T14:58:19.298832Z",
|
|
"updated_at": "2026-10-14T14:58:19.405984Z"
|
|
},
|
|
"status": "success",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "#prepare-image-for-tests"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "#tear-down-environment",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "2026-10-14T14:58:19.299366Z",
|
|
"finished_at": "2026-10-14T14:58:19.375117Z",
|
|
"updated_at": "2026-10-14T14:58:19.528162Z"
|
|
},
|
|
"status": "success",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "compile"
|
|
},
|
|
{
|
|
"name": "lint"
|
|
},
|
|
{
|
|
"name": "meta"
|
|
},
|
|
{
|
|
"name": "security"
|
|
},
|
|
{
|
|
"name": "tests"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"relations": {
|
|
"needs": []
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "deploy",
|
|
"description": "",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "1970-01-01T00:00:00Z",
|
|
"finished_at": "1970-01-01T00:00:00Z",
|
|
"updated_at": "2026-10-14T14:58:21.737007Z"
|
|
},
|
|
"status": "created",
|
|
"cubes": [
|
|
{
|
|
"id": "",
|
|
"slug": "#create-environment",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "1970-01-01T00:00:00Z",
|
|
"finished_at": "1970-01-01T00:00:00Z",
|
|
"updated_at": "2026-10-14T14:51:57.522605Z"
|
|
},
|
|
"status": "created",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": []
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "#git-clone",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "1970-01-01T00:00:00Z",
|
|
"finished_at": "1970-01-01T00:00:00Z",
|
|
"updated_at": "2026-10-14T14:51:57.522605Z"
|
|
},
|
|
"status": "created",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "#create-environment"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "#prepare-artifacts",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "1970-01-01T00:00:00Z",
|
|
"finished_at": "1970-01-01T00:00:00Z",
|
|
"updated_at": "2026-10-14T14:51:57.522605Z"
|
|
},
|
|
"status": "created",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "#git-clone"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "#prepare-image-for-deploy",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "1970-01-01T00:00:00Z",
|
|
"finished_at": "1970-01-01T00:00:00Z",
|
|
"updated_at": "2026-10-14T14:51:57.522605Z"
|
|
},
|
|
"status": "created",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "#prepare-artifacts"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "deploy",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "1970-01-01T00:00:00Z",
|
|
"finished_at": "1970-01-01T00:00:00Z",
|
|
"updated_at": "2026-10-14T14:51:57.522605Z"
|
|
},
|
|
"status": "created",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "#prepare-image-for-deploy"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "",
|
|
"slug": "#tear-down-environment",
|
|
"dates": {
|
|
"created_at": "2026-10-14T14:51:57.521264Z",
|
|
"started_at": "1970-01-01T00:00:00Z",
|
|
"finished_at": "1970-01-01T00:00:00Z",
|
|
"updated_at": "2026-10-14T14:51:57.522605Z"
|
|
},
|
|
"status": "created",
|
|
"artifacts": [],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "deploy"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"relations": {
|
|
"needs": [
|
|
{
|
|
"name": "check"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"environment_id": ""
|
|
}
|
|
],
|
|
"event_type": "push",
|
|
"error_messages": [],
|
|
"user": {
|
|
"id": "01a06158-1562-7db1-b6e9-018ddd4d4c29",
|
|
"slug": "rogachevegorushka"
|
|
}
|
|
}
|