better err msg in agent-loop.
This commit is contained in:
@@ -33,12 +33,12 @@ repos:
|
|||||||
- id: ci-no-direct-dagger
|
- id: ci-no-direct-dagger
|
||||||
name: check for direct dagger calls in workflows (use Task instead)
|
name: check for direct dagger calls in workflows (use Task instead)
|
||||||
language: system
|
language: system
|
||||||
entry: "bash -c 'git grep \"dagger call\" .forgejo/workflows/ && echo \"ERROR: Direct dagger calls found in workflows. Use Taskfile instead.\" && exit 1 || exit 0'"
|
entry: "bash -c 'git --no-pager grep \"dagger call\" .forgejo/workflows/ && echo \"ERROR: Direct dagger calls found in workflows. Use Taskfile instead.\" && exit 1 || exit 0'"
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
always_run: true
|
always_run: true
|
||||||
- id: dagger-progress-plain
|
- id: dagger-progress-plain
|
||||||
name: ensure all dagger calls use --progress=plain
|
name: ensure all dagger calls use --progress=plain
|
||||||
language: system
|
language: system
|
||||||
entry: "bash -c 'git grep \"dagger call\" -- \":!.pre-commit-config.yaml\" | grep -v \"\\-\\-progress=plain\" && echo \"ERROR: All dagger calls must include --progress=plain\" && exit 1 || exit 0'"
|
entry: "bash -c 'git --no-pager grep \"dagger call\" -- \":!.pre-commit-config.yaml\" | grep -v \"\\-\\-progress=plain\" && echo \"ERROR: All dagger calls must include --progress=plain\" && exit 1 || exit 0'"
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
always_run: true
|
always_run: true
|
||||||
|
|||||||
@@ -109,7 +109,12 @@ def _tea_get(path: str) -> dict | list | None:
|
|||||||
out = result.stdout.strip()
|
out = result.stdout.strip()
|
||||||
if not out:
|
if not out:
|
||||||
return None
|
return None
|
||||||
data = json.loads(out)
|
try:
|
||||||
|
data = json.loads(out)
|
||||||
|
except json.JSONDecodeError as exc:
|
||||||
|
raise RuntimeError(
|
||||||
|
f"tea api {path} returned non-JSON (exit 0):\n{out[:500]}"
|
||||||
|
) from exc
|
||||||
if isinstance(data, dict) and "message" in data and "url" in data:
|
if isinstance(data, dict) and "message" in data and "url" in data:
|
||||||
raise RuntimeError(f"tea api {path} returned error: {data['message']}")
|
raise RuntimeError(f"tea api {path} returned error: {data['message']}")
|
||||||
return data
|
return data
|
||||||
|
|||||||
Reference in New Issue
Block a user