Skip to content

feat(docker): bake litellm extra into the docker image - #142

Merged
akshaylive merged 1 commit into
mainfrom
akshaya/include_lite_llm_on_docker
Aug 27, 2026
Merged

feat(docker): bake litellm extra into the docker image#142
akshaylive merged 1 commit into
mainfrom
akshaya/include_lite_llm_on_docker

Conversation

@akshaylive

Copy link
Copy Markdown
Collaborator

Summary

  • Bakes the litellm extra into the docker image alongside codex and antigravity
  • litellm backs the checker_context.api_route.route: litellm judge dispatch — needed in-container since the checker runs there too under DockerRunner isolation, not just on the host
  • All three extras resolve from public PyPI per uv.lock, so no private-index credentials are needed

Test plan

  • make test passes (4367 passed, 2 skipped) before and after rebase onto latest main

The litellm judge dispatch route needs litellm available in-container
since the checker runs there too under DockerRunner isolation, not
just on the host.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

@uipreliga uipreliga left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚢

@akshaylive
akshaylive merged commit 3f4ae36 into main Aug 27, 2026
17 checks passed
@akshaylive
akshaylive deleted the akshaya/include_lite_llm_on_docker branch August 27, 2026 20:24
akshaylive added a commit to UiPath/skills that referenced this pull request Aug 27, 2026
0.11.4 bakes --extra litellm into the coder-eval-agent base image
(UiPath/coder_eval#142), which tests/experiments/*.yaml's litellm-routed
checker_context needs available in-container under driver: docker.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
akshaylive added a commit to UiPath/skills that referenced this pull request Aug 28, 2026
0.11.4 bakes --extra litellm into the coder-eval-agent base image
(UiPath/coder_eval#142), which tests/experiments/*.yaml's litellm-routed
checker_context needs available in-container under driver: docker.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
akshaylive added a commit to UiPath/skills that referenced this pull request Aug 28, 2026
…-eval 0.11.5 (#2864)

* feat(tests): route checker LLM through litellm gpt-5.6-luna via coder-eval 0.11.3

Bump coder-eval to 0.11.3 and set checker_context.api_route defaults
(default/smoke/smoke-windows/nightly/activation experiments) so the
success-checker/judge calls litellm -> gpt-5.6-luna instead of the
built-in default, resolving credentials from CODEX_BASE_URL/CODEX_API_KEY.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* chore(tests): bump coder-eval pin to 0.11.4

0.11.4 bakes --extra litellm into the coder-eval-agent base image
(UiPath/coder_eval#142), which tests/experiments/*.yaml's litellm-routed
checker_context needs available in-container under driver: docker.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(tests): scope checker_context.api_route to per-task, not experiment defaults

Addresses PR #2864 review. coder-eval rejects route: litellm outright on any
task with simulation.enabled or an enabled agent_judge criterion (the
simulator/agent_judge run as real Claude Code subprocesses, incompatible with
an arbitrary litellm-fronted gateway) -- see
orchestrator._reject_litellm_eval_route_if_unsupported. 303 of 359 llm_judge
tasks in this repo have simulation.enabled, so the previous experiment-level
default broke all of them at setup, including one smoke-tagged task
(uipath-maestro-flow/interactive/solution_select.yaml).

- Remove checker_context from experiments/{default,smoke,smoke-windows,
  nightly,activation}.yaml. activation.yaml has zero llm_judge criteria, so
  it gets no replacement.
- Add checker_context.api_route directly to the 56 task YAMLs that have an
  llm_judge criterion and no simulation.enabled -- the only tasks it's safe
  and meaningful for. This also fixes same-ground-headtohead.yaml and
  flow-v2-preview.yaml, which never got the experiment-level block: a
  task-level setting applies under any experiment that runs the task.
- Fix model: azure/gpt-5.6-luna, not the bare id -- litellm resolves an
  unprefixed model to provider `openai`, which would silently ignore the
  Azure-shaped `params.api_version`. Matches coder_eval's own
  TASK_DEFINITION_GUIDE.md example verbatim.
- tests/Makefile: install the litellm extra for local `make install`, and
  point at the new README section for CODEX_BASE_URL/CODEX_API_KEY.
- tests/README.md: document checker_context.api_route, the litellm/
  simulation incompatibility, and what each driver needs (host extra for
  tempdir, baked into the agent image for docker -- coder-eval-agent bags
  it as of 0.11.4).
- smoke-skills.yml: note the one deliberate exception to "the grader stays
  on Claude" now that a few tasks route their own llm_judge through the
  gate's CODEX_* endpoint.

Windows RPA smoke (smoke-rpa-skills.yml) and skill-activation-gate.yml need
no change: no task either runs carries checker_context now that it's
task-scoped. run-coder-eval.yml's docker/Windows jobs already installed the
litellm extra and passed CODEX_BASE_URL/CODEX_API_KEY through.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* revert(tests): restore experiment-level checker_context.api_route default

Reverts e36dce6. The per-task scoping worked around coder_eval
rejecting route: litellm on any task with simulation.enabled or an
enabled agent_judge criterion -- but the real fix belongs upstream.
coder_eval now resolves the simulator's route independently of
checker_context.api_route entirely (Orchestrator.simulator_route), so
route: litellm is safe as an experiment default even with
simulation.enabled: true.

- Restore checker_context.api_route to defaults/{default,smoke,
  smoke-windows,nightly,activation}.yaml, keeping the azure/gpt-5.6-luna
  model fix (bare gpt-5.6-luna resolves to provider openai, which
  silently ignores the Azure-shaped params.api_version).
- Remove the 56 per-task checker_context blocks -- redundant now that
  the experiment default covers every llm_judge task safely.
- tests/Makefile: keep the [litellm] extra for local `make install`
  (still needed for driver: tempdir now that this is the default, not
  a per-task exception).
- tests/README.md: rewrite Checker Context to describe the new
  simulator-decoupled default instead of "set this per-task, never as
  an experiment default." Still calls out that agent_judge + route:
  litellm remains unsupported (no agent_judge criteria in this repo
  today).
- smoke-skills.yml: drop the per-task-exception comment on AGENT_MODEL,
  no longer accurate now that ~all llm_judge tasks route through
  litellm by default, not "a handful."

NOT bumping tests/.coder-eval-version yet -- the coder_eval fix
(simulator_route decoupling) is committed on
akshaya/scope-litellm-route-to-llm-judge but not released. Merging
this against the current 0.11.4 pin would reintroduce the original
CI failure (route: litellm rejected outright on simulation-enabled
tasks). Bump the pin once coder_eval ships a release containing that
fix.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
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