1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-17 20:47:50 +02:00

release decs with go version

This commit is contained in:
Carlos Alexandro Becker 2016-12-29 11:21:50 -02:00
parent 014d348290
commit c6668ed741
No known key found for this signature in database
GPG Key ID: E61E2F7DC14AB940
2 changed files with 31 additions and 6 deletions

View File

@ -10,6 +10,7 @@ import (
"github.com/goreleaser/releaser/config"
"github.com/goreleaser/releaser/uname"
"golang.org/x/oauth2"
"os/exec"
)
func Release(version, diff string, config config.ProjectConfig) error {
@ -22,14 +23,12 @@ func Release(version, diff string, config config.ProjectConfig) error {
owner := strings.Split(config.Repo, "/")[0]
repo := strings.Split(config.Repo, "/")[1]
// TODO update release if it already exists
// TODO add `go version` to the description
r, _, err := client.Repositories.CreateRelease(owner, repo, &github.RepositoryRelease{
releaseData := &github.RepositoryRelease{
Name: github.String(version),
TagName: github.String(version),
Body: github.String(diff + "\n\nAutomated with @goreleaser"),
})
Body: github.String(description(diff)),
}
r, _, err := client.Repositories.CreateRelease(owner, repo, releaseData)
if err != nil {
return err
}
@ -43,6 +42,16 @@ func Release(version, diff string, config config.ProjectConfig) error {
return nil
}
func description(diff string) string {
result := diff + "\n\nAutomated with @goreleaser"
cmd := exec.Command("go", "version")
bts, err := cmd.CombinedOutput()
if err != nil {
return result
}
return result + "\nBuilt with " + string(bts)
}
func upload(client *github.Client, releaseID int, owner, repo, system, arch, binaryName string) error {
name := binaryName + "_" + uname.FromGo(system) + "_" + uname.FromGo(arch) + ".tar.gz"
file, err := os.Open("dist/" + name)

16
release/release_test.go Normal file
View File

@ -0,0 +1,16 @@
package release
import (
"testing"
"github.com/stretchr/testify/assert"
"fmt"
)
func TestDescription(t *testing.T) {
assert := assert.New(t)
desc := description("0abf342 some message")
assert.Contains(desc, "0abf342 some message")
assert.Contains(desc, "Automated with @goreleaser")
assert.Contains(desc, "go version go1.")
fmt.Println(desc)
}