An opinionated GitHub Action to ease the release of a repository using semantic versioning
Minimal setup to enable semantic release on any repository
Step 1: Add the following content inside .github/workflows/release-that.yaml
file
name: Release that
on: [push]
jobs:
release-that:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
issues: write
pull-requests: write
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Release That
uses: rlespinasse/release-that@v1
Step 2: Enjoy your automatic release system
dry-run
Whether to make a release in dry-run
mode. The outputs act like a release was published.
- uses: rlespinasse/release-that@v1
with:
dry-run: true
without-prefix
Remove prefix from released version, like v1.0.0
-> 1.0.0
(doesn't apply to major tag)
- uses: rlespinasse/release-that@v1
with:
without-prefix: true
major-tag
Activate the publication a major tag based on released version. Possible values true
, false
, and auto
.
If this tag already exists, it will be overwritten.
- uses: rlespinasse/release-that@v1
with:
major-tag: true
By default, the value is auto
to activate it (like true
) on some conditions, otherwise, it's skip (like false
).
action.yml
or action.yaml
(to follow GitHub action recommandation)github-token
Whether to use a Personal Access Token instead of the default GitHub Token for release
- uses: rlespinasse/release-that@v1
with:
github-token: ${{ secrets.YOUR_PERSONAL_ACCESS_TOKEN }}
By default ${{ github.token }}
is used to make a release.
Due to limitation for security concerns, if you want to build a workflows that react when a new release is made, you must use a Personal Access Token.
On repositories created before 2023-02-02
, the default token was enough to let this action do its job.
Now, new repository will always need to setup permissions
to work properly.
Please refer to setup documentation.
true
or false
)v1
)And the following outputs from cycjimmy/semantic-release-action (see Under the wood
section).
true
or false
)1.3.0
)1
)3
)0
)1.2.0
)This is a wrapper around cycjimmy/semantic-release-action action with
package.json
or .releaserc
filesvN.x
kind of branches