Skip to content

Fix nightly benchmark run discovery - #12

Merged
jpfeuffer merged 3 commits into
mainfrom
f5/library-coverage-identifiable-denominator
Oct 11, 2026
Merged

jpfeuffer merged 3 commits into
mainfrom
f5/library-coverage-identifiable-denominator

Conversation

@nej1gotnochill

@nej1gotnochill nej1gotnochill commented Oct 10, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Summary

  • Replace the unsupported gh run list --head_sha option with --commit.
  • Surface CLI configuration and API/authentication errors instead of silently treating failures as empty results.
  • Preserve polling for successful queries where the dispatched benchmark run is not yet visible.

Root cause

The nightly workflow used an unsupported gh run list flag. The command failed on each attempt, but || true suppressed the error. The discovery loop consequently ran for approximately 20 minutes before reporting that no benchmark run appeared.

Validation

  • actionlint -ignore SC .github/workflows/nightly-benchmark.yml passed.
  • PyYAML workflow parsing passed.
  • bash -n checks on the relevant extracted shell blocks passed.
  • git diff --check passed.
  • Six mocked behavioral scenarios passed during the earlier implementation validation.

These results were established during the prior review. No live GitHub CLI query or end-to-end workflow run was performed.

Known limitations

  • Live run discovery has not yet been verified in an authorized GitHub Actions execution.
  • A narrow race remains if main advances between resolving MAIN_SHA and dispatching against ref=main.
  • Existing gh run view error handling and job-timeout budgeting were outside this patch's scope.

Scope

Only .github/workflows/nightly-benchmark.yml is changed. No benchmark implementation, historical results, F5 metrics, or Pages configuration is modified.

Checklist

  • Make sure that you are listed in the AUTHORS file
  • Add relevant changes and new features to the CHANGELOG file
  • I have commented my code, particularly in hard-to-understand areas
  • New and existing unit tests pass locally with my changes
  • Updated or added python bindings for changed or new classes (Tick if no updates were necessary.)

How can I get additional information on failed tests during CI

Click to expand If your PR is failing you can check out - The details of the action statuses at the end of the PR or the "Checks" tab. - http://cdash.seqan.de/index.php?project=OpenMS and look for your PR. Use the "Show filters" capability on the top right to search for your PR number. If you click in the column that lists the failed tests you will get detailed error messages.
### Advanced commands (admins / reviewer only)
Click to expand - `/reformat` (experimental) applies the clang-format style changes as additional commit. Note: your branch must have a different name (e.g., yourrepo:feature/XYZ) than the receiving branch (e.g., OpenMS:develop). Otherwise, reformat fails to push.
--- :warning: Note: Once you opened a PR try to minimize the number of *pushes* to it as every push will trigger CI (automated builds and test) and is rather heavy on our infrastructure (e.g., if several pushes per day are performed).

library_coverage was identified_peptides / library_peptides, where the
denominator counted every declared TraML <Peptide> including ones carrying no
transitions. Such a peptide has no precursor, so no transition and no
native_id a feature could reference: it can never be identified. Including it
capped coverage at a ceiling fixed by library construction rather than by the
tool, so a flawless run reported 0.857143 instead of 1.0.

On the reference fixture the run is already perfect on every other axis
(18/18 transitions, 6/6 precursor m/z, 6/6 peptides); the only unreachable
peptide is PEPTIDEA_Extra, which the vendored upstream test library declares
without transitions.

Keep library_peptides as the full declared count so such an orphan stays
visible, add library_peptides_identifiable and library_peptides_orphan to
report the split explicitly, and divide coverage by the identifiable subset.
No existing metric key is removed or renamed.

BREAKING FOR TRENDS: this changes the MEANING of library_coverage, not just
its accuracy. Historical values are identified/library_peptides and are not
comparable with values recorded after this change. Runs recorded either side
of the change will plot as one series with a step at the change point.

Also render coverage as a percentage rather than a bare scalar, since it is a
fraction of a population and was previously indistinguishable from any other
sub-10 metric, and replace a renderer assertion that compared against a live
_fmt_metric() call with a literal expected rendering so it can actually fail.
Copilot AI balanced review requested due to automatic review settings October 10, 2026 06:54

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 7e54f7f5-cf86-4204-9550-4ec7852ce9af

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The supported CLI option and bounded error handling correctly address the silent discovery failure.

0 open findings

🧠 Review effort: Balanced

@jpfeuffer
jpfeuffer merged commit cfcdc13 into main Oct 11, 2026
2 checks passed
@nej1gotnochill

Copy link
Copy Markdown
Collaborator Author

Thank you for merging this @jpfeuffer , really appreciate the same (; !

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.

3 participants