Skip to content

go-semantic-release/action

Use this GitHub Action with your project

Add this Action to an existing workflow or create a new one.

View on Marketplace
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

go-semantic-release/action

The official go-semantic-release GitHub Action.

⚠️ This action always installs the latest release of go-semantic-release. Thus, the version of this repository is not linked to the used go-semantic-release version.

Usage

To integrate go-semantic-release with your GitHub Actions pipeline, specify the name of this repository with a version tag as a step within your workflow config file:

# If a 403 error occurs, make sure to set content permission to write
# see: https://github.com/go-semantic-release/action/issues/27
#permissions:
#  contents: write

steps:
  - uses: actions/checkout@master
  - uses: go-semantic-release/action@v1
    with:
      github-token: ${{ secrets.GITHUB_TOKEN }}

Arguments

Input Description Usage
github-token Used to create releases Required
changelog-file Create a changelog file (e.g CHANGELOG.md) Optional
ghr Create a .ghr file with the parameters for tcnksm/ghr Optional
update-file Update the version of a certain file Optional
dry Do not create a release Optional
prerelease Flags the release as a prerelease Optional
allow-initial-development-versions semantic-release will start your initial development release at 0.1.0 and will handle breaking changes as minor version updates. This option will be ignored if a release with major version greater than or equal 1 exists. Optional
force-bump-patch-version Increments the patch version if no changes are found Optional
changelog-generator-opt Options that are passed to the changelog-generator plugin. Seperated by "," Optional
prepend Flag changes to be prepended into the changelog file Optional
hooks Enable different hooks plugins. Seperated by "," Optional

Example ci.yml for a npm package

name: CI
on:
  push:
    branches:
      - '**'
  pull_request:
    branches:
      - '**'

# If a 403 error occurs, make sure to set content permission to write
# see: https://github.com/go-semantic-release/action/issues/27
#permissions:
#  contents: write

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: true
      matrix:
        node: [10, 12]
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node }}
      - run: npm ci
      - run: npm test
  release:
    runs-on: ubuntu-latest
    needs: build
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: 12
          registry-url: 'https://registry.npmjs.org'
      - uses: go-semantic-release/action@v1
        id: semrel
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          update-file: package.json
          changelog-generator-opt: "emojis=true"
      - run: npm publish
        if: steps.semrel.outputs.version != ''
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

License

The MIT License (MIT)

Copyright © 2023 Christoph Witzko