mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-01-06 03:13:48 +02:00
61bead8989
* refactor: improve middleware Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: upload tests Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: twitter tests Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: source tests Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: snapshot tests Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * test: improved some tests Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: snapcraft skip Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip slack Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip sign Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip scoop Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip reddit Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip discord Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip publish Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip nfpm Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip milestone Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip custompublishers Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip checksums Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip changelog Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip brew Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip blob Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip before Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip artifactory Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip announce Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip defaults Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: cmds Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip docker Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * chore: todo Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: go.mod Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip release Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: remove old skip pipe errors Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip teams Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip brew Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix/test: skip smtp Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: lint issues Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip docker Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip brew and scoop Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip docker Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: skip http/artifactory Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * test: increase coverage Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * test: fix Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
70 lines
2.0 KiB
Go
70 lines
2.0 KiB
Go
// Package pipe provides generic erros for pipes to use.
|
|
package pipe
|
|
|
|
import (
|
|
"errors"
|
|
"strings"
|
|
)
|
|
|
|
// ErrSnapshotEnabled happens when goreleaser is running in snapshot mode.
|
|
// It usually means that publishing and maybe some validations were skipped.
|
|
var ErrSnapshotEnabled = Skip("disabled during snapshot mode")
|
|
|
|
// ErrSkipPublishEnabled happens if --skip-publish is set.
|
|
// It means that the part of a Piper that publishes its artifacts was not run.
|
|
var ErrSkipPublishEnabled = Skip("publishing is disabled")
|
|
|
|
// ErrSkipAnnounceEnabled happens if --skip-announce is set.
|
|
var ErrSkipAnnounceEnabled = Skip("announcing is disabled")
|
|
|
|
// ErrSkipSignEnabled happens if --skip-sign is set.
|
|
// It means that the part of a Piper that signs some things was not run.
|
|
var ErrSkipSignEnabled = Skip("artifact signing is disabled")
|
|
|
|
// ErrSkipValidateEnabled happens if --skip-validate is set.
|
|
// It means that the part of a Piper that validates some things was not run.
|
|
var ErrSkipValidateEnabled = Skip("validation is disabled")
|
|
|
|
// IsSkip returns true if the error is an ErrSkip.
|
|
func IsSkip(err error) bool {
|
|
return errors.As(err, &ErrSkip{})
|
|
}
|
|
|
|
// ErrSkip occurs when a pipe is skipped for some reason.
|
|
type ErrSkip struct {
|
|
reason string
|
|
}
|
|
|
|
// Error implements the error interface. returns the reason the pipe was skipped.
|
|
func (e ErrSkip) Error() string {
|
|
return e.reason
|
|
}
|
|
|
|
// Skip skips this pipe with the given reason.
|
|
func Skip(reason string) ErrSkip {
|
|
return ErrSkip{reason: reason}
|
|
}
|
|
|
|
// SkipMemento remembers previous skip errors so you can return them all at once later.
|
|
type SkipMemento struct {
|
|
skips []string
|
|
}
|
|
|
|
// Remember a skip.
|
|
func (e *SkipMemento) Remember(err error) {
|
|
for _, skip := range e.skips {
|
|
if skip == err.Error() {
|
|
return
|
|
}
|
|
}
|
|
e.skips = append(e.skips, err.Error())
|
|
}
|
|
|
|
// Evaluate return a skip error with all previous skips, or nil if none happened.
|
|
func (e *SkipMemento) Evaluate() error {
|
|
if len(e.skips) == 0 {
|
|
return nil
|
|
}
|
|
return Skip(strings.Join(e.skips, ", "))
|
|
}
|