Repository navigation
ci: run each eval case's three runs in parallel - #28
Merged
Merged
Conversation
A full run took ~14 min because every run of every case ran one after another. -j 3 runs a case's runs side by side; they share the case's minted access token, which only the GitHub JWT exchange makes single-use. Signed-off-by: Jimisola Laursen <jimisola@jimisola.com>
Owner
Author
|
Closing: cost matters more than wall time here. Running a case's runs in parallel cost ~33% more ($3.63 vs $2.74 for every suite), most likely because the runs stop reusing each other's prompt cache. The workflow stays sequential. |
Owner
Author
|
Reopened: the extra cost (10–30% per case) is acceptable for the faster runs. |
4 tasks done
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.
What & Why
A full eval run (every suite, 19 cases × 3 runs) took ~14 min, because the workflow runs cases one after another and
claude plugin evalran each case's 3 runs one at a time (-jdefaults to 1).-j 3runs them side by side.The case's three runs share the access token minted by its exchange. Only the GitHub JWT is single-use (
check_jti); the access token is reusable for its ~10 min lifetime, and a case at-j 3takes well under that.Cost goes up. Same runs and judge calls, but run side by side they no longer reuse the prompt cache the previous run wrote (most likely cause): nearly every case cost 10–30% more, and judge cost per run roughly doubled.
Test Plan
actionlintcleanclaude plugin validate .grid-rejected-at-full-infillscored 0.6 on one run (case still passes at 0.87).