📦 :octocat: GitHub Action for creating GitHub Releases
Find a file
2019-08-26 01:00:01 -04:00
.github/workflows just push the latest tag for now 2019-08-25 15:22:48 -04:00
src better test data 2019-08-26 00:43:16 -04:00
tests/data/foo extract, test and fix path selection to only include files 2019-08-25 15:13:13 -04:00
.dockerignore extract, test and fix path selection to only include files 2019-08-25 15:13:13 -04:00
.gitignore init 2019-08-25 02:13:05 -04:00
action.yml update meta 2019-08-26 00:21:21 -04:00
Cargo.lock init 2019-08-25 02:13:05 -04:00
Cargo.toml init 2019-08-25 02:13:05 -04:00
Dockerfile separate build from strip (debugging) 2019-08-25 18:46:21 -04:00
LICENSE lic 2019-08-25 02:17:01 -04:00
README.md markdown headers 2019-08-26 01:00:01 -04:00
rustfmt.toml init 2019-08-25 02:13:05 -04:00

action gh-release

A GitHub Action for creating GitHub Releases

🤸 Usage

🚥 Limit releases to pushes to tags

Typically usage of this action involves adding a step to a build that is gated pushes to git tags. You may find step.if field helpful in accomplishing this as it maximizes the resuse value of your workflow for non-tag pushes.

Below is a simple example of step.if tag gating

name: Main

on: push

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@master
      - name: Release
        uses: docker://softprops/action-gh-release
        if: startsWith(github.ref, 'refs/tags/')
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

⬆️ Uploading release assets

You can can configure a number of options for your GitHub release and all are optional.

A common case for GitHub releases is to upload your binary after its been validated and packaged. Use the with.files input to declare a comma-separated list of glob expressions matching the files you wish to upload to GitHub releases. If you'd like you can just list the files by name directly.

name: Main

on: push

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@master
      - name: Build
        run: echo ${{ github.sha }} > Release.txt
      - name: Test
        run: cat Release.txt
      - name: Release
        uses: docker://softprops/action-gh-release
        if: startsWith(github.ref, 'refs/tags/')
        with:
          files: Release.txt
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

💅 Customizing

inputs

The following are optional as step.with keys

Name Type Description
body String Text communicating notable changes in this release
draft Boolean Indicator of whether or not this release is a draft
files String Comma-delimited globs of paths to assets to upload for release
name String Name of the release. defaults to tag name

environment variables

The following are required as step.env keys

Name Description
GITHUB_TOKEN GITHUB_TOKEN as provided by secrets

Doug Tangren (softprops) 2019