-
Notifications
You must be signed in to change notification settings - Fork 203
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
take into account custom configuration options specified in easystack file + drop support for easystack files using 'software' top-level key #4057
take into account custom configuration options specified in easystack file + drop support for easystack files using 'software' top-level key #4057
Conversation
…file, each time reconfiguring EasyBuild with EasyConfig-specific options that might be listed in the EasyStack file
…fic arguments from the EasyStack file. This commit should contain a functional implementation of the option support for EasyStack files. Now, we only need to clean it up...
… Probably need to pass more args there...
…nfiguration when reconfigure=True
…at way we can limit to only one 'if options.easystack'
…e we _used_ to have a clean_exit() call. Right after the call to rest_of_main we call clean_exit anyway.
… printing of the warning
… keyword alltogether
… keyword alltogether
run_hook(START, hooks) | ||
|
||
if modtool is None: | ||
# TODO: insert fast loop that validates if all command line options are valid. If there are errors in options, |
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 opened an issue to follow up on this aspect: #4103
…syconfig caches in process_easystack
10bbb3c
to
292498f
Compare
Todo, update documentation: https://github.com/easybuilders/easybuild/blob/develop/docs/Easystack-files.rst edit (by @boegel): see easybuilders/easybuild#832 |
… + remove duplicate blank line in easystack test suite
Merging #3749 caused a merge conflict here, which I've fixed just now. I'll propose some tweaks to the docs update in easybuilders/easybuild#832, so we can get this merged... |
…omly changing order of keys in older Python versions
Replaces #4052
After discussion with @boegel we've decided that the the approach in #4052 is not maintainable. By pushing the loop over the entries in an EasyStack file to
main.py
, and by basically re-executing part ofmain.py
for each item in the EasyStack file, we can properly reinitialize the configuration options for each item (if there are EasyConfig-specific options defined). This has the advantage that we can reuse the existing machinery of things likeset_up_configuration
.It also means that EasyBuild builds a dependency tree per item in the EasyStack file. On the one hand, that is desirable since two items might have different
--from-pr
arguments, and thus the same dependencyA.eb
might in theory resolve to two different PRs depending on the options passed for that item in the EasyStack file. The downside is that since we don't have a single dependency graph, we cannot e.g. submit a single set of jobs with--job
: we'll need to make sure EasyBuild becomes aware of the order in the EasyStack file, and make sure that jobs for later items wait for all jobs of earlier items. That's something we'll implement later though...Note that this is really a work in progress, a lot more functions need to be put in place before this properly works...