nextflow-io / nextflow

A DSL for data-driven computational pipelines
http://nextflow.io
Apache License 2.0
2.74k stars 626 forks source link

`pull` and `run` treat Github usernames as case sensitive on Linux #5280

Open harper357 opened 1 month ago

harper357 commented 1 month ago

Bug report

Expected behavior and actual behavior

I mention both pull and run because that is how I found the bug, but I confirmed it with just pull.

Expected: Calling nextflow pull nextflow-io/hello or nextflow pull Nextflow-io/hello should pull/update the same pipeline.

Actual: Calling these two above commands generates two different folders in $NXF_HOME/assets:

Steps to reproduce the problem

❯ nextflow pull Nextflow-io/hello
Checking Nextflow-io/hello ...
 downloaded from https://github.com/nextflow-io/hello.git - revision: afff16a9b4 [master]

❯ nextflow pull nextflow-io/hello
Checking nextflow-io/hello ...
 downloaded from https://github.com/nextflow-io/hello.git - revision: afff16a9b4 [master]

❯ ls $NXF_HOME/assets/
nextflow-io/ Nextflow-io/

Environment

Additional context

Slack discussion

harper357 commented 1 month ago

@ewels

pditommaso commented 1 month ago

What it could be investigate if there's a way to use the GitHub URI as source of truth to name to local path.

ewels commented 1 month ago

Yup, so taking the first example:

Checking Nextflow-io/hello ...
 downloaded from https://github.com/nextflow-io/hello.git - revision: afff16a9b4 [master]
  1. Nextflow looks for Nextflow-io/hello
  2. Nextflow finds https://github.com/nextflow-io/hello.git
  3. Nextflow creates the assets directory based on the remote name + capitlisation: nextflow-io/hello

This way there will only ever be one capitalisation possible for assets on any given pipeline.