Browse Source
make: Add hotfix target to generate hotfix binaries (#11053 )
hotfix target will fetch the release tag prior to the latest commit and create a binary
with the same release tag plus '.hotfix' suffix
e.g. RELEASE.2020-12-03T05-49-24Z.hotfix
pull/11055/head
Anis Elleuch
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
24 additions and
2 deletions
Makefile
buildscripts/gen-ldflags.go
@ -71,6 +71,10 @@ build: checks
@echo "Building minio binary to './minio'"
@GO111MODULE= on CGO_ENABLED = 0 go build -tags kqueue -trimpath --ldflags " $( LDFLAGS) " -o $( PWD) /minio 1>/dev/null
hotfix : LDFLAGS := $( shell MINIO_RELEASE ="RELEASE " MINIO_HOTFIX ="hotfix " go run buildscripts /gen -ldflags .go $ ( shell git describe --tags --abbrev =0 | \
sed 's#RELEASE\.\([0-9]\+\)-\([0-9]\+\)-\([0-9]\+\)T\([0-9]\+\)-\([0-9]\+\)-\([0-9]\+\)Z#\1-\2-\3T\4:\5:\6Z#' ) )
hotfix : install
docker : checks
@echo " Building minio docker image ' $( TAG) ' "
@GOOS= linux GO111MODULE = on CGO_ENABLED = 0 go build -tags kqueue -trimpath --ldflags " $( LDFLAGS) " -o $( PWD) /minio 1>/dev/null
@ -44,10 +44,21 @@ func releaseTag(version string) string {
relPrefix = prefix
}
relSuffix := ""
if hotfix := os . Getenv ( "MINIO_HOTFIX" ) ; hotfix != "" {
relSuffix = hotfix
}
relTag := strings . Replace ( version , " " , "-" , - 1 )
relTag = strings . Replace ( relTag , ":" , "-" , - 1 )
relTag = strings . Replace ( relTag , "," , "" , - 1 )
return relPrefix + "." + relTag
relTag = relPrefix + "." + relTag
if relSuffix != "" {
relTag += "." + relSuffix
}
return relTag
}
// commitID returns the abbreviated commit-id hash of the last commit.
@ -68,5 +79,12 @@ func commitID() string {
}
func main ( ) {
fmt . Println ( genLDFlags ( time . Now ( ) . UTC ( ) . Format ( time . RFC3339 ) ) )
var version string
if len ( os . Args ) > 1 {
version = os . Args [ 1 ]
} else {
version = time . Now ( ) . UTC ( ) . Format ( time . RFC3339 )
}
fmt . Println ( genLDFlags ( version ) )
}