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

GitHub Action

Release That

v1.7.0

Release That

package

Release That

Opinionated GitHub Action to ease the release of a repository

Installation

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

              

- name: Release That

uses: rlespinasse/[email protected]

Learn more about this action in rlespinasse/release-that

Choose a version

Release That

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
        steps:
          - name: Checkout sources
            uses: actions/checkout@v3
    
          - name: Release That
            uses: rlespinasse/release-that@v1
  • Step 2: Enjoy your automatic release system

Inputs

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).

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.

Outputs

  • major_tag_published: Whether a major tag was published (true or false)
  • major_tag: Value of the published major tag, otherwise empty (e.g. v1)

And the following outputs from cycjimmy/semantic-release-action (see Under the wood section).

  • new_release_published: Whether a new release was published (true or false)
  • new_release_version: Version of the new release. (e.g. 1.3.0)
  • new_release_major_version: Major version of the new release. (e.g. 1)
  • new_release_minor_version: Minor version of the new release. (e.g. 3)
  • new_release_patch_version: Patch version of the new release. (e.g. 0)
  • last_release_version: Version of the previous release, if there was one. (e.g. 1.2.0)

Under the wood

This is a wrapper around cycjimmy/semantic-release-action@v2 action with

  • No mandatory configuration like package.json or .releaserc files
  • Support of Default branches
    • with the addition of vN.x kind of branches
  • Auto-publication of a GitHub release with changelog based on the commit history

In a near future, the release-that action will support more release system with an opinionated way of doing it.