nf-core / nf-core/tools

modules test on a private modules server requires --git-remote

Open
#3,056 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
322
Forks
255
Avg merge
2d 3h
Merged PRs (30d)
5

Description

Description of the bug

I have setup a private version of the modules repository, with the files in the same sort of structure.
When trying to develop on a clone of that repo, I find that nf-core modules create modulename works fine, but nf-core modules test modulename gives an error:
Cannot find directory 'modules/nf-core/modulename'. Should be TOOL/SUBTOOL or TOOL

screenshot of error message with debug

Adding --git-remote to point at the URL for the repo that I have currently checked out, does indeed work.

I also had issues with nf-core modules lint modulename initially without adding the --git-remote option, but it is currently working for me without adding the --git-remote.

@awgymer on slack said:

Ok it’s this line. Rather than use the org_path it’s choosing to use the self.modules_repo.repo_path value which, I am pretty sure, is just the org_path but for the remote. And since you haven’t explicitly set the remote is defaulted to nf-core.

Command used and terminal output
nf-core modules test modulename
`Cannot find directory 'modules/nf-core/modulename'. Should be TOOL/SUBTOOL or TOOL `
System information
nf-core 2.14.2.dev0
nextflow 24.04.2.5914

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the modules test handling in nf_core/components/components_test.py at lines 126-127, then reproduce nf-core modules test modulename against a private modules repository without --git-remote. Compare the repository path used by modules create and modules lint; done means testing the checked-out private repository works without explicitly passing its remote, with regression coverage for that command.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.