Skip to content

Commit 86ec81f

Browse files
fix: correctly stop all plugins on exit
1 parent 9990d17 commit 86ec81f

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

cmd/semantic-release/main.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,15 @@ import (
2121
// SRVERSION is the semantic-release version (added at compile time)
2222
var SRVERSION string
2323

24+
var exitHandler func()
25+
2426
func errorHandler(logger *log.Logger) func(error, ...int) {
2527
return func(err error, exitCode ...int) {
2628
if err != nil {
2729
logger.Println(err)
30+
if exitHandler != nil {
31+
exitHandler()
32+
}
2833
if len(exitCode) == 1 {
2934
os.Exit(exitCode[0])
3035
return
@@ -61,7 +66,9 @@ func cliHandler(c *cli.Context) error {
6166

6267
pluginManager, err := manager.New(conf)
6368
exitIfError(err)
64-
defer pluginManager.Stop()
69+
exitHandler = func() {
70+
pluginManager.Stop()
71+
}
6572

6673
ci, err := pluginManager.GetCICondition()
6774
exitIfError(err)

0 commit comments

Comments
 (0)