diff --git a/.goreleaser.yml b/.goreleaser.yml index fa0343cf799..7da443a5128 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -31,7 +31,10 @@ builds: goarch: - amd64 ldflags: - - -s -w -X github.com/arduino/arduino-cli/version.versionString={{.Tag}} -X github.com/arduino/arduino-cli/version.commit={{ .ShortCommit }} + - -s -w + - -X github.com/arduino/arduino-cli/version.versionString={{.Tag}} + - -X github.com/arduino/arduino-cli/version.commit={{ .ShortCommit }} + - -X github.com/arduino/arduino-cli/version.date={{.Date}} - # ARM id: arduino_cli_arm binary: arduino-cli @@ -45,7 +48,10 @@ builds: goarm: - 6 ldflags: - - -s -w -X github.com/arduino/arduino-cli/version.versionString={{.Tag}} -X github.com/arduino/arduino-cli/version.commit={{ .ShortCommit }} + - -s -w + - -X github.com/arduino/arduino-cli/version.versionString={{.Tag}} + - -X github.com/arduino/arduino-cli/version.commit={{ .ShortCommit }} + - -X github.com/arduino/arduino-cli/version.date={{.Date}} - "-extldflags '-static'" - # ARMv7 id: arduino_cli_armv7 @@ -60,7 +66,10 @@ builds: goarm: - 7 ldflags: - - -s -w -X github.com/arduino/arduino-cli/version.versionString={{.Tag}} -X github.com/arduino/arduino-cli/version.commit={{ .ShortCommit }} + - -s -w + - -X github.com/arduino/arduino-cli/version.versionString={{.Tag}} + - -X github.com/arduino/arduino-cli/version.commit={{ .ShortCommit }} + - -X github.com/arduino/arduino-cli/version.date={{.Date}} - "-extldflags '-static'" - # ARM64 id: arduino_cli_arm64 @@ -73,7 +82,10 @@ builds: goarch: - arm64 ldflags: - - -s -w -X github.com/arduino/arduino-cli/version.versionString={{.Tag}} -X github.com/arduino/arduino-cli/version.commit={{ .ShortCommit }} + - -s -w + - -X github.com/arduino/arduino-cli/version.versionString={{.Tag}} + - -X github.com/arduino/arduino-cli/version.commit={{ .ShortCommit }} + - -X github.com/arduino/arduino-cli/version.date={{.Date}} - "-extldflags '-static'" - # All the other platforms id: arduino_cli @@ -87,7 +99,10 @@ builds: - amd64 - 386 ldflags: - - -s -w -X github.com/arduino/arduino-cli/version.versionString={{.Tag}} -X github.com/arduino/arduino-cli/version.commit={{ .ShortCommit }} + - -s -w + - -X github.com/arduino/arduino-cli/version.versionString={{.Tag}} + - -X github.com/arduino/arduino-cli/version.commit={{ .ShortCommit }} + - -X github.com/arduino/arduino-cli/version.date={{.Date}} - "-extldflags '-static'" archives: diff --git a/Taskfile.yml b/Taskfile.yml index d93a4008332..6647e32dfba 100755 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -202,15 +202,19 @@ vars: # build vars COMMIT: sh: echo ${TRAVIS_COMMIT:-`git log -n 1 --format=%h`} + TIMESTAMP: + sh: echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ")" LDFLAGS: > - -ldflags '-X github.com/arduino/arduino-cli/version.commit={{.COMMIT}}' + -ldflags '-X github.com/arduino/arduino-cli/version.commit={{.COMMIT}} + -X github.com/arduino/arduino-cli/version.date={{.TIMESTAMP}}' # test vars GOFLAGS: "-timeout 10m -v -coverpkg=./... -covermode=atomic" TEST_VERSIONSTRING: "0.0.0-test.preview" TEST_COMMIT: "deadbeef" TEST_LDFLAGS: > -ldflags '-X github.com/arduino/arduino-cli/version.versionString={{.TEST_VERSIONSTRING}} - -X github.com/arduino/arduino-cli/version.commit={{.TEST_COMMIT}}' + -X github.com/arduino/arduino-cli/version.commit={{.TEST_COMMIT}} + -X github.com/arduino/arduino-cli/version.date={{.TIMESTAMP}}' # check-lint vars GOLINTBIN: sh: go list -f {{"{{"}}".Target{{"}}"}}" golang.org/x/lint/golint diff --git a/version/version.go b/version/version.go index b9c149f70c9..65321df753f 100644 --- a/version/version.go +++ b/version/version.go @@ -24,6 +24,7 @@ var ( versionString = "" commit = "" status = "alpha" + date = "" ) // Info FIXMEDOC @@ -32,6 +33,7 @@ type Info struct { VersionString string `json:"VersionString"` Commit string `json:"Commit"` Status string `json:"Status"` + Date string `json:"Date"` } // NewInfo FIXMEDOC @@ -41,11 +43,12 @@ func NewInfo(application string) *Info { VersionString: versionString, Commit: commit, Status: status, + Date: date, } } func (i *Info) String() string { - return fmt.Sprintf("%s %s Version: %s Commit: %s", i.Application, i.Status, i.VersionString, i.Commit) + return fmt.Sprintf("%s %s Version: %s Commit: %s Date: %s", i.Application, i.Status, i.VersionString, i.Commit, i.Date) } //nolint:gochecknoinits