code: func GenerateBuildInfo() error {
  	mg.SerialDeps(EnsureCleanTree)
  
  	// The first thing we need is the `git` SHA
  	cmd := exec.Command("git", "rev-parse", "HEAD")
  	var stdout, stderr bytes.Buffer
  	cmd.Stdout = &stdout
  	cmd.Stderr = &stderr
  	err := cmd.Run()
  	if err != nil {
  		return err
  	}
  	stdOutResult := strings.TrimSpace(string(stdout.Bytes()))
  
  	// Super = update the buildinfo data
  	buildInfoTemplate := `package sparta
  
  // THIS FILE IS AUTOMATICALLY GENERATED
  // DO NOT EDIT
  // CREATED: %s
  
  // SpartaGitHash is the commit hash of this Sparta library
  const SpartaGitHash = "%s"
  `
  	updatedInfo := fmt.Sprintf(buildInfoTemplate, time.Now().UTC(), stdOutResult)
  	// Write it to the output location...
  	writeErr := ioutil.WriteFile("./buildinfo.go", []byte(updatedInfo), os.ModePerm)
  
  	if writeErr != nil {
  		return writeErr
  	}
  	commitGenerateCommands := [][]string{
  		{"git", "diff"},
  		{"git", "commit", "-a", "-m", `"Autogenerated build info"`},
  	}
  	return spartamage.Script(commitGenerateCommands)
  
  }
docs: ////////////////////////////////////////////////////////////////////////////////
  // END - DOCUMENTATION
  ////////////////////////////////////////////////////////////////////////////////
  // GenerateBuildInfo creates the automatic buildinfo.go file so that we can
  // stamp the SHA into the binaries we build...