Files
openobserve/.github
Neha PandClaude Opus 4.7 10412e91ea ci: add query-agent SQL regression workflow (#12749)
## Summary

Adds a standalone workflow that runs the 672-query SQL regression suite
on-demand against a live OpenObserve instance. Triggered by
`/query-agent` PR comment or manual `workflow_dispatch`.

## How it works

```
/query-agent PR comment (or manual dispatch)
  │
  ├── Job 1: Triage
  │     - Allowlist gate (same engineering team list as council)
  │     - Resolve PR number from comment or dispatch input
  │     - Fetch PR diff, grep for query-engine paths
  │     - Post decision comment (skip/run/dry-run)
  │
  └── Job 2: Run tests (if not skipped + not dry-run)
        - Build OO debug binary (nightly-2026-05-20, mimalloc)
        - Setup Python 3.11 + rye
        - Run compute_counts.py to regenerate expected values
        - Start OO server with ZO_MAX_FILE_RETENTION_TIME=1
        - Run pytest tests/query_agent/ (excluding test_3_vortex.py)
        - Post pass/fail comment on PR
```

## Details

- **Trigger**: Exact `/query-agent` comment on a PR (not `contains`), or
manual dispatch with `pr_number`
- **Runner**: `ubicloud-standard-4` (matches api-testing.yml)
- **Timeout**: triage 10 min, tests 60 min
- **Concurrency**: one run per PR, cancel-in-progress
- **Artifacts**: server logs + pytest logs uploaded on failure, JUnit
XML always

## Test plan
- [ ] Merge to main first (required for comment triggers to take effect)
- [ ] Comment `/query-agent` on a PR with query-engine changes →
workflow runs
- [ ] Comment `/query-agent` on a PR with docs-only changes → triage
skips
- [ ] Non-allowlist user comments `/query-agent` → no reaction
- [ ] Manual dispatch with `dry_run=true` → triage only, no tests

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-18 11:15:45 +00:00
..