Skip to content

gembaadvantage/uplift-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Uplift Github Action

Build status License MIT codecov

A Github Action for the Uplift semantic versioning tool.

Basic Usage

Easily integrate uplift into your existing workflows, by using v2 of the action:

steps:
  - uses: actions/checkout@v4
    with:
      fetch-depth: 0

  - uses: gembaadvantage/uplift-action@v2
    with:
      args: release
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Triggering another Workflow

If you need uplift to trigger another workflow after it has tagged your repository, you will need to associate a custom personal access token with the GITHUB_TOKEN. This is by design.

steps:
  - uses: actions/checkout@v4
    with:
      fetch-depth: 0
      token: ${{ secrets.GH_UPLIFT }}

  - uses: gembaadvantage/uplift-action@v2
    with:
      args: release
    env:
      GITHUB_TOKEN: ${{ secrets.GH_UPLIFT }}

Customising the Git Author

By default, uplift will interact with git as the uplift-bot. To configure this behaviour, you have two options:

  1. Set the git author directly through uplift configuration:

    # .uplift.yaml
    commitAuthor:
      name: 'joe.bloggs'
      email: 'joe.bloggs@gmail.com'
  2. Import a GPG key (recommended):

    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
          token: ${{ secrets.GH_UPLIFT }}
    
      - uses: gembaadvantage/uplift-action@v2
        with:
          args: release
        env:
          GITHUB_TOKEN: ${{ secrets.GH_UPLIFT }}
          UPLIFT_GPG_KEY: "${{ secrets.UPLIFT_GPG_KEY }}"
          UPLIFT_GPG_PASSPHRASE: "${{ secrets .UPLIFT_GPG_PASSPHRASE }}"
          UPLIFT_GPG_FINGERPRINT: "${{ secrets.UPLIFT_GPG_FINGERPRINT }}"

Inputs

Customisable inputs can be provided through the with keys:

Name Required Type Default Description
version No String latest The uplift version, see available
install-only No Boolean false Set to true to install uplift and expose the binary on the current PATH
args Yes String A list of arguments that are used when running Uplift