You've already forked goreleaser
							
							
				mirror of
				https://github.com/goreleaser/goreleaser.git
				synced 2025-10-30 23:58:09 +02:00 
			
		
		
		
	feat(scoop): provide config option to change commit message (#1467)
Without this change, users unable to control the resulting commit message of the scoop update. In some environments this may present an issue with commit linters that require a specific commit message format in order to build proper change logs and make decisions. Here we include a Scoop config option to use a format string provided by the user during the commit.
This commit is contained in:
		| @@ -54,6 +54,10 @@ func (Pipe) Default(ctx *context.Context) error { | ||||
| 		ctx.Config.Scoop.CommitAuthor.Email = "goreleaser@carlosbecker.com" | ||||
| 	} | ||||
|  | ||||
| 	if ctx.Config.Scoop.CommitMessageTemplate == "" { | ||||
| 		ctx.Config.Scoop.CommitMessageTemplate = "Scoop update for {{ .ProjectName }} version {{ .Tag }}" | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| @@ -104,13 +108,20 @@ func doRun(ctx *context.Context, client client.Client) error { | ||||
| 	if ctx.Config.Release.Disable { | ||||
| 		return pipe.Skip("release is disabled") | ||||
| 	} | ||||
|  | ||||
| 	commitMessage, err := tmpl.New(ctx). | ||||
| 		Apply(ctx.Config.Scoop.CommitMessageTemplate) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	return client.CreateFile( | ||||
| 		ctx, | ||||
| 		ctx.Config.Scoop.CommitAuthor, | ||||
| 		ctx.Config.Scoop.Bucket, | ||||
| 		content.Bytes(), | ||||
| 		path, | ||||
| 		fmt.Sprintf("Scoop update for %s version %s", ctx.Config.ProjectName, ctx.Git.CurrentTag), | ||||
| 		commitMessage, | ||||
| 	) | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -57,6 +57,7 @@ func TestDefault(t *testing.T) { | ||||
| 	assert.Equal(t, ctx.Config.ProjectName, ctx.Config.Scoop.Name) | ||||
| 	assert.NotEmpty(t, ctx.Config.Scoop.CommitAuthor.Name) | ||||
| 	assert.NotEmpty(t, ctx.Config.Scoop.CommitAuthor.Email) | ||||
| 	assert.NotEmpty(t, ctx.Config.Scoop.CommitMessageTemplate) | ||||
| } | ||||
|  | ||||
| func Test_doRun(t *testing.T) { | ||||
| @@ -736,6 +737,7 @@ func Test_doRun(t *testing.T) { | ||||
| 				ctx.Artifacts.Add(a) | ||||
| 			} | ||||
| 			require.NoError(t, Pipe{}.Default(ctx)) | ||||
|  | ||||
| 			tt.assertError(t, doRun(ctx, tt.args.client)) | ||||
| 		}) | ||||
| 	} | ||||
| @@ -822,6 +824,7 @@ func Test_buildManifest(t *testing.T) { | ||||
| 						Description:           "A run pipe test formula", | ||||
| 						Homepage:              "https://github.com/goreleaser", | ||||
| 						URLTemplate:           "http://github.mycompany.com/foo/bar/{{ .Tag }}/{{ .ArtifactName }}", | ||||
| 						CommitMessageTemplate: "chore(scoop): update {{ .ProjectName }} version {{ .Tag }}", | ||||
| 						Persist:               []string{"data.cfg", "etc"}, | ||||
| 					}, | ||||
| 				}, | ||||
| @@ -862,6 +865,7 @@ func Test_buildManifest(t *testing.T) { | ||||
| 						Description:           "A run pipe test formula", | ||||
| 						Homepage:              "https://gitlab.com/goreleaser", | ||||
| 						URLTemplate:           "http://gitlab.mycompany.com/foo/bar/uploads/{{ .ArtifactUploadHash }}/{{ .ArtifactName }}", | ||||
| 						CommitMessageTemplate: "chore(scoop): update {{ .ProjectName }} version {{ .Tag }}", | ||||
| 						Persist:               []string{"data.cfg", "etc"}, | ||||
| 					}, | ||||
| 				}, | ||||
| @@ -961,6 +965,7 @@ func TestWrapInDirectory(t *testing.T) { | ||||
| 				Description:           "A run pipe test formula", | ||||
| 				Homepage:              "https://gitlab.com/goreleaser", | ||||
| 				URLTemplate:           "http://gitlab.mycompany.com/foo/bar/uploads/{{ .ArtifactUploadHash }}/{{ .ArtifactName }}", | ||||
| 				CommitMessageTemplate: "chore(scoop): update {{ .ProjectName }} version {{ .Tag }}", | ||||
| 				Persist:               []string{"data.cfg", "etc"}, | ||||
| 			}, | ||||
| 		}, | ||||
|   | ||||
| @@ -76,6 +76,7 @@ type Scoop struct { | ||||
| 	Name                  string       `yaml:",omitempty"` | ||||
| 	Bucket                Repo         `yaml:",omitempty"` | ||||
| 	CommitAuthor          CommitAuthor `yaml:"commit_author,omitempty"` | ||||
| 	CommitMessageTemplate string       `yaml:"commit_msg_template,omitempty"` | ||||
| 	Homepage              string       `yaml:",omitempty"` | ||||
| 	Description           string       `yaml:",omitempty"` | ||||
| 	License               string       `yaml:",omitempty"` | ||||
|   | ||||
| @@ -31,6 +31,9 @@ scoop: | ||||
|     name: goreleaserbot | ||||
|     email: goreleaser@carlosbecker.com | ||||
|  | ||||
|   # The project name and current git tag are used in the format string. | ||||
|   commit_msg_template: "Scoop update for {{ .ProjectName }} version {{ .Tag }}" | ||||
|  | ||||
|   # Your app's homepage. | ||||
|   # Default is empty. | ||||
|   homepage: "https://example.com/" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user