56 lines
1.0 KiB
Bash
56 lines
1.0 KiB
Bash
go="${GO:-go}"
|
|
readonly go
|
|
|
|
|
|
bump_minor='/^v[0-9]+\.[0-9]+\.0$/ {
|
|
print($1 "." $2 + 1 ".0");
|
|
|
|
next;
|
|
}
|
|
|
|
{
|
|
printf("invalid release version: \"%s\"\n", $0);
|
|
|
|
exit 1;
|
|
}'
|
|
readonly bump_minor
|
|
|
|
|
|
get_last_minor_zero() {
|
|
git tag\
|
|
| grep -e 'v[0-9]\+\.[0-9]\+\.0$'\
|
|
| sort -k 1.2,1nr -k 2,2nr -t '.'\
|
|
| head -n 1
|
|
}
|
|
|
|
|
|
last_minor_zero="$( get_last_minor_zero )"
|
|
readonly last_minor_zero
|
|
num_commits_since_minor="$( git rev-list --count "${last_minor_zero}..HEAD" )"
|
|
readonly num_commits_since_minor
|
|
|
|
next_minor="$( echo "$last_minor_zero" | awk -F '.' "$bump_minor" )"
|
|
readonly next_minor
|
|
|
|
version="${next_minor}-a.${num_commits_since_minor}+$( git rev-parse --short HEAD )"
|
|
|
|
CGO_ENABLED='1'
|
|
GO111MODULE='on'
|
|
export CGO_ENABLED
|
|
export GO111MODULE
|
|
|
|
version_pkg='github.com/AdguardTeam/AdGuardHome/internal/version'
|
|
readonly version_pkg
|
|
|
|
ldflags="-s -w"
|
|
ldflags="${ldflags} -X ${version_pkg}.version=${version}"
|
|
ldflags="${ldflags} -X ${version_pkg}.channel=${channel}"
|
|
|
|
"$go" build\
|
|
--ldflags "$ldflags"\
|
|
--race=1\
|
|
--trimpath\
|
|
-o=AdGuardHome\
|
|
-v=1\
|
|
-x=1
|