Skip to content

Parallelize smoke, full journeys, and agent CI - #606

Merged
rohita5l merged 9 commits into
mainfrom
rohit/integration-stack-4-ci
Sep 15, 2026
Merged

rohita5l merged 9 commits into
mainfrom
rohit/integration-stack-4-ci

Conversation

@rohita5l

@rohita5l rohita5l commented Sep 14, 2026 •

Copy link
Copy Markdown
Collaborator

Runs smoke and the full installed-product suite on relevant same-repository PRs and main pushes. Smoke covers four Hosted configure/TUI and headless cases in two agent jobs. All 45 full journeys run across eight independent runners. The existing e2e suite is split into seven gateway/agent jobs, with each agent job installing its required CLI.

Both matrices disable fail-fast and report aggregate results. Check names are Unit tests, Gateway API tests, Agent launch tests · Agent, Smoke journeys · Agent, and Full journeys · Agent · Group. Full coverage does not depend on a label or manual request. Small test and e2e compatibility gates preserve the exact contexts required by current repository rules, without changing those rules.

Validation:

  • 561 focused unit tests pass with the caller's smart-routing environment flag removed.
  • Real collection proves all 45 integration cases and all 39 existing e2e cases are covered exactly once within each full suite.
  • Smoke selects four cases; manual TUI selection covers all ten TUI cases.
  • Aggregate success/failure/skip/cancellation checks pass for every dispatch mode.
  • actionlint, Ruff, formatting, and git diff --check pass.

The final tracked tree matches #568 plus the requested CI changes byte-for-byte across all 39 changed files. CI will supply live gateway results; none are claimed from local collection. The existing tracing test retains its pre-existing skip.

Live CI at 5f5c074:

  • Unit tests, Gateway API tests, all six Agent launch jobs, both Smoke journey jobs, Installation tests, and the required-check compatibility gates pass.
  • Full integration run: 44 passed, 1 failed across the eight full shards. The run finished in roughly 3 minutes; the slowest full shard took 2m33s.
  • The remaining failure is test_ug_configure_codex_openai_mps: the existing CI workspace returns HTTP 404 / ENDPOINT_NOT_FOUND for Codex model discovery and says codex/v1/models is not enabled for this workspace. No test retry, skip, or weaker assertion was added.
  • Layers Add an isolated installed-product test harness #604 and Add complete Claude and Codex user journeys #605 still have failed earlier e2e checks with Codex 429 rate-limit responses. This stack is not ready to merge until those checks and the full integration gate pass.

Layer 4 of 4. Merge the stack from bottom to top after this layer's full CI passes. Required-check compatibility is preserved for the lower stack layers and other active PRs.

Comment thread .github/workflows/integration.yml Outdated
Base automatically changed from rohit/integration-stack-3-journeys to main September 15, 2026 00:02
@rohita5l
rohita5l force-pushed the rohit/integration-stack-4-ci branch 4 times, most recently from 4573b20 to 44a2ed1 Compare September 15, 2026 02:13
@rohita5l
rohita5l force-pushed the rohit/integration-stack-4-ci branch from 44a2ed1 to 53c97ca Compare September 15, 2026 02:16
@rohita5l
rohita5l merged commit ce887ad into main Sep 15, 2026
22 checks passed
@rohita5l
rohita5l deleted the rohit/integration-stack-4-ci branch September 15, 2026 02:30
rohita5l added a commit that referenced this pull request Sep 15, 2026
## Summary

Replace the six serial full-integration shards with two parallel agent
lanes: one Claude VM and one Codex VM. Each lane installs its agent once
and runs every case for that agent serially.

The last successful #606 CI run took **14m18s**, including **10m50s**
from the first full-journey job starting to the last one finishing:
https://github.com/databricks/unity-gateway/actions/runs/34920527726

The first revision passed all checks in **8m19s**: **5m59s / 42% less
time** than that baseline, retaining all 39 live cases:
https://github.com/databricks/unity-gateway/actions/runs/34921778894

The follow-up also starts integration immediately alongside unit/agent
e2e tests, removing the remaining agent-e2e startup barrier. The final
required merge gate still waits for both suites and requires both to
succeed. The new revision's CI will validate the additional speedup and
increased request overlap.

## Coverage and safety

- Preserve all **39 live cases**: Claude 15, Codex 24. A local
collection audit verified that each lane exactly equals the union of its
previous three shards, and that the lanes are disjoint and cover every
live case.
- Keep all four smoke cases, all three installation checks, and manual
TUI selection of all four TUI cases.
- Unit tests, agent e2e, and integration start independently. Keep
integration's smoke → full barrier, `fail-fast: false`, per-case
isolation/cleanup, evidence uploads, and the required `test` / `e2e`
merge gates.
- At most one full-suite job per agent within a run. Agent e2e and other
PRs still share workspace capacity; this is not a global quota
guarantee.
- No test removals, new skips, retries, weakened assertions, sandbox
changes, production-code changes, or dependency changes.
- Update job/artifact names and local reproduction documentation for the
two lanes.

## Validation

- Clean local Linux ordinary suite: **2,185 passed, 47 existing skips**.
No live integration pass is claimed by that run.
- Exact pytest collection comparison: **39/39 live cases retained**,
plus unchanged four-case smoke/TUI selections.
- Ruff check and format check passed.
- Actionlint with ShellCheck passed.
- `git diff --check` passed.
- Local workflow audit: immediate startup confirmed; all 16
success/failure/skipped/cancelled combinations checked against the final
gate's actual shell command. Only two successful suites pass.
- First revision live CI: all checks and all 39 full-suite cases passed
in **8m19s**.
- Immediate-start revision live CI and timing: pending.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants