Don't check for lib and bin paths in sanity check step for each extension - #5221
Conversation
28dfce9 to
adaa37a
Compare
I don't think that's a problem... I don't think people would assume that a check for a non-empty |
|
I've been discussing this with @Crivella on Slack for a while and we tried to find affected EasyConfigs but determining the exact conditions was a bit difficult which is why I opened this as a separate PR so someone else can verify with fresh eyes that a) that list of conditions is correct and complete and b) really doesn't apply to (at least) our easyconfigs.
My first suspicion would be something like PythonBundles: Assuming the packages check for bin & lib the bundle sanity_check_paths might only check for a specific path like some "data/foo" |
I would be quite surprised if any easyconfigs would really make that kind of assumption. And even if they would, nothing would actually break in practice: some sanity check path checks would just not happen anymore, but it wouldn't result in the installation failing. Theoretically, missing paths could be overlooked, but even that is quite unlikely to happen, I would say... |
We currently set defaults for paths checked in sanity check step if:
sanity_check_pathsis not given orenhance_sanity_checkcustom_pathsfrom the easyblock is not given/emptyThis is the case in general, so for a bundle with 100 extensions we will do ~ 200 redundant checks where each will walk the folders to determine if they are empty
This change might miss checking bin & lib now if the easyconfig:
exts_listenhance_sanity_checkis not setsanity_check_pathsis used at the top level and does not include bin & lib or subfolders/files, likebin/toy,lib/pythoncustom_pathswithout such folders/filescustom_pathsor do not check for such folders/filesReason: If e.g. the parent easyconfig/block does pass
custom_pathsthen we will not check the defaults in the parent. And with the change we don't check the default in the extensions anymore and hence may not check it at all.