fix: handle missing gh executable - #177
Conversation
…error fix: tolerate runtime errors in release check
* fix: harden sqlite queue path handling * fix: initialize sqlite after state directory recovery
There was a problem hiding this comment.
Approved. I reviewed the linked Sentry issue, the migrated PR context, and the full upstream diff across dispatch, monitor, queue, and tests. The GitHubClient run wrapper preserves the CompletedProcess-style contract and turns a missing configured gh executable into return code 127, so reaction, comment, and follow-up paths can fail closed instead of crashing the worker.
The carried monitor and queue resiliency commits are also consistent with repository operations: release lookup failures remain non-fatal, user-home DB paths are expanded, and missing SQLite parent directories are recreated before reconnecting.
Verification:
- Focused local tests: .venv/bin/pytest -q tests/test_modes_cli.py tests/test_monitor.py tests/test_queue.py -> 41 passed
- Full local suite: .venv/bin/pytest -q -> 159 passed, 1 Starlette/httpx deprecation warning
- GitHub checks: dashboard, pytest 3.11, and pytest 3.12 are passing
|
Merge event processed: PR #177 is already merged as b0bdf23, carrying the missing-gh fix from ecc87a0. I rechecked the linked Sentry issue context and reran the focused regression tests locally: |
Fixes gisce#25
Summary
ghexecutable into aCompletedProcess-style failure with exit code 127FileNotFoundErrorTests
.venv/bin/pytest -q tests/test_modes_cli.py(10 passed)Moved from gisce#26 at the request of @ecarreras.