-
Notifications
You must be signed in to change notification settings - Fork 415
Collected parse_results*.txt as artifacts from CI run #1867
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
Collected parse_results*.txt as artifacts from CI run #1867
Conversation
This PR is also ready, let me know if anything else is expected. |
@ganeshgore Compared to previous PR, what are the new packages here? |
everything named as |
@vaughnbetz I did look into the changes and also download the artifacts. They do include all the parse_results.txt files. I attached the screenshot so that everyone can find the right place to download easily. I am not the expert on the CI system. If you and @mithro knows anyone who is willing to review the codes here. It will help a lot. |
.github/workflows/test.yml
Outdated
@@ -149,6 +149,13 @@ jobs: | |||
vtr_flow/**/*.net | |||
vtr_flow/**/*.r | |||
|
|||
- name: Upload golden results |
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 don't think it's worth creating an additional step. I would add the file to the list in the existing upload-artifact step.
When these artifacts are used for some specific purpose, then it'd be pertinent to evaluate whether to split it.
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 *_regression_log
artifact was getting bulky and the GitHub artifact download has low bandwidth.
That is why I created a separate artifact for golden results, maybe we can move more frequently needed files (like vtr_flow/**/*.log) also to this artifact. Just for quicker download and debug.
But if you think it is best to combine all in regression_log
I will merge those two runs.
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 point is that artifacts are cumbersome to deal with. The later the worse. Hence, if whatever needs to be done with this txt can be sorted out without uploading it as an artifact, that's desirable. In case uploading as an artifact is required, it'd be desirable to use it in a different step of the same workflow. Having it be an isolated artifact to be manually downloaded should be the worst case approach.
I think that this procedure should be part of this PR. So, instead of uploading the |
I am not sure how to know when
My understanding was it depends on the user to update or not. |
@ganeshgore, see #1866:
|
|
@vaughnbetz can you please be more explicit about this? Assume that the reader is not aware of the internals of VTR. What does it mean "after a failure"? Which tests/jobs do we need to monitor in order to decide that "this is a failure that needs to trigger a golden results update" vs "this is a legit failure of the job/workflow which does not require further action in regard to golden results". |
I don't think we can make this decision automatically. A QoR update happens when:
|
@vaughnbetz, thanks! @ganeshgore, according to the last explanations, I take back my previous suggestion. It is ok to have this file as a separated artifact. |
Thank you @vaughnbetz and @umarcor for your comments.
|
Makes sense to me; thanks. |
Description
This update collects
parse_results*.txt
from CI regression run, which can be analyzed locally or used to replace existing golden results.Related Issue
Addressing issue #1866
Motivation and Context
"It's common to have to update QoR files; we should streamline the process. This would also avoid issues where the CI machines are slower or faster or have libraries that take more memory etc. than someone's server, by generating the new results in CI itself." - from issue #1866
To update golden results, you might be able to do the following
*_golden_results
artifacts and uncompressrsync --recursive downloaded_artifact/ local_task_directory/
parse_vtr_task.py --create_golden
[*Remember to clean local run directory,
parse_vtr_task
collects results from the most recent run, and Step. 2 will updaterun001
by default]How Has This Been Tested?
You can check the test CI run here
https://github.com/ganeshgore/vtr-verilog-to-routing/actions/runs/1317429846#artifacts
Types of changes
Checklist: