-
Notifications
You must be signed in to change notification settings - Fork 117
[feat] Support arbitrary Spack environment configuration #2819
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] Support arbitrary Spack environment configuration #2819
Conversation
|
Can I test this patch? |
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## develop #2819 +/- ##
========================================
Coverage 86.77% 86.77%
========================================
Files 60 60
Lines 11356 11361 +5
========================================
+ Hits 9854 9859 +5
Misses 1502 1502
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 in Codecov by Sentry. |
|
Assuming this is moving forwards and there're no name changes, etc, I'm happy to add docs changes for this PR as well. I'm wondering if |
vkarak
left a comment
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.
Hi @jack-morrison, thanks for the PR, I think it makes sense.
I would also add a unit test in test_buildsystems.py that simply checks whether the spack config commands are emitted correctly (there are already some examples that you could use as a template for your unit test).
Regarding the docs, I think the documentation of the config_opts is sufficient. Perhaps, you can also add a comment about this in the Spack build system tutorial.
Addressed & passing locally for me via 48d5706 |
Done via f9bc8e6 |
vkarak
left a comment
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.
Lgtm!
|
ok to test |
reframe.core.buildsystems.Spacksupports settinginstall_tree, but there are many other ways to configure a Spack environment. This proposal introduces support for setting arbitrary Spack environment configuration options. The implementation is nearly identical to howinstall_treeworks.As an example with the changes proposed here, one could set the following:
self.build_system.config_opts = ['concretizer:unify:false']If the configuration option is not already present in the default
spack.yaml, it is added. If the configuration option is present in the defaultspack.yaml, Spack overwrites them with the values given viaspack config add.