Skip to content

Feature/bencher accuracy tracking - #223

Closed
jenskeiner wants to merge 35 commits into
developfrom
feature/bencher-accuracy-tracking
Closed

Feature/bencher accuracy tracking#223
jenskeiner wants to merge 35 commits into
developfrom
feature/bencher-accuracy-tracking

Conversation

@jenskeiner

Copy link
Copy Markdown
Contributor

No description provided.

…he Bencher upload

- emit per-case NDJSON during build-linux's make check (serial -> *.ndjson,
  OpenMP -> *.ndjson.threads with openmp:1); no separate test re-run
- add runtime (serial/omp) axis to the converter metric name
- new environment-gated bencher-upload job (PRs gated, develop auto); project nfft
- remove redundant bench-accuracy-linux.yml; update ADR-0004, docs, CONTEXT, plan
Route the upload job to a branch-restricted 'bencher-baseline' environment on
push (auto baseline) and the reviewer-gated 'benchmarks' on PR/dispatch, so the
API key lives only as an environment secret in those two environments rather
than as a repo-wide secret.
@codspeed-hq

codspeed-hq Bot commented Jun 29, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 132 untouched benchmarks


Comparing feature/bencher-accuracy-tracking (2698504) with develop (56ea7dc)

Open in CodSpeed

Route only fork pull_requests through the reviewer-gated 'benchmarks'
environment; push, same-repo PRs, and workflow_dispatch go unattended through
'bencher-baseline'. CodSpeed (bench-linux.yml) is untouched.
bencher run's deprecated --token reads the BENCHER_API_TOKEN env var and
validates it as a JWT. Setting that var made --token reject the (non-JWT)
project-scoped bencher_run_* key at arg-parse time, failing the upload even
though we pass --key. Expose the secret as BENCHER_API_KEY instead; the GitHub
secret keeps the name BENCHER_API_TOKEN (no rename needed). Verified with a real
upload to project nfft.
Comment thread tests/bench/test_clis.py Fixed
Comment thread tests/bench/test_clis.py Fixed
Comment thread tests/bench/report.py Fixed
Comment thread tests/bench/test_clis.py Fixed
Comment thread tests/bench/test_diff.py Fixed
@jenskeiner
jenskeiner temporarily deployed to bencher-baseline June 30, 2026 11:43 — with GitHub Actions Inactive
@github-actions

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown

Accuracy report

No develop baseline yet to compare against — showing this PR's absolute accuracy. A baseline appears once changes land on develop.

absolute heatmap

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
… in a list'

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
The shopt -s nullglob added earlier made `ls base-bmf/*.bmf.json` expand to no
args -> `ls` listed the cwd and falsely succeeded, so the script always took the
with-baseline branch and diffed the PR against an EMPTY baseline -> a misleading
'Accuracy: 0 cases unchanged' with no heatmap link. Use an array-length check
(empty array under nullglob) instead, in both the PR and fork scripts.
Comment thread tests/bench/test_diff.py

import pytest

from diff import DiffResult, diff, digits, load_bmf_tree
@jenskeiner
jenskeiner temporarily deployed to bencher-baseline June 30, 2026 12:08 — with GitHub Actions Inactive
@jenskeiner

Copy link
Copy Markdown
Contributor Author

Closing in favor of #224.

@jenskeiner jenskeiner closed this Jun 30, 2026
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.

1 participant