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.
maint-86: prepare (not auto-apply) verifier model promotions (#2819 move 3) #2834
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uh oh!
There was an error while loading. Please reload this page.
maint-86: prepare (not auto-apply) verifier model promotions (#2819 move 3) #2834
Changes from all commits
44d1d27File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In
maint-86-model-promotion-prepare.yml, this pipeline returnstee's status becausepipefailis not enabled, so a successful preparation where Python exits 10 recordsrc=0and the PR step at line 70 never runs; input errors are likewise swallowed. Capture${PIPESTATUS[0]}or enableset -o pipefailbefore reading the status.Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🩺 Stability & Availability | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: stranske/Workflows
Length of output: 1923
🌐 Web query:
GitHub Actions default shell ubuntu-latest bash --noprofile --norc -eo pipefail unspecified shell documentation💡 Result:
In GitHub Actions, the command used to execute bash script steps depends on whether you specify the shell explicitly [1]. If you do not specify a shell (i.e., it is unspecified/default), GitHub Actions uses the following command on Linux and macOS [1]: bash -e {0} If you explicitly specify shell: bash, GitHub Actions uses a more restrictive set of flags [1]: bash --noprofile --norc -eo pipefail {0} The differences between these two are significant: 1. --noprofile --norc: When shell: bash is specified, these flags are included to ensure a clean shell environment by preventing the loading of system-wide or user-specific profile/initialization files (e.g., ~/.bashrc, ~/.profile) [2][3][4]. The default/unspecified shell does not explicitly include these flags [1]. 2. pipefail: When shell: bash is specified, -o pipefail is enabled [5][1]. This causes a pipeline to return a non-zero exit code if any command in the pipeline fails [5]. The default/unspecified shell (-e only) only tracks the exit code of the final command in the pipeline [6][1]. In both cases, the -e (errexit) flag is used, which causes the step to exit immediately if a command returns a non-zero status [5][6][2]. Top results: [5][6][1]
Citations:
Capture the pipeline exit code explicitly
rc=$?here readstee’s status because the step uses the default Linux shell (bash -e), so both therc == 2error path and therc == 10promotion gate can be skipped. Userc=${PIPESTATUS[0]}or set the step toshell: bash.🤖 Prompt for AI Agents
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win
Missing coverage for latency tie-break and multi-provider selection.
find_promotionsdocuments "cheapest, then lowest-latency" per-provider winner selection and iterates across all providers in the report, but no test here exercises the latency tie-break (two same-family candidates with equal cost) or a report with two different providers each qualifying for an independent promotion. These are exactly the branches the "one winner per provider" sort key (candidate_cost,p95_latency_ms or float("inf"),to_model_id) is meant to protect.As per path instructions, "Prioritize correctness, error handling, and test coverage. Flag new or changed behavior with no accompanying test."
🤖 Prompt for AI Agents
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.