And could someone share with me what the `.nf-test...
# nf-test
j
And could someone share with me what the
.nf-test/plugins
folder should look like?
m
Copy code
tree ./.nf-test/plugins/
./.nf-test/plugins/
├── 769ef9cb3e09a5479af8ae24f9f6ea54.json
├── nft-anndata
│   └── 0.4.1
│       └── nft-anndata-0.4.1.jar
├── nft-bam
│   ├── 0.6.1
│   │   └── nft-bam-0.6.1.jar
│   └── 0.7.0
│       └── nft-bam-0.7.0.jar
├── nft-compress
│   └── 0.1.0
│       └── nft-compress-0.1.0.jar
├── nft-csv
│   └── 0.1.0
│       └── nft-csv-0.1.0.jar
├── nft-fasta
│   └── 1.0.0
│       └── nft-fasta-1.0.0.jar
├── nft-fastq
│   └── 0.1.0
│       └── nft-fastq-0.1.0.jar
├── nft-utils
│   ├── 0.0.9
│   │   └── nft-utils-0.0.9.jar
│   └── 1.2.1
│       └── nft-utils-1.2.1.jar
└── nft-vcf
    └── 1.0.7
        └── nft-vcf-1.0.7.jar
j
Grrrr wtffdd
m
?
j
Thank you @mashehu
Having problems getting nf-test to run because it keeps getting to download the plugins itself
And even though I can run curl etc myself and can download the jars themselves, nf-test receives a 406 response from GitHub...
And I can't understand why
m
link to a GH action or is are you running it in the land of shadows?
j
And when I ask an LLM apparently if I change the default java http request header it can then get it to work (tested with a shell command)
Shadow land :(
o
Hi, I think I'm having the same issue... When running
nf-test test
, I get:
Copy code
Error: Syntax errors in nf-test config file: java.io.IOException: Server returned HTTP response code: 406 for URL: <https://github.com/nf-core/nft-utils/releases/download/1.2.1/nft-utils-1.2.1.jar>
I first had the error with
nft-utils-0.0.3
(yes I needed to upgrade ^^), but I still have the issue with ``nft-utils-1.2.1``
j
OH SO IT MIGHT NOT BE JUST ME
🤣 1
Where are you running this @oliviercoen?
o
On my laptop, locally
j
Are you on a company network or something?
o
No, I'm not behind any VPN / proxy or whatever
j
Ok I'm now wondering if github has changed something and is blocking java from calling remote URLs because of java by default requesting the wrong headers... Could someone else confirm by trying to install ng-test plugins?
o
I'm now wondering if it might be linked to the critical security hole in PHP that happened yesterday
j
Seems a bit loosely connected but maybe?
o
I don't know, it's just that there were huge network breakdowns yesterday (at least in France), and I'm wondering if some website (like Github) applied security patches yesterday. Even if this is related to PHP, it may impact requests from a general POV
👍 1
j
That could be massive
Maybe*
g
I've been having this same issue as well. Claude tells me this:
Copy code
What a 406 is. "Not Acceptable" means the server can't return the resource in a format the client's Accept header allows.

What's going on here.
- nf-test downloads plugin jars (here nft-utils-1.1.1.jar) using Java's built-in HttpURLConnection. If the caller doesn't set Accept, Java sends its default: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2.
- GitHub redirects release downloads to <http://release-assets.githubusercontent.com|release-assets.githubusercontent.com>. That host now answers 406 to that Java default header, but returns the jar for */*, which is what curl sends.
- I tested both headers against the real URL. */* gave 200 and the Java default gave 406.

I haven't confirmed why GitHub's asset host now rejects that header. My best guess is a recent change on their side, since the old default presumably worked, but I haven't verified that.

The extra problem I hit. The failed download left a directory named nft-utils-1.1.1.jar in the cache. That made later runs fail with "Is a directory", so you'd need to delete it.

Workaround. Download the jar with curl into .nf-test/plugins/nft-utils/<version>/, which is what I did. A fix would belong upstream in nf-test, which would set Accept: */* on the download. I can look for an existing issue or draft one if you want.
🙌 1
a
if you're dealing with this problem like me in the modules repo, just run:
Copy code
rm -rf .nf-test/plugins/nft-anndata/0.4.1/ \
    .nf-test/plugins/nft-bam/0.7.0/ \
    .nf-test/plugins/nft-csv/0.1.0/ \
    .nf-test/plugins/nft-compress/0.1.0/ \
    .nf-test/plugins/nft-fasta/1.0.0/ \
    .nf-test/plugins/nft-fastq/0.1.0/ \
    .nf-test/plugins/nft-vcf/1.0.7/ \
    .nf-test/plugins/nft-utils/1.2.1/
mkdir -p .nf-test/plugins/nft-anndata/0.4.1/ \
    .nf-test/plugins/nft-bam/0.7.0/ \
    .nf-test/plugins/nft-csv/0.1.0/ \
    .nf-test/plugins/nft-compress/0.1.0/ \
    .nf-test/plugins/nft-fasta/1.0.0/ \
    .nf-test/plugins/nft-fastq/0.1.0/ \
    .nf-test/plugins/nft-vcf/1.0.7/ \
    .nf-test/plugins/nft-utils/1.2.1/

wget --header="Accept: */*" <https://github.com/nictru/nft-anndata/releases/download/v0.4.1/nft-anndata-0.4.1.jar> -P .nf-test/plugins/nft-anndata/0.4.1/
wget --header="Accept: */*" <https://github.com/nvnieuwk/nft-bam/releases/download/0.7.0/nft-bam-0.7.0.jar> -P .nf-test/plugins/nft-bam/0.7.0/
wget --header="Accept: */*" <https://github.com/lukfor/nft-csv/releases/download/0.1.0/nft-csv-0.1.0.jar> -P .nf-test/plugins/nft-csv/0.1.0/
wget --header="Accept: */*" <https://github.com/lukfor/nft-compress/releases/download/0.1.0/nft-compress-0.1.0.jar> -P .nf-test/plugins/nft-compress/0.1.0/
wget --header="Accept: */*" <https://github.com/askimed/nft-fasta/releases/download/v1.0.0/nft-fasta-1.0.0.jar> -P .nf-test/plugins/nft-fasta/1.0.0/
wget --header="Accept: */*" <https://github.com/lukfor/nft-fastq/releases/download/v0.1.0/nft-fastq-0.1.0-all.jar> -P .nf-test/plugins/nft-fastq/0.1.0/
cp .nf-test/plugins/nft-fastq/0.1.0/nft-fastq-0.1.0-all.jar .nf-test/plugins/nft-fastq/0.1.0/nft-fastq-0.1.0.jar
wget --header="Accept: */*" <https://github.com/seppinho/nft-vcf/releases/download/v1.0.7/nft-vcf-1.0.7.jar> -P .nf-test/plugins/nft-vcf/1.0.7/
wget --header="Accept: */*" <https://github.com/nf-core/nft-utils/releases/download/1.2.1/nft-utils-1.2.1.jar> -P .nf-test/plugins/nft-utils/1.2.1/
❤️ 2