Repository navigation
ci: register codex eval workflows on main - #13
Merged
Merged
Conversation
GitHub Actions registers workflow_dispatch workflows from the default branch only. Merging the two manual-codex-judge*.yml files to main makes them visible in the Actions tab so they can be dispatched against the feat/codex-eval-backend branch (which carries the codex driver, conftest changes, and test scenarios) without having to merge that branch first. Same pattern as the copilot registration PR. Both workflows are workflow_dispatch only — no push/PR triggers, so this merge cannot kick anything off on its own. They depend on skills-evals files that don't exist on main; running them against main would fail at the pytest step. They are only meaningful when dispatched with ref=feat/codex-eval-backend. Signed-off-by: Tanzim Saqib <[email protected]>
tsaqib
added a commit
that referenced
this pull request
May 26, 2026
PR #13 landed the pre-hook version of the two manual-codex-judge*.yml files on main as a workflow-registration commit. The feat branch already carries the post-hook version (callbacks + PYTHONPATH). Take the feat version wholesale — main's variant has nothing that isn't also in feat. Signed-off-by: Tanzim Saqib <[email protected]>
4 tasks done
tsaqib
added a commit
that referenced
this pull request
May 26, 2026
GitHub Actions registers workflow_dispatch workflows from the default branch only. Merging the two manual-opencode-judge*.yml files to main makes them visible in the Actions tab so they can be dispatched against the opencode-evals branch (which carries the opencode driver, conftest changes, and test scenarios) without having to merge that branch first. Same pattern as the codex (#13) and copilot registration PRs. Both workflows are workflow_dispatch only — no push/PR triggers, so this merge cannot kick anything off on its own. They depend on skills-evals files that don't exist on main; running them against main would fail at the pytest step. They are only meaningful when dispatched with ref=opencode-evals. Signed-off-by: Tanzim Saqib <[email protected]>
This was referenced May 26, 2026
tsaqib
added a commit
that referenced
this pull request
May 26, 2026
Roll forward the two manual-codex-judge*.yml files on main to match what feat/codex-eval-backend currently carries. Workflow_dispatch parses the YAML from main, so the iterative fixes on the feat branch weren't visible to the Actions tab until this lands. Cumulative changes since the initial registration in #13: - Install LiteLLM proxy via `uv tool install` (was pip+setup-python). - Drop a `cp .../litellm_proxy_hooks.py /tmp/litellm/` step so LiteLLM can resolve the hook module (it looks relative to the config file's directory, not PYTHONPATH). - Register the hook via `litellm_settings.callbacks` so non-function tools (codex's namespace / MCP groupings) are stripped before forwarding to DeepSeek. - Set `reasoning_effort: none` on both deepseek-v4-* models so thinking mode is disabled and codex doesn't have to round-trip `reasoning_content` (which it doesn't know about). - Move `setup-uv` above the litellm step so `uv tool` is available for the proxy install; remove the obsolete `setup-python` step. Workflows remain `workflow_dispatch:` only and depend on skills-evals code (driver, hook, tests, conftest changes) that lives only on feat/codex-eval-backend. Dispatch them with ref=feat/codex-eval-backend until #11 merges. Signed-off-by: Tanzim Saqib <[email protected]>
tsaqib
added a commit
that referenced
this pull request
May 26, 2026
* ci: register kilo eval workflows on main GitHub Actions registers `workflow_dispatch` triggers from the default branch only. Until `manual-kilo-judge.yml` exists on `main`, it won't show up in the Actions tab and `gh workflow run` will refuse it — even when targeting the feature branch that holds the implementation. This is the small focused PR described in `docs/internal/adding-agent-eval-backend.md` §6, same shape as PR #12 (copilot) and PR #13 (codex). The file is copied verbatim from `feat/kilo-eval-backend` (PR #16). No code changes, no test changes, no doc changes. Safe to merge now: - `workflow_dispatch:` only — no push / pull_request / schedule triggers, so merging this PR cannot run anything on its own. - The job depends on skills-evals files (`kilo_driver.py`, `test_kilo_*.py`, the `X_X_AGENT_UNDER_TEST`-aware conftest) that don't exist on `main` yet. Dispatching against `main` would fail at the pytest step; the workflow is only meaningful when dispatched with `ref=feat/kilo-eval-backend`. - No new secrets. `DEEPSEEK_API_KEY` is already configured for the other manual-*-judge workflows. After merge: open Actions, pick "manual / kilo code <- llm judge", set **Use workflow from: feat/kilo-eval-backend**, and dispatch. Signed-off-by: Tanzim Saqib <[email protected]> * ci: add user-scope variant to the kilo registration Mirrors the project-scope manual-kilo-judge.yml with X_X_INSTALL_SCOPE=user added so `x-x init` lands skills under ~/.kilo/skills/ instead of <workspace>/.kilo/skills/. Matches the existing claude/codex/copilot patterns where every backend ships both scope variants. Same merge-safety story as the project-scope file: workflow_dispatch only, depends on skills-evals files from feat/kilo-eval-backend (#16) that aren't on main yet, no new secrets. Signed-off-by: Tanzim Saqib <[email protected]> --------- Signed-off-by: Tanzim Saqib <[email protected]>
tsaqib
added a commit
that referenced
this pull request
May 26, 2026
* ci: sync codex eval workflows on main with latest fixes Roll forward the two manual-codex-judge*.yml files on main to match what feat/codex-eval-backend currently carries. Workflow_dispatch parses the YAML from main, so the iterative fixes on the feat branch weren't visible to the Actions tab until this lands. Cumulative changes since the initial registration in #13: - Install LiteLLM proxy via `uv tool install` (was pip+setup-python). - Drop a `cp .../litellm_proxy_hooks.py /tmp/litellm/` step so LiteLLM can resolve the hook module (it looks relative to the config file's directory, not PYTHONPATH). - Register the hook via `litellm_settings.callbacks` so non-function tools (codex's namespace / MCP groupings) are stripped before forwarding to DeepSeek. - Set `reasoning_effort: none` on both deepseek-v4-* models so thinking mode is disabled and codex doesn't have to round-trip `reasoning_content` (which it doesn't know about). - Move `setup-uv` above the litellm step so `uv tool` is available for the proxy install; remove the obsolete `setup-python` step. Workflows remain `workflow_dispatch:` only and depend on skills-evals code (driver, hook, tests, conftest changes) that lives only on feat/codex-eval-backend. Dispatch them with ref=feat/codex-eval-backend until #11 merges. Signed-off-by: Tanzim Saqib <[email protected]> * fix: disable deepseek thinking via extra_body, not reasoning_effort Same fix as on the feat branch — reasoning_effort=none was ignored (DeepSeek's schema only accepts "high" or "max"). The actual disable is `thinking: { type: "disabled" }` passed via extra_body so LiteLLM merges it into the upstream request body. Signed-off-by: Tanzim Saqib <[email protected]> --------- Signed-off-by: Tanzim Saqib <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the two
manual-codex-judge*.ymlworkflow files (project + user scope) tomainso they show up in the Actions tab and can be dispatched against thefeat/codex-eval-backendbranch (#11) — without merging that branch's larger code changes (codex driver, conftest refactor, four pytest scenarios) yet.This is the workflow-registration pattern documented at
docs/internal/adding-agent-eval-backend.md:172-180. Same shape as the earlierci: register copilot eval workflows on mainPR.Why this is safe to merge immediately
workflow_dispatch:only — nopush:/pull_request:/schedule:triggers. Merging this PR cannot kick anything off on its own.codex_driver.py,test_codex_*.py, theX_X_AGENT-aware conftest) that don't exist onmain. Running them againstmainwould fail at the pytest step. They are only meaningful when dispatched withref=feat/codex-eval-backend.DEEPSEEK_API_KEY(already configured). No new secrets.After merge
Once this lands, the Actions tab will show manual / codex cli <- llm judge and manual / codex cli <- llm judge (user scope). Pick either, set
Use workflow from: feat/codex-eval-backend, and dispatch.