Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
download

GitHub Action

release-downloader

v1.6

release-downloader

download

release-downloader

Download release assets from private or public github repositories

Installation

Copy and paste the following snippet into your .yml file.

              

- name: release-downloader

uses: robinraju/[email protected]

Learn more about this action in robinraju/release-downloader

Choose a version

Github Release Downloader

CI

A Github Action to download assets from github release. It can download specified files from both private and public repositories.

Usage

- uses: robinraju/[email protected]
  with: 
    # The source repository path.
    # Expected format {owner}/{repo}
    # Default: ${{ github.repository }}
    repository: ""
    
    # A flag to set the download target as latest release
    # The default value is 'false'
    latest: true
    
    # The github tag. e.g: v1.0.1
    # Download assets from a specific tag/version
    tag: ""
    
    # The name of the file to download.
    # Use this field only to specify filenames other than tarball or zipball, if any.
    # Supports wildcard pattern (eg: '*', '*.deb', '*.zip' etc..)
    fileName: ""
    
    # Download the attached tarball (*.tar.gz)
    tarBall: true
    
    # Download the attached zipball (*.zip)
    zipBall: true
    
    # Relative path under $GITHUB_WORKSPACE to place the downloaded file(s)
    # It will create the target directory automatically if not present
    # eg: out-file-path: "my-downloads" => It will create directory $GITHUB_WORKSPACE/my-downloads
    out-file-path: ""
    
    # Github access token to download files from private repositories
    # https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets
    # eg: token: ${{ secrets.MY_TOKEN }}
    token: ""

    # The URL of the Github API, only use this input if you are using Github Enterprise
    # Default: "https://api.github.com"
    # Use http(s)://[hostname]/api/v3 to access the API for GitHub Enterprise Server
    github-api-url: ""

Outputs variables

  • tag_name it outputs the tag used to download a release.

This variable can be used by other actions as an input as follows

${{steps.<step-id>.outputs.tag_name}}

Scenarios

Download asset from the latest release in the current repository

- uses: robinraju/[email protected]
  with:
    latest: true
    fileName: "foo.zip"

Download asset from a specific release version.

- uses: robinraju/[email protected]
  with:
    repository: "owner/repo"
    tag: "v1.0.0"
    fileName: "foo.zip"

Download tarball and zipball

- uses: robinraju/[email protected]
  with:
    repository: "owner/repo"
    latest: true
    tarBall: true
    zipBall: true

Remove the latest flag and specify tag if you want to download from a different release.

Download multiple assets

- uses: robinraju/[email protected]
  with:
    repository: "owner/repo"
    latest: true
    fileName: "foo.zip"
    tarBall: true
    zipBall: true

Download all assets if more than one files are available

- uses: robinraju/[email protected]
  with:
    repository: "owner/repo"
    latest: true
    fileName: "*"

Download assets using wildcard pattern

- uses: robinraju/[email protected]
  with:
    repository: "owner/repo"
    latest: true
    fileName: "*.deb"