liuxiaolong
2022-06-28 37714b1093c04061e636e5b1d27179652e671c0a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Makefile for releasing.
#
# The release is controlled from version.go. The version found there is
# used to tag the git repo, we're not building any artifects so there is nothing
# to upload to github.
#
# * Up the version in version.go
# * Run: make -f Makefile.release release
#   * will *commit* your change with 'Release $VERSION'
#   * push to github
#
 
define GO
//+build ignore
 
package main
 
import (
    "fmt"
 
    "github.com/miekg/dns"
)
 
func main() {
    fmt.Println(dns.Version.String())
}
endef
 
$(file > version_release.go,$(GO))
VERSION:=$(shell go run version_release.go)
TAG="v$(VERSION)"
 
all:
    @echo Use the \'release\' target to start a release $(VERSION)
    rm -f version_release.go
 
.PHONY: release
release: commit push
    @echo Released $(VERSION)
    rm -f version_release.go
 
.PHONY: commit
commit:
    @echo Committing release $(VERSION)
    git commit -am"Release $(VERSION)"
    git tag $(TAG)
 
.PHONY: push
push:
    @echo Pushing release $(VERSION) to master
    git push --tags
    git push