Skip to content

Commit

Permalink
Make container image configurable via parameter (#33)
Browse files Browse the repository at this point in the history
docker.io has very limited free tier usage. Therefore this pipeline
fails because it is unable to pull images from dockerhub unless
credentials are supplied.

This PR switches to using quay.io which has much higher limits and is
therefore easier to use out of the box.

It also switches ubuntu from version 23.10 to 24.04.

Closes #32

---------

Co-authored-by: Adam Talbot <[email protected]>
  • Loading branch information
maxulysse and adamrtalbot authored Feb 28, 2025
1 parent c818260 commit cd458e9
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 1 deletion.
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,14 @@ Configure your infrastructure using the appropriate configuration files listed i

nf-canary adheres to the `--outdir` convention established by [nf-core](https://nf-co.re/) to determine the output file destination. If not specified, output files are written to the work directory under a subfolder named `outputs`.

### Overriding default container

The container is specified by the `container` parameter, which defaults to `quay.io/biocontainers/ubuntu:24.04`. If you wish to use a different container, you can specify an alternative using the --container parameter.

```nextflow
params.container = 'docker.io/ubuntu:24.04'
```

### Skipping Tests

Skip individual tests by name using the `--skip` parameter, e.g., `--skip TEST_INPUT`. Multiple tests can be specified with comma-delimited values, e.g., `--skip TEST_CREATE_FILE,TEST_PASS_FILE`. The parameter is case-insensitive.
Expand Down
3 changes: 2 additions & 1 deletion nextflow.config
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ params {
run = null
outdir = null
remoteFile = null
container = "quay.io/biocontainers/ubuntu:24.04"
}

process {
container = "docker.io/library/ubuntu:23.10"
container = params.container
errorStrategy = "finish"
when = {
( params.run ? params.run.split(',').any{ "NF_CANARY:${it.toUpperCase()}".contains(task.process) } : true ) &&
Expand Down
6 changes: 6 additions & 0 deletions nextflow_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@
"help_text": "Path to a remote file to use within the pipeline. This mimics a remote set of files such as reference data that may need to be retrieved prior to analysis. By default this is not specified and the test is not ran, add a remote file using standard Nextflow filenaming to pull a file from your storage (e.g. an S3 bucket or shared storage).",
"format": "path"
},
"container": {
"type": "string",
"description": "Container URI for nf-canary",
"help_text": "Specifies the container URI. By default, this is an Ubuntu container on quay.io with no usage limits.",
"default": "quay.io/biocontainers/ubuntu:24.04"
},
"gpu": {
"type": "boolean",
"description": "Whether to test GPU utilization within a process."
Expand Down

0 comments on commit cd458e9

Please sign in to comment.