diff --git a/.golangci.yaml b/.golangci.yaml new file mode 100644 index 0000000..b3e717d --- /dev/null +++ b/.golangci.yaml @@ -0,0 +1,27 @@ +linters: + presets: + - bugs + - error + - import + - metalinter + - module + - unused + + enable: + - testifylint + + disable: + # preset error + # These should probably be cleaned up at some point if we want to publish part of this as a library. + - err113 # Very annoying to define static errors everywhere + - wrapcheck # Very annoying to wrap errors everywhere + # preset import + - depguard + +linters-settings: + gci: + sections: + - standard + - default + - localmodule + diff --git a/cmd/rp/cmd/run.go b/cmd/rp/cmd/run.go index 867f949..7661af5 100644 --- a/cmd/rp/cmd/run.go +++ b/cmd/rp/cmd/run.go @@ -51,9 +51,9 @@ func run(cmd *cobra.Command, _ []string) error { BaseBranch: flagBranch, } - switch flagForge { - //case "gitlab": - //f = rp.NewGitLab(forgeOptions) + switch flagForge { // nolint:gocritic // Will become a proper switch once gitlab is added + // case "gitlab": + // f = rp.NewGitLab(forgeOptions) case "github": logger.DebugContext(ctx, "using forge GitHub") forge = rp.NewGitHub(logger, &rp.GitHubOptions{ diff --git a/forge.go b/forge.go index c244a0c..1086564 100644 --- a/forge.go +++ b/forge.go @@ -19,7 +19,7 @@ const ( GitHubPerPageMax = 100 GitHubPRStateOpen = "open" GitHubPRStateClosed = "closed" - GitHubEnvAPIToken = "GITHUB_TOKEN" + GitHubEnvAPIToken = "GITHUB_TOKEN" // nolint:gosec // Not actually a hardcoded credential GitHubEnvUsername = "GITHUB_USER" GitHubEnvRepository = "GITHUB_REPOSITORY" GitHubLabelColor = "dedede" diff --git a/internal/markdown/extensions/section.go b/internal/markdown/extensions/section.go index e85808a..dcca37d 100644 --- a/internal/markdown/extensions/section.go +++ b/internal/markdown/extensions/section.go @@ -12,8 +12,10 @@ import ( "github.com/apricote/releaser-pleaser/internal/markdown/extensions/ast" ) -var sectionStartRegex = regexp.MustCompile(`^`) -var sectionEndRegex = regexp.MustCompile(`^`) +var ( + sectionStartRegex = regexp.MustCompile(`^`) + sectionEndRegex = regexp.MustCompile(`^`) +) const ( sectionTrigger = "" ) -type sectionParser struct { -} +type sectionParser struct{} func (s *sectionParser) Open(_ gast.Node, reader text.Reader, _ parser.Context) (gast.Node, parser.State) { line, _ := reader.PeekLine() @@ -75,8 +76,7 @@ func (s *sectionParser) Trigger() []byte { return []byte(sectionTrigger) } -type section struct { -} +type section struct{} // Section is an extension that allow you to use group content under a shared parent ast node. var Section = §ion{} diff --git a/internal/markdown/renderer/markdown/renderer.go b/internal/markdown/renderer/markdown/renderer.go index e0d4ecb..69b2883 100644 --- a/internal/markdown/renderer/markdown/renderer.go +++ b/internal/markdown/renderer/markdown/renderer.go @@ -331,7 +331,7 @@ func (r *Renderer) renderFencedCodeBlock(w util.BufWriter, source []byte, node a return ast.WalkStop, fmt.Errorf(": %w", err) } if err := r.writeByte(w, '\n'); err != nil { - return ast.WalkStop, nil + return ast.WalkStop, fmt.Errorf(": %w", err) } // Write the contents of the fenced code block. diff --git a/internal/testutils/git.go b/internal/testutils/git.go index 14737a0..f5721b6 100644 --- a/internal/testutils/git.go +++ b/internal/testutils/git.go @@ -11,25 +11,26 @@ import ( "github.com/stretchr/testify/require" ) -var ( - author = &object.Signature{ - Name: "releaser-pleaser", - When: time.Date(2020, 01, 01, 01, 01, 01, 01, time.UTC), - } -) +var author = &object.Signature{ + Name: "releaser-pleaser", + When: time.Date(2020, 01, 01, 01, 01, 01, 01, time.UTC), +} type CommitOption func(*commitOptions) + type commitOptions struct { cleanFiles bool files []commitFile tags []string } + type commitFile struct { path string content string } type Commit func(*testing.T, *git.Repository) error + type Repo func(*testing.T) *git.Repository func WithCommit(message string, options ...CommitOption) Commit { @@ -83,7 +84,6 @@ func WithCommit(message string, options ...CommitOption) Commit { } return nil - } } diff --git a/releasepr.go b/releasepr.go index 1d41325..a6744c4 100644 --- a/releasepr.go +++ b/releasepr.go @@ -155,6 +155,9 @@ func (pr *ReleasePullRequest) parseVersioningFlags(overrides ReleaseOverrides) R overrides.NextVersionType = NextVersionTypeBeta case LabelNextVersionTypeAlpha: overrides.NextVersionType = NextVersionTypeAlpha + case LabelReleasePending, LabelReleaseTagged: + // These labels have no effect on the versioning. + break } }