Skip to content
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

feat(source): introduce type skeleton and prototypes for context-awar… #510

Merged
merged 27 commits into from
Nov 3, 2022

Conversation

simbuerg
Copy link
Member

@simbuerg simbuerg commented Oct 3, 2022

…e version enumeration.

This introduces a (currently) non-working stage of context-aware version enumeration.

The main idea will be a 2-phase design for version enumeration:

  • Phase 1: Enumerate all context-free sources, i.e., sources that do not need to know anything about the context they are being enumerated in.

  • Phase 2: Iterate over all versions from Phase 1 and feed each resulting variant context into all context-sensitive sources. These may provide a new list of versions for each context they are given.

The resulting list of variant context objects will be iterated on by benchbuild just as before.

Integration for CLI is pending. In essence, all sampling and filtering should be possible on the new enumeration just as before.

…e version enumeration.

This introduces a (currently) non-working stage of context-aware version enumeration.

The main idea will be a 2-phase design for version enumeration:

* Phase 1: Enumerate all context-free sources, i.e., sources that do not need to know anything about the context they are being enumerated in.

* Phase 2: Iterate over all versions from Phase 1 and feed each resulting variant context into all context-sensitive sources.
These may provide a new list of versions for each context they are given.

The resulting list of variant context objects will be iterated on by benchbuild just as before.

Integration for CLI is pending. In essence, all sampling and filtering should be possible on the new enumeration just as before.
Use from benchbuild import source, instead of directly accessing source.base.
@codecov
Copy link

codecov bot commented Oct 3, 2022

Codecov Report

Base: 50.74% // Head: 52.23% // Increases project coverage by +1.49% 🎉

Coverage data is based on head (6702cc1) compared to base (cd65176).
Patch coverage: 59.48% of modified lines in pull request are covered.

❗ Current head 6702cc1 differs from pull request most recent head ca716b1. Consider uploading reports for the commit ca716b1 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #510      +/-   ##
==========================================
+ Coverage   50.74%   52.23%   +1.49%     
==========================================
  Files         124      124              
  Lines        8207     8304      +97     
  Branches     1274     1025     -249     
==========================================
+ Hits         4165     4338     +173     
+ Misses       3882     3789      -93     
- Partials      160      177      +17     
Impacted Files Coverage Δ
benchbuild/cli/project.py 53.57% <0.00%> (-1.31%) ⬇️
benchbuild/projects/gentoo/portage_gen.py 25.58% <ø> (ø)
benchbuild/utils/actions.py 54.50% <ø> (-1.21%) ⬇️
benchbuild/utils/db.py 60.63% <25.00%> (ø)
benchbuild/project.py 57.95% <41.02%> (-2.05%) ⬇️
benchbuild/source/versions.py 62.50% <50.00%> (-4.17%) ⬇️
benchbuild/source/base.py 70.10% <57.30%> (-12.04%) ⬇️
benchbuild/projects/test/test.py 60.19% <64.17%> (+6.34%) ⬆️
benchbuild/experiment.py 81.90% <75.00%> (ø)
benchbuild/environments/entrypoints/cli.py 85.52% <100.00%> (+1.31%) ⬆️
... and 17 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

@simbuerg simbuerg marked this pull request as ready for review October 27, 2022 23:49
@simbuerg simbuerg requested a review from vulder October 27, 2022 23:49
@simbuerg simbuerg merged commit 7974e3b into master Nov 3, 2022
@simbuerg simbuerg deleted the simbuerg/2-phase-source-enumeration branch November 3, 2022 22:22
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.

2 participants