-
Notifications
You must be signed in to change notification settings - Fork 667
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
Spack version & target #4554
Spack version & target #4554
Conversation
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
✅ Deploy Preview for nextflow-docs-staging canceled.
|
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.
Look at the changes Paolo,
if you have questions easiest is to email me directly to my Seqera email.
Thank you!
@@ -57,4 +57,8 @@ class SpackConfig extends LinkedHashMap { | |||
|
|||
throw new IllegalArgumentException("Unexpected spack.channels value: $value") | |||
} | |||
|
|||
String getVersion() { |
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.
this should be implemented as a Wave only option wave.build.spack.version
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.
The reason being that, outside of usage in Wave, Nextflow cannot and should not have control on the version of the host Spack installation
@@ -87,6 +87,8 @@ class WaveClient { | |||
|
|||
private static final String DEFAULT_SPACK_ARCH = 'x86_64' | |||
|
|||
private static final String DEFAULT_SPACK_VERSION = '0.20.0' |
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 would put develop
, or better, it should be consistent with other occurrencies of the default Spack version across the codebase.
3x occurrences in Wave, see seqeralabs/wave#354
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.
And actually, the right thing to do is for those 3 occurrences in the Wave codebase to be parametrised against the Spack Version as received from the Wave Client in Nextflow
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.
Paolo gave green lights for removing the version part of this PR @marcodelapierre
@@ -81,6 +83,8 @@ class WaveAssets { | |||
allMeta.add( this.spackFile?.text ) | |||
allMeta.add( this.projectResources?.fingerprint() ) | |||
allMeta.add( this.containerPlatform ) | |||
allMeta.add( this.spackFile ? this.spackTarget : null ) |
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.
Look at the spack_arch
in the Dockerfile template (same holds for the Singularityfile template): https://github.com/seqeralabs/wave/blob/master/src/main/resources/io/seqera/wave/spack/spack-builder-dockerfile.txt#L27
This has to take the value that comes from the Wave Client here in Nextflow
The ultimate intregration test would be a Spack Wave container build: the email notification from Wave should show in the Dockerfile/Singularityfile both the Spack version (in the builder base image) and the Spack target (further down the way, being the value of the |
@pditommaso FYI see this comment by Alberto on the Wave repo, about the Spack base image in use by the prototype he's building: seqeralabs/wave#354 (comment) |
Closed in favour of #4701 |
This PR adds the ability to handle the Spack version and target architecture when submitting the a container request via Wave.
The Spack target architecture is expected to be specified via the arch directive.
The Spack version is expected to be provided via the Nextlow config file, eg.