Skip to content
This repository has been archived by the owner on Mar 8, 2023. It is now read-only.

Merge requests

Matthieu Muffato edited this page May 18, 2022 · 24 revisions

Getting your module ready

Before making a pull request, make sure your module adheres to nf-core's new module guidelines which we follow too. For any questions, concerns or issues, please message either Matthieu (mm49) or Priyanka (ps22).

⚠️ All commands below assume you're in the nf-core-modules directory

Linting

nf-core modules lint <software/tool> --dir .

Repeat the above command till you have all errors resolved.

Testing

TMPDIR=~ PROFILE=singularity pytest --tag <software/tool> --symlink --keep-workflow-wd --git-aware

Submitting your PR

Staging

git add ./modules/<software_tool> ./tests/modules/<software_tool> ./tests/config/pytest_modules.yml

Commit changes

git commit -m "Adding module for <software/tool>. Closes #<issue_number>."

Push changes

git push -u origin <software_tool>

Create a pull-request (PR)

  • Go to https://github.com/sanger-tol/nf-core-modules/compare
  • Set base branch to sanger-tol/nf-core-modules:main
  • Set compare to sanger-tol/nf-core-modules:<software_tool>
  • Click on "Create pull request"
  • Fill out the template. Please check all boxes that apply, it helps with the review. Fill in Closes #XXX, it helps with automation.

Comparing changes

⚠️ If the automated tests that run on GitHub fail, take a look at the log, e.g. https://github.com/nf-core/modules/runs/5019288773?check_suite_focus=true#step:11:3. In this case it says that the output is not what was expected.

CI Testing 1

Click on the "Summary" link in the top left, and then notice the artifact named "logs-conda" in image below. This is an archive of the working and output directories of the job. You can download it and inspect the output.

CI Testing 2

Internal review

The review process is a back and forth collaborative exercise. Once complete, your PR is merged and the issue is closed.


Submitting your nf-core PR

Going through the PR review in nf-core is a personal choice. But creating the PR in nf-core/modules (1) ensures you get the credit if this module is further developed, and (2) helps ensuring that the module that ends up in nf-core is aligned to ours (e.g. input and output names). It's also the way of contributing to a community that helps us out by providing tooling and modules.

Create an issue for a new module

(if you haven't done so already) by going to nf-core/modules

Create a new PR for nf-core/modules

  • Go to https://github.com/nf-core/modules/compare

  • Click compare across forks

  • Set base branch to nf-core/modules:master

  • Set compare to sanger-tol/nf-core-modules:<software_tool>

  • Click on the arrow next to "Create pull request" and select "Create draft pull request"

    Screenshot 2022-05-09 at 12 33 37
  • Fill out the template. Please check all boxes that apply and fill in Closes #XXX.

Review