feat(cli): add current version command

This commit is contained in:
Nightapes
2020-02-18 19:19:09 +01:00
parent 95bef6cb2d
commit 343e660e8e
2 changed files with 60 additions and 1 deletions

View File

@@ -0,0 +1,58 @@
package commands
import (
"fmt"
"github.com/Nightapes/go-semantic-release/pkg/semanticrelease"
log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
)
func init() {
rootCmd.AddCommand(lastCmd)
}
var lastCmd = &cobra.Command{
Use: "last",
Short: "Get last version",
RunE: func(cmd *cobra.Command, args []string) error {
config, err := cmd.Flags().GetString("config")
if err != nil {
return err
}
repository, err := cmd.Flags().GetString("repository")
if err != nil {
return err
}
force, err := cmd.Flags().GetBool("no-cache")
if err != nil {
return err
}
ignoreConfigChecks, err := cmd.Flags().GetBool("no-checks")
if err != nil {
return err
}
s, err := semanticrelease.New(readConfig(config), repository, !ignoreConfigChecks)
if err != nil {
return err
}
provider, err := s.GetCIProvider()
if err != nil {
log.Infof("Will not calculate version, set fake version. Could not find CI Provider, if running locally, set env CI=true")
fmt.Println("0.0.0-fake.0")
return nil
}
releaseVersion, err := s.GetNextVersion(provider, force)
if err != nil {
return err
}
fmt.Println(releaseVersion.Last.Version.String())
return nil
},
}