Skip to content

Conversation

@scheibelp
Copy link
Collaborator

@scheibelp scheibelp commented Jan 16, 2026

Define a repos.yaml like:

repos:
  experiments:
  - ../experiments
  - ../experiments/test

in <benchpark_root>/config to customize where experiment definitions are pulled from.

Benchpark can pull config from one location, with the following priority (highest first):

  • benchpark -C <dir>...
  • If CWD where you call benchpark has benchpark-config directory
  • If <benchpark_root>/config is a directory (this must exist if the first two don't)

More generally:

  • Add a rudimentary YAML-based config system to benchpark
  • Define a Repos section
    • Benchpark now uses this repos config to instantiate experiments and systems repos for benchpark itself, and packages/applications repos for Spack/Ramble
  • Accommodates other possible sections
    • These sections support property-like access in python (but that assume the property exists, which they all should in the case of repos config)

TODOs

  • several files are called repos.yaml or repo.yaml w/ different purposes, maybe I should call this new one something different
  • schema validation
  • Consolidate with benchpark bootstrapping config (currently gets consumed via a different mechanism, lives in a file in configure.yaml)

@github-actions github-actions bot added feature New feature or request experiment New or modified experiment labels Jan 16, 2026
@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 88.46154% with 12 lines in your changes missing coverage. Please review.
✅ Project coverage is 63.78%. Comparing base (cbd6973) to head (b1714b9).

Files with missing lines Patch % Lines
lib/benchpark/config.py 86.56% 9 Missing ⚠️
lib/main.py 75.00% 3 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1190      +/-   ##
===========================================
+ Coverage    63.09%   63.78%   +0.69%     
===========================================
  Files           45       46       +1     
  Lines         3433     3518      +85     
  Branches       264      276      +12     
===========================================
+ Hits          2166     2244      +78     
- Misses        1258     1265       +7     
  Partials         9        9              
Files with missing lines Coverage Δ
experiments/test/saxpy/experiment.py 50.00% <ø> (ø)
lib/benchpark/cmd/setup.py 88.48% <100.00%> (+1.08%) ⬆️
lib/benchpark/paths.py 86.36% <100.00%> (+0.64%) ⬆️
lib/benchpark/repo.py 74.24% <100.00%> (+1.93%) ⬆️
lib/main.py 55.22% <75.00%> (+1.41%) ⬆️
lib/benchpark/config.py 86.56% <86.56%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

experiment New or modified experiment feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants