Skip to content

MitVo/semantic-release-python

Repository files navigation

Custom Semantic Release for Python

A customized GitHub Action to automate semantic versioning and changelog generation for Python projects using semantic-release and gitmoji.

🚀 Features

  • Automated semantic versioning based on commit messages (supports gitmoji).
  • Generates and updates changelogs using custom Handlebars templates.
  • Supports both standard and prerelease workflows.
  • Customizable for cloud function modules.

📦 Usage

Add this action to your workflow:

- name: Run Custom Semantic Release
  uses: ./  # or use your repository path
  with:
    github_token: ${{ secrets.GITHUB_TOKEN }}

🔧 Inputs

Name Description Required Default
github_token GitHub token for authentication Yes
release_branch Branch to perform the release from No master

📤 Outputs

Name Description
release_version The version of the release created

📝 Configuration

  • The action copies .releaserc.js, .prerelease-releaserc.js, package.json, and Handlebars templates to the workspace.
  • Uses semantic-release-gitmoji for commit parsing.
  • Custom changelog templates are in the templates/ directory.

🛠️ Development

  • Node.js 20 is required.
  • Installs all dependencies at runtime.
  • See action.yml for the full workflow.

🚨 Prerequisites

  • The image use to run the workflow must have installed Python with the dependencies build twine bump2version before execute the semantic release action.
  • The Python project needs to have a .bumpversion.cfg file configured with the specification of the project, see an example in here .

📄 Sources

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published