setup-nextflow/README.md

3.8 KiB

Setup Nextflow for GitHub Actions

Testing MIT License GitHub tag (latest by date) Get from GitHub Actions

An action to install Nextflow into a GitHub Actions workflow and make it available for subsequent steps.

Quick start

name: Example workflow
on: push
jobs:
  example:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: nf-core/setup-nextflow@v1
      - run: nextflow run ${GITHUB_WORKSPACE}

Inputs

All inputs are optional! 😎 By default, this action will install the latest stable release of Nextflow. You can optionally pick a different version, or choose to install all versions.

version

default: latest

A version string to specify the version of Nextflow to install. This version number will try to resolve using npm's semantic versioning, so

  • version: 21
  • version: 21.10
  • version: 21.10.6

will all download Nextflow version 21.10.6 as of 13 June 2022. Since Nextflow does not use true semantic versioning, you should always specify at least the minor version (e.g. version: 21.10).

Edge releases are resolved as pre-release, see https://github.com/npm/node-semver#prerelease-tags for more details. In short, in nearly all cases, passing an -edge release to this action will need to specify the exact edge release targeted.

There are three (technically four) aliases to assist in choosing up-to-date Nextflow versions.

  • version: latest-stable (alias version: latest)

    This will download the latest stable release of Nextflow.

  • version: latest-edge

    This will download the latest edge release of Nextflow. Note that edge releases may be older than the latest stable release. See https://github.com/nextflow-io/nextflow/issues/2467

  • version: latest-everything

    This will download the latest release of Nextflow, regardless of stable/edge status.

all

default: false

A boolean deciding whether to download the "all versions" distribution of Nextflow. May be useful for running tests against multiple versions downstream.

token

default: ${{ secrets.GITHUB_TOKEN }}

⚠️ This really shouldn't be changed. If you think this will fix a workflow problem, triple-check everything else first. ⚠️

This action locates the releases based upon the GitHub API, and requires an access token. The default token provided with all GitHub actions should be sufficient for all use cases on GitHub. Valid reasons to change this:

  • GitHub Enterprise server (and only under some configurations)
  • Testing workflows locally with act

Outputs

There are no outputs from this action.

Why was this action made?

Slack link

You may be asking, why not just a few yaml lines?

- name: Install Nextflow
  env:
    NXF_VER: ${{ matrix.NXF_VER }}
  run: |
    wget -qO- get.nextflow.io | bash
    sudo mv nextflow /usr/local/bin/    

The versioning. From the Nextflow install script you can't get latest-edge or latest-everything for example.