nf-core / nf-core/tools

Behaviour of lint check `files_unchanged` is different in 3.1.2

Open Beginner friendly
#3,422 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Description of the bug

In previous versions of the tools manifest.author was required for the files_unchanged check and this was checked up front and if it wasn't present the test was skipped (source code).

In 3.1.2 we now pull names from either manifest.author or manifest.contributors (source code). However neither of these are checked for up front now (source code).

This can cause an unhandled error to be raised if neither manifest.author or manifest.contributors is present or if they resolve to an empty string (e.g. if contributors do not have a name field set see: pairgenomealign example).

We should either check for the presence of the author/contributors up front or add a check at the point of determination of names to similarly ignore the lint test.

Command used and terminal output

System information

No response

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 in nf_core/pipelines/lint/files_unchanged.py, comparing the earlier and 3.1.2 implementations around the upfront metadata check and the determination of names. Add coverage for missing or empty manifest.author and manifest.contributors values, and confirm the files_unchanged lint test is ignored instead of raising an unhandled error.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.