Skip to content
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

Closed
wants to merge 3 commits into from
Closed

Spack version & target #4554

wants to merge 3 commits into from

Conversation

pditommaso
Copy link
Member

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.

spack {
  version = '0.21.0'
}

Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
Copy link

netlify bot commented Dec 3, 2023

Deploy Preview for nextflow-docs-staging canceled.

Name Link
🔨 Latest commit 60f0916
🔍 Latest deploy log https://app.netlify.com/sites/nextflow-docs-staging/deploys/65b8790e5eba250008c7bf4f

Copy link
Contributor

@marcodelapierre marcodelapierre left a 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() {
Copy link
Contributor

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

Copy link
Contributor

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'
Copy link
Contributor

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

Copy link
Contributor

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

Copy link
Contributor

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 )
Copy link
Contributor

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

@marcodelapierre
Copy link
Contributor

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 target: attribute)

@marcodelapierre
Copy link
Contributor

@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)

@marcodelapierre
Copy link
Contributor

Closed in favour of #4701

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants