Rework of the JuliaPackage easyblock#4146
Conversation
…n_package` as all packages in the environment will be installed
6ac2dc8 to
c325f44
Compare
|
Moved the final setting of
|
| self.include_pkg_dependencies() | ||
| def install_source(self): | ||
| """Add the Julia package source files in the installation directory.""" | ||
| if self.cfg['is_test_dependency']: |
There was a problem hiding this comment.
This looks odd. How does this work? It (may) designate a whole easyconfig as test-only making the files missing from the installed module.
We should avoid:
a) That it is set on anything but a (bundle-)extension
b) That it turns up in extensions of the module.
There was a problem hiding this comment.
Yeah should probably add more checks around that.
Right now i am considering what i want to do with it, and if i should shift this from a flag to single extensions to just treating build-deps as test-only dependencies.
The main thing that i am focusing on now is how feasible it is is re-using deps. It is working but is fairly sensitive. If 2 ECs ships the same Julia package, it is possible that the compile cache will be broken based on load order.
The check i've added right now only works if the 2 ECs are being used as a deps of another.
The other point is that if we go this route every Bundle should ideally define only 1 exts (which begs the question if bundles are needed at all), otherwise we go back to the old intended (but broken way) of just using deps as a fancy way to tell Julia which packages to re-install but not really use the deps themselves (still think that solution might not really allow to load multiple packages at the same time)
Summary of changes
is_test_dependencyEC paramjulia_debugEC paramsubpackages_dirsEC paramJuliaPackagecan't really work with depedencies #4123)Pkg.instantiate()to install all extensions instead of installing them one by one withPkg.developmax_paralleloption)Maybe TODO
JuliaPackagecan't really work with depedencies #4123) so if the dep order is switched w.r.t. the one at build time slow re-compilation might happenNotes
This PRs includes the changes from:
--sanity-check-onlyfor aJuliaBundle#4122JuliaPackage: Allow running tests in a dedicated test_step #4124Fixes:
JuliaPackagecan't really work with depedencies #4123