/release-action

An action which manages a github release

Primary LanguageTypeScriptMIT LicenseMIT

Release Action

This action will create a github release and optionally upload an artifact to it.

Action Inputs

  • allowUpdates: An optional flag which indicates if we should update a release if it already exists. Defaults to false.
  • artifact: An optional set of paths representing artifacts to upload to the release. This may be a single path or a comma delimited list of paths (or globs).
  • artifacts: An optional set of paths representing artifacts to upload to the release. This may be a single path or a comma delimited list of paths (or globs).
  • artifactContentType: The content type of the artifact. Defaults to raw.
  • body: An optional body for the release.
  • bodyFile: An optional body file for the release. This should be the path to the file.
  • commit: An optional commit reference. This will be used to create the tag if it does not exist.
  • draft: Optionally marks this release as a draft release. Set to true to enable.
  • name: An optional name for the release. If this is omitted the tag will be used.
  • prerelease: Optionally marks this release as prerelease. Set to true to enable.
  • tag: An optional tag for the release. If this is omitted the git ref will be used (if it is a tag).
  • token: (Required) The Github token. Typically this will be ${{ secrets.GITHUB_TOKEN }}.

Example

This example will create a release when tag is pushed:

name: Releases

on: 
  push:
    tags:
    - '*'

jobs:

  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    - uses: ncipollo/release-action@v1
      with:
        artifacts: "release.tar.gz,foo/*.txt"
        bodyFile: "body.md"
        token: ${{ secrets.GITHUB_TOKEN }}

Notes

  • You must provide a tag either via the action input or the git ref (i.e push / create a tag). If you do not the action will fail.
  • If the tag of the release you are creating does not exist yet, you should set both the tag and commit action inputs. commit can point to a commit hash or a branch name (ex - master).