Files
71fcf94c5e [MM-67744] Add -buildvcs=false to default GOFLAGS (#35587)
* Add -buildvcs=false to default GOFLAGS

This prevents Go from embedding VCS information into binaries, which
avoids false positives in container vulnerability scanners like Trivy
when using Go workspaces with enterprise dependencies.

Also updates mmctl-build target to use $(GO) and $(GOFLAGS) for
consistency with other build targets.

Made-with: Cursor

* Update comment wording

Trigger PR sync to test Enterprise CI

Made-with: Cursor

* Trigger CI to test Enterprise CI fix

Made-with: Cursor

* Test Enterprise CI

Made-with: Cursor

* replace buildvcs metadata in mmctl

* rm redundant -buildvcs=false in GitHub actions

* update mmctl-docs to $(GO)

* simplify getVersionInfo signature

* use GOOS/GOARCH convention

* export GOFLAGS for common use

* Clarify version.go var block comment

---------

Co-authored-by: Jesse Hallam <[email protected]>
2026-03-20 10:28:36 -03:00

67 lines
1.6 KiB
Go

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
package commands
import (
"fmt"
"runtime"
"github.com/mattermost/mattermost/server/public/model"
"github.com/mattermost/mattermost/server/v8/cmd/mmctl/printer"
"github.com/spf13/cobra"
)
// Version defaults to model.CurrentVersion. buildDate, gitCommit,
// gitTreeState, and commitDate are set via -X ldflags at build time.
// See MMCTL_LDFLAGS in the Makefile.
var (
Version = model.CurrentVersion
buildDate = "dev"
gitCommit = "dev"
gitTreeState = "dev"
commitDate = "dev"
)
var VersionCmd = &cobra.Command{
Use: "version",
Short: "Prints the version of mmctl.",
RunE: versionCmdF,
}
func init() {
RootCmd.AddCommand(VersionCmd)
}
func versionCmdF(cmd *cobra.Command, args []string) error {
printer.PrintT("mmctl:\nVersion:\t{{.Version}}\nBuiltDate:\t{{.BuildDate}}\nCommitDate:\t{{.CommitDate}}\nGitCommit:\t{{.GitCommit}}"+
"\nGitTreeState:\t{{.GitTreeState}}\nGoVersion:\t{{.GoVersion}}"+
"\nCompiler:\t{{.Compiler}}\nPlatform:\t{{.Platform}}", getVersionInfo())
return nil
}
type Info struct {
Version string
BuildDate string
CommitDate string
GitCommit string
GitTreeState string
GoVersion string
Compiler string
Platform string
}
func getVersionInfo() *Info {
return &Info{
Version: Version,
BuildDate: buildDate,
CommitDate: commitDate,
GitCommit: gitCommit,
GitTreeState: gitTreeState,
GoVersion: runtime.Version(),
Compiler: runtime.Compiler,
Platform: fmt.Sprintf("%s/%s", runtime.GOOS, runtime.GOARCH),
}
}