This action simplifies the GitHub release process by automatically uploading assets, generating changelogs, handling pre-releases, and so on.
NOTE: The
marvinpinto/action-automatic-releases
repository is an automatically generated mirror of the marvinpinto/actions monorepo containing this and other actions. Please file issues and pull requests over there.
This example workflow will kick in as soon as changes land on master
. After running the steps to build and test your project:
latest
.latest
tag.latest
tag (removing any previous associated releases).Development Build
).LICENSE.txt
and any jar
files as release assets.pre-release
.You can see a working example of this workflow over at marvinpinto/actions.
---
name: "pre-release"
on:
push:
branches:
- "master"
jobs:
pre-release:
name: "Pre Release"
runs-on: "ubuntu-latest"
steps:
# ...
- name: "Build & test"
run: |
echo "done!"
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
prerelease: true
title: "Development Build"
files: |
LICENSE.txt
*.jar
Similar to the previous example, this workflow will kick in as soon as new tags are pushed to GitHub. After building & testing your project:
LICENSE.txt
and any jar
files as release assets.Once again there's an example of this over at marvinpinto/actions.
---
name: "tagged-release"
on:
push:
tags:
- "v*"
jobs:
tagged-release:
name: "Tagged Release"
runs-on: "ubuntu-latest"
steps:
# ...
- name: "Build & test"
run: |
echo "done!"
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: false
files: |
LICENSE.txt
*.jar
Parameter | Description | Default |
---|---|---|
repo_token ** |
GitHub Action token, e.g. "${{ secrets.GITHUB_TOKEN }}" . |
null |
draft |
Mark this release as a draft? | false |
prerelease |
Mark this release as a pre-release? | true |
automatic_release_tag |
Tag name to use for automatic releases, e.g latest . |
null |
title |
Release title; defaults to the tag name if none specified. | Tag Name |
files |
Files to upload as part of the release assets. | null |
The following output values can be accessed via ${{ steps.
:
Name | Description | Type |
---|---|---|
automatic_releases_tag |
The release tag this action just processed | string |
upload_url |
The URL for uploading additional assets to the release | string |
**
are required.files
parameter supports multi-line glob patterns, see repository examples.The GitHub Actions framework allows you to trigger this (and other) actions on many combinations of events. For example, you could create specific pre-releases for release candidate tags (e.g *-rc*
), generate releases as changes land on master (example above), nightly releases, and much more. Read through Workflow syntax for GitHub Actions for ideas and advanced examples.
Every commit that lands on master for this project triggers an automatic build as well as a tagged release called latest
. If you don't wish to live on the bleeding edge you may use a stable release instead. See releases for the available versions.
- uses: "marvinpinto/action-automatic-releases@"
The main README for this project has a bunch of information related to debugging & submitting issues. If you're still stuck, try and get a hold of me on keybase and I will do my best to help you out.
The source code for this project is released under the MIT License. This project is not associated with GitHub.