Semanticore: Your friendly Semantic Release Bot ๐Ÿค– ๐Ÿฆ ๐Ÿ‰

  • By AOE
  • Last update: Dec 15, 2022
  • Comments: 15

Semanticore Release Bot ๐Ÿค– ๐Ÿฆ ๐Ÿ‰

About

Your friendly Semanticore Release bot helps maintaining the changelog for a project and automates the related tagging process.

How to use it

Semanticore runs along every pipeline in the main branch, and will analyze the commit messages.

It maintains an open Merge Request for the project with all the required Changelog adjustments.

It detects the current version and suggests the next version based on the changes made.

Once a release commit is detected, it will automatically create the related Git tag on the next pipeline run.

Conventions

  • Commit messages should follow the Conventional Commits so semanticore can decide whether a minor or patch level release is required.
  • Releases are indicated with a commit with a commit messages which should match: Release vX.Y.Z

Supported Commit Types

Currently Semanticore supports the following commit types:

Type Prefixes Meaning
๐Ÿ†• Feature feat New Feature, creates a minor commit
๐Ÿšจ Security Fix sec Security relevant change/fix
๐Ÿ‘พ Bugfix fix, bug Bugfix
๐Ÿ›ก Test test (Unit-)Tests
๐Ÿ” Refactor refactor, rework Refactorings or reworking
๐Ÿค– Devops/CI ops, ci, cd, build Operations, Build, CI/CD, Pipelines
๐Ÿ“š Documentation doc Documentation
โšก๏ธ Performance perf Performance improvements
๐Ÿงน Chore chore, update Chores, (Dependency-)Updates
๐Ÿ“ Other everything else Everything not matched by another prefix

Major versions

To enable support for major releases (breaking APIs), use the -major flag.

Configuration

The SEMANTICORE_TOKEN is required - that's a Gitlab or Github Token which has basic contributor rights and allows to perform the related Git and API operations.

Using Semanticore

To test Semanticore locally you can run it without an API token to create an example Changelog:

go run github.com/aoepeople/semanticore@v0 <optional path to repository>

Example Configurations

Github Action

.github/workflows/semanticore.yml

name: Semanticore

on:
  push:
    branches:
      - main
jobs:
  semanticore:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        go: [ '1.*' ]
    name: Semanticore
    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0
      - name: Setup Go
        uses: actions/setup-go@v3
        with:
          go-version: ${{ matrix.go }}
      - name: Semanticore
        run: go run github.com/aoepeople/semanticore@v0
        env:
          SEMANTICORE_TOKEN: ${{secrets.GITHUB_TOKEN}}

Gitlab CI

Create a secret SEMANTICORE_TOKEN containing an API token with api and write_repository scope.

.gitlab-ci.yml

stages:
  - semanticore

semanticore:
  image: golang:1
  stage: semanticore
  script:
    - go run github.com/aoepeople/semanticore@v0
  only:
    - main

Download

semanticore.zip

Comments(15)

  • 1

    fix(deps): update module github.com/go-git/go-git/v5 to v5.5.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | github.com/go-git/go-git/v5 | require | minor | v5.4.3-0.20211028194832-617ae9f34f46 -> v5.5.0 |


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • 2

    fix(deps): update module github.com/stretchr/testify to v1.8.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | github.com/stretchr/testify | require | patch | v1.8.0 -> v1.8.1 |


    Release Notes

    stretchr/testify

    v1.8.1

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • 3

    chore(deps): update irongut/codecoveragesummary action to v1.3.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | irongut/CodeCoverageSummary | action | minor | v1.2.0 -> v1.3.0 |


    Release Notes

    irongut/CodeCoverageSummary

    v1.3.0

    Compare Source

    v1.3.0 Release Notes

    • Supports glob pattern matching for multiple coverage files (#โ€‹35)
    • Improved compatibility with simplecov & simplecov-cobertura (#โ€‹37)
    • Now compatible with MATLAB's code coverage plugin (#โ€‹53)
    • Docker image signed using Sigstore (#โ€‹52)
    • Implemented StepSecurity Secure Workflows (#โ€‹50)
    • Compatible with StepSecurity Secure Workflows

    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

  • 4

    chore(deps): update module go to 1.19

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | go (source) | golang | minor | 1.17 -> 1.19 |


    Release Notes

    golang/go

    v1.19.0

    v1.18.5

    v1.18.4

    v1.18.3

    v1.18.2

    v1.18.1

    v1.18.0


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

  • 5

    fix(deps): update module github.com/stretchr/testify to v1.8.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | github.com/stretchr/testify | require | minor | v1.7.2 -> v1.8.0 |


    Release Notes

    stretchr/testify

    v1.8.0

    Compare Source

    v1.7.5

    Compare Source

    v1.7.4

    Compare Source

    v1.7.3

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

  • 6

    fix(deps): update module github.com/stretchr/testify to v1.7.2

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | github.com/stretchr/testify | require | patch | v1.7.1 -> v1.7.2 |


    Release Notes

    stretchr/testify

    v1.7.2

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

  • 7

    fix(deps): update module github.com/stretchr/testify to v1.7.1

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | github.com/stretchr/testify | require | patch | v1.7.0 -> v1.7.1 |


    Release Notes

    stretchr/testify

    v1.7.1

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • 8

    chore(deps): update actions/setup-go action to v3

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | actions/setup-go | action | major | v2 -> v3 |


    Release Notes

    actions/setup-go

    v3

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • 9

    chore(deps): update actions/checkout action to v3

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | actions/checkout | action | major | v2 -> v3 |


    Release Notes

    actions/checkout

    v3

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • 10

    chore(deps): update actions/setup-go action to v3

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | actions/setup-go | action | major | v2 -> v3 |


    Release Notes

    actions/setup-go

    v3

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • 11

    chore(deps): update actions/checkout action to v3

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | actions/checkout | action | major | v2 -> v3 |


    Release Notes

    actions/checkout

    v3

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • 12

    fix(deps): update module github.com/go-git/go-billy/v5 to v5.4.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | github.com/go-git/go-billy/v5 | require | minor | v5.3.1 -> v5.4.0 |


    Release Notes

    go-git/go-billy

    v5.4.0

    Compare Source

    What's Changed

    Full Changelog: https://github.com/go-git/go-billy/compare/v5.3.1...v5.4.0


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • 13

    fix(deps): update module github.com/go-git/go-git/v5 to v5.5.2

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | github.com/go-git/go-git/v5 | require | patch | v5.5.0 -> v5.5.2 |


    Release Notes

    go-git/go-git

    v5.5.2

    Compare Source

    What's Changed

    Full Changelog: https://github.com/go-git/go-git/compare/v5.5.1...v5.5.2

    v5.5.1

    Compare Source

    What's Changed

    Full Changelog: https://github.com/go-git/go-git/compare/v5.5.0...v5.5.1


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • 14

    Release v0.5.2

    Release v0.5.2 ๐Ÿ†

    Summary

    There are 1 ๐Ÿ‘พ fix commits since v0.5.1.

    This is a patch ๐Ÿฉน release.

    Merge this pull request to commit the changelog and have Semanticore create a new release on the next pipeline run.

    Changelog

    Version v0.5.2 (2022-12-02)

    Fixes

    • deps: update module github.com/go-git/go-git/v5 to v5.5.0 (cfd9217e)

    This changelog was generated by your friendly Semanticore Release Bot

  • 15

    Issue/Limitation: Automatic subsequent pipelines

    https://github.com/peter-evans/create-pull-request/issues/48

    Github actions don't trigger actions in subsequent pull requests. We need a documentation or solution for this