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
Allow running benchmarks from a different repo #370
Conversation
063c843
to
6bbeb8d
Compare
6bbeb8d
to
9ab5277
Compare
3fc8316
to
b873e47
Compare
|
With 26 files changed, this is a hard PR to review without context. Can you elaborate on what your goals were? |
Yes, apologies @ElectreAAS ! I just cleaned-up an old work-in-progress PR, and didn't realize that there's not enough context for a review. Thanks for flagging this! :) The PR aims to allow having benchmarks in a different repository from the actual code that is being benchmarked. The original work was done to allow having the benchmarks for With these changes, |
b873e47
to
f31de70
Compare
|
I just rebased on |
|
The current approach tries to support having the benchmarks in a completely different repository, and some configuration on Currently, we plan to run the benchmarks on Thoughts @art-w , @ElectreAAS ? |
| match conf.Config.target_name with | ||
| | Some name -> ("TARGET_NAME=" ^ name) :: build_args | ||
| | _ -> build_args | ||
| in |
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.
I'm not sure I understand the motivation for the new fields in the configuration? (can't we just configure the existing conf.Config.build_args appropriately?)
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.
The additional metadata would make it easier to update the corresponding DB fields, before a benchmark run has finished and the JSON is ready.
|
Hm yes I see what you mean with the shenanigans hmhm. I like the idea of configuring on our end that the |
To support running benchmarks from a different repository than the original repository, we allow specifying the name and the version of the original (target project) in the benchmarks config. We capture this version to a separate column in the benchmarks table in the DB and can be displayed in the front-end.
target_version and target_name are parsed from the JSON output of the benchmarks run, but this information comes too late. The DB has unique constraints on (repo_id, commit, worker and docker_image) on the metadata table to detect duplicate runs. This makes it tricky to configure benchmark runs for a project where the benchmark repository is separate from the code repository. Including the target_version in the unique constraint above would allow this.
f31de70
to
8f0ff0b
Compare
|
I rebased again on |
I implemented something on these lines in #427 |
|
Closed in favor of #427 |
This is a PR that corresponds to the changes in tarides/ocaml-benching#2. This is still a WIP for the UI/frontend, but the backend plumbing should be in place.