diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..51680b5 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,19 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [1.0.0] - 2022-06-13 + +### Added + +- NodeJS GitHub Action to download and install Nextflow +- GitHub Actions workflow to test Nextflow installation and downstream usage +- Documentation and license files + +[unreleased]: https://github.com/MillironX/setup-nextflow/compare/v1.0.0...HEAD +[1.0.0]: https://github.com/MillironX/setup-nextflow/releases/tag/v1.0.0 diff --git a/README.md b/README.md new file mode 100644 index 0000000..00a0a5d --- /dev/null +++ b/README.md @@ -0,0 +1,76 @@ +# Setup Nextflow for GitHub Actions + +[![Testing](https://github.com/MillironX/setup-nextflow/actions/workflows/example.yml/badge.svg)](https://github.com/MillironX/setup-nextflow/actions/workflows/example.yml) +[![MIT License](https://img.shields.io/github/license/MillironX/setup-nextflow?logo=opensourceinitiative)](https://github.com/MillironX/setup-nextflow/blob/master/LICENSE) +[![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/MillironX/setup-nextflow?logo=github)](https://github.com/MillironX/setup-nextflow/releases/latest) +[![Get from GitHub Actions](https://img.shields.io/static/v1?label=actions&message=marketplace&color=green&logo=githubactions)](https://github.com/marketplace/setup-nextflow) + +An action to install [Nextflow](https://nextflow.io) into a GitHub Actions workflow and make it available for subsequent steps. + +## Quick start + +```yaml +name: Example workflow +on: push +jobs: + example: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + distribution: "temurin" + java-version: "11" + - uses: MillironX/setup-nextflow@v1 + with: + version: "21.10" + all: false + token: ${{ secrets.GITHUB_TOKEN }} + - run: nextflow help +``` + +## Inputs + +### `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](https://github.com/npm/node-semver), 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 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 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. + +## Outputs + +There are no outputs from this action.