go-semantic-release / semantic-release

📦🚀 semantic-release written in Go
https://go-semantic-release.xyz
MIT License
410 stars 43 forks source link

Proposal: Plugin Interface #48

Closed cliedeman closed 4 years ago

cliedeman commented 4 years ago

There are 2 options I see here.

Option 1: Create a public entrypoint to execute semantic-release and allow users to pass in a list of plugins

Option 2: Use the go plugin module and create a plugin interface

Example Plugin hooks and use cases:

PostReleaseCreated:

ProcessChangelog:

christophwitzko commented 4 years ago

This is a great idea, I have already thought about this some time ago, how to make go-semantic-release more extendable. I will look into that next week 👍

cliedeman commented 4 years ago

Reference for a plugin system I have seen that works well