autotypist/simpleRelease.go

36 lines
696 B
Go

package main
import (
"net/http"
"strings"
)
// attempts a simple release
// merge user branch -> devel; then;
// git push
// merge devel branch -> master; then;
// git push
// increments the minor version by 1; then;
// git push --tags
func simpleRelease(w http.ResponseWriter, r *http.Request) {
repoName := r.URL.Query().Get("repo")
if repoName == "" {
return
}
// git pull (or go-clone of it doesn't exist)
repo := me.repos.View.FindRepoByName(repoName)
if repo == nil {
return
}
header := repo.StandardHeader()
if repo.CheckDirty() {
msg(w, header+"skip dirty repo")
continue
}
cmd := []string{"git", "pull", "-v"}
msg(w, header+strings.Join(cmd, " "))
return
}