Skip to content

Modules versioning issues #208

@levje

Description

@levje

Describe the bug
The bug happened when running nf-tractoflow after the "T1_REGISTRATION:REGISTRATION_ANATTODWI" module. We get a cryptic error that there seems to be a YAML-related issue, but the error does seem to happen directly in the module, but rather somewhere else in the Groovy (I don't know exactly where, but I don't think it matters anyway).

Solution I found:

# This is the current way that the ants version is extracted
ants: \$(antsRegistration --version | grep "Version" | sed -E 's/.*v([0-9.a-zA-Z-]+).*/\\1/')
# Which outputs the following line (which violates YAML's syntax):
# ants: ANTs Version: 2.5.4-g8d891c2

# This is the new way that I can extract the version without causing YAML issues:
ants: \$(antsRegistration --version | grep "Version" | sed -E 's/.*: v?([0-9.a-zA-Z-]+).*/\1/')
# Which outputs the following line (which is OK!):
# ants: 2.5.4-g8d891c2

Looking at the way we are versioning the modules within each nf-neuro module, I see that the dependencies listed in the versions.yml are never quoted "". Should this not be the case to avoid edge cases overall?

Even thought I found a solution to the bug I reported above, I am posting this as an issue so that we might have a consensus on what I should do:

  1. Just fix the ants version extraction for "T1_REGISTRATION:REGISTRATION_ANATTODWI" which solves my issue and it's good enough?
  2. Just fix the ants version extraction everywhere?
  3. Fix the ants version extraction AND make every version within quotes?

Screenshots
Here is the cryptic error that we get if there's a problem with the version.yml, even thought the process seems to successfully terminate.
Image

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions