-
Notifications
You must be signed in to change notification settings - Fork 205
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
fix support for specifying multiple PRs to --from-pr #3707
fix support for specifying multiple PRs to --from-pr #3707
Conversation
Why is test/framework/easyconfigs/test_ecs/o/OpenBLAS/OpenBLAS-0.3.1-GCC-7.3.0-2.30.eb included in this PR? |
@migueldiascosta The fact that you need to add the |
for pr in from_pr_list: | ||
pr_files.extend(fetch_easyconfigs_from_pr(pr)) | ||
pr_files.extend(fetch_easyconfigs_from_pr(pr, path=os.path.join(tmpdir, 'files_pr%s' % pr))) |
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.
Just changing this here is not enough, and even incorrect (that's why you found yourself having to add the OpenBLAS
easyconfig to the tests to make things work).
There's a hidden shared path between alt_easyconfig_paths
(which was tweaked in #3605 to take into account multiple PR #s, so you get a path like /.../files_pr123_456
when using --from-pr 123,456
), which then gets set as the value for the pr_path
build option. This is then used in fetch_files_from_pr
to determine the default value for the easyconfigs being pulled from a PR (which you're overriding here).
So if we spread easyconfigs from PRs over multiple paths, we have to take that into account in alt_easyconfig_paths
too, or we ensure that all those paths get injected into the robot search path correctly (which is done via the result produced by det_robot_path
in set_up_configuration
)...
I've fixed the issue by downloading the files of each PR into a separate directory, and adding all those to the robot search path. That way there can't be any clashes between the files from multiple PRs, and order is retained. It's not perfect, because for files that already exist in Re-engineering this to correctly "merge" them multiple PRs in a single view and covering all possible cases of clashes between the multiple PRs won't be easy... |
I'll go ahead and merge this, despite having touched quite a bit of stuff here, to avoid that delays the v4.4.0 release any further. @migueldiascosta If there's anything here that concerns you or that you're not happy with, do let me know! |
edit (by @boegel): #3605 was merged while it actually broke the tests for
--from-pr
, but that went unnoticed until after the PR was merged because tests that require a GitHub token are skipped in PRs (to avoid that the token can be leaked via a malicious PR).