github.com/triarius/goreleaser@v1.12.5/internal/middleware/errhandler/error.go (about)

     1  package errhandler
     2  
     3  import (
     4  	"github.com/caarlos0/log"
     5  	"github.com/triarius/goreleaser/internal/middleware"
     6  	"github.com/triarius/goreleaser/internal/pipe"
     7  	"github.com/triarius/goreleaser/pkg/context"
     8  )
     9  
    10  // Handle handles an action error, ignoring and logging pipe skipped
    11  // errors.
    12  func Handle(action middleware.Action) middleware.Action {
    13  	return func(ctx *context.Context) error {
    14  		err := action(ctx)
    15  		if err == nil {
    16  			return nil
    17  		}
    18  		if pipe.IsSkip(err) {
    19  			log.WithField("reason", err.Error()).Warn("pipe skipped")
    20  			return nil
    21  		}
    22  		return err
    23  	}
    24  }