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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2e9dc42 · Jan 30, 2025

History

56 Commits
Feb 18, 2024
Feb 18, 2024
Jan 30, 2025
Jan 30, 2025
Jan 29, 2022
Feb 18, 2024
Jan 29, 2022
Jan 14, 2023
Jan 14, 2023
Feb 18, 2024
Jan 29, 2025
Jan 29, 2025

Repository files navigation

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