Skip to content

Optionally install/cache Nextflow plugins declared in nextflow.config #255

Description

@edmundmiller

Problem

Workflows that pin plugins in nextflow.config (e.g. plugins { id 'nf-weblog@1.1.2' }) still do a live marketplace download the first time nextflow runs in CI. That download is flaky under load (merge queues, parallel jobs) and is not covered by this action today.

We hit this in Seqera's gradient-v3 merge queue: PR check passed, then the merge-group check failed with:

Downloading plugin nf-weblog@1.1.2
ERROR ~ Error during download of plugin nf-weblog

Same tip, same workflow — intermittent registry/network failure mid-test because $NXF_HOME/plugins was empty after setup-nextflow.

What would help

Optional inputs on nf-core/setup-nextflow, for example:

  1. plugins — list or multiline of name@version to nextflow plugin install after Nextflow is on PATH (with a couple of retries).
  2. cache-plugins: trueactions/cache (or the action's own cache) for $NXF_HOME/plugins (or the documented plugins dir), keyed on Nextflow version + plugin pins, so cold runners skip the registry when the cache hits.

Reading pins from a checked-out nextflow.config would be ideal so the config stays the single source of truth, but an explicit plugins: input is enough.

Workaround we are using

After this action, a CI step parses nextflow.config and runs nextflow plugin install … with retries before tests: https://github.com/seqeralabs/gradient-v3/pull/458

Happy to bikeshed the input shape if you want this upstream instead of every consumer reinventing it.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions