Eliminates fallback logic for the tea CLI — it must always be installed and available. Also makes missing Vikunja tasks a fatal error in post-merge and auto-merge, enforcing the workflow invariant that every PR has a corresponding Vikunja task.
Changes
tea CLI is now required (no fallbacks)
notify_failure.py: Removed GiteaClient fallback. Uses tea exclusively — if tea fails, the workflow fails.
setup.py: _configure_tea_login() now raises ClickException if tea is not installed (was: skip silently). Run make install-tools first.
Missing Vikunja task is now fatal
post_merge.py: resolve_task_id() raises ClickException when task not found (was: warn and return None). Every merged PR must have a Vikunja task.
auto_merge.py: get_vikunja_task_title() raises ClickException when VIKUNJA_TOKEN is set but task is not found (was: return empty string and skip validation). Local dev without token still skips.
CI workflow updates
post-merge.yml: All Notify-on-failure steps now ensure ~/.local/bin is on PATH. The vikunja and configure-repo jobs (which don't run make setup) now install tea and configure login before calling notify_failure.py.
Test Coverage
All 797 tests pass with 100% coverage.
## Summary
Eliminates fallback logic for the tea CLI — it must always be installed and available. Also makes missing Vikunja tasks a fatal error in post-merge and auto-merge, enforcing the workflow invariant that every PR has a corresponding Vikunja task.
## Changes
### tea CLI is now required (no fallbacks)
- **`notify_failure.py`**: Removed `GiteaClient` fallback. Uses `tea` exclusively — if tea fails, the workflow fails.
- **`setup.py`**: `_configure_tea_login()` now raises `ClickException` if tea is not installed (was: skip silently). Run `make install-tools` first.
### Missing Vikunja task is now fatal
- **`post_merge.py`**: `resolve_task_id()` raises `ClickException` when task not found (was: warn and return `None`). Every merged PR must have a Vikunja task.
- **`auto_merge.py`**: `get_vikunja_task_title()` raises `ClickException` when `VIKUNJA_TOKEN` is set but task is not found (was: return empty string and skip validation). Local dev without token still skips.
### CI workflow updates
- **`post-merge.yml`**: All Notify-on-failure steps now ensure `~/.local/bin` is on PATH. The `vikunja` and `configure-repo` jobs (which don't run `make setup`) now install tea and configure login before calling `notify_failure.py`.
## Test Coverage
All 797 tests pass with 100% coverage.
Auto-merge: If all CI checks pass, this PR will be merged automatically.
## Automated PR Review
- Architecture compliance: OK
- Best practices: OK
- Security: OK
- i18n: OK
- Resource management: OK
- Documentation: OK
- Tests: OK
- Commit conventions: OK
No issues found by automated checks.
---
**Auto-merge:** If all CI checks pass, this PR will be merged automatically.
emil
merged commit 18f1f67354 into master2026-06-22 11:04:52 +00:00
emil
deleted branch GRM-58-require-tea2026-06-22 11:04:52 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Eliminates fallback logic for the tea CLI — it must always be installed and available. Also makes missing Vikunja tasks a fatal error in post-merge and auto-merge, enforcing the workflow invariant that every PR has a corresponding Vikunja task.
Changes
tea CLI is now required (no fallbacks)
notify_failure.py: RemovedGiteaClientfallback. Usesteaexclusively — if tea fails, the workflow fails.setup.py:_configure_tea_login()now raisesClickExceptionif tea is not installed (was: skip silently). Runmake install-toolsfirst.Missing Vikunja task is now fatal
post_merge.py:resolve_task_id()raisesClickExceptionwhen task not found (was: warn and returnNone). Every merged PR must have a Vikunja task.auto_merge.py:get_vikunja_task_title()raisesClickExceptionwhenVIKUNJA_TOKENis set but task is not found (was: return empty string and skip validation). Local dev without token still skips.CI workflow updates
post-merge.yml: All Notify-on-failure steps now ensure~/.local/binis on PATH. Thevikunjaandconfigure-repojobs (which don't runmake setup) now install tea and configure login before callingnotify_failure.py.Test Coverage
All 797 tests pass with 100% coverage.
Automated PR Review
No issues found by automated checks.
Auto-merge: If all CI checks pass, this PR will be merged automatically.