GitHub Action
Tag/Release on Push Action
Stop using files for versioning. Use git tags instead!
Github Action to create a release on push.
CI & CD systems are simpler when they work with immutable monotonic identifers from the get-go. Trigger your release activites by subscribing to new tags pushed from this Action.
For automation, Github Releases (and by extension git tags) are better than versioned commit files for these reasons:
- Agnostic of language & ecosystem (i.e. does not rely on presence of package.json)
- Tagging does not require write permissions to bump version
- Tagging does not trigger infinite-loop webhooks from pushing version bump commits
on:
push:
branches:
- master
jobs:
release-on-push:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: rymndhng/release-on-push-action@master
with:
strategy: minor
Supported strategies:
- minor
- major
- patch
There are two ways to accomplish this:
- Put
[norelease]
in the commit title. - If the commit has an attached PR, add the label
norelease
to the PR.
Yes, if the PR has the label release:major
, release:minor
, or release:patch
, this will override the default strategy
.
No, you do not! Github Actions will inject a token for this plugin to interact with the API.
Currently, no.
In order to reliably generate monotonic versions, we use Github Releases to track what the last release version is. See Release#get-the-latest-release.
Relies on bats.
make test