.github/workflows | ||
src | ||
test | ||
.eslintignore | ||
.eslintrc.json | ||
.gitattributes | ||
.gitignore | ||
.prettierignore | ||
.prettierrc.json | ||
action.yml | ||
CHANGELOG.md | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json |
Setup Nextflow for 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.2.0
- 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
(aliasversion: 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?
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.