func (c *Context) CodebaseName() string {
	repoUrl := c.RepoURL
	slashIndex := strings.LastIndex(repoUrl, "/")
	lastPart := repoUrl[slashIndex+1:]
	if strings.HasSuffix(lastPart, ".git") {
		lastPart = lastPart[:len(lastPart)-4]
	}
	return lastPart
}
CodebaseName tries to infer a name for the codebase from the repository
URL.

It does this by extracting the final slash-separated portion of the URL,
and removing a .git suffix if present.

For example, git@github.com:example/foo.git would return "foo".
package main
import (
	"fmt"
	"strings"
	"gopkg.in/libgit2/git2go.v26"
)
type Context struct {
	BuildNumber                   uint64
	BuildkitePipelineSlug         string
	BuildkiteOrganizationSlug     string
	BuildkiteAgentAccessToken     string
	BuildkiteAgentEndpointURL     string
	BuildkiteAPIAccessToken       string
	BuildkiteJobId                string
	BuildkiteBuildId              string
	ConfigFilename                string
	BranchName                    string
	BuildMessage                  string
	RepoURL                       string
	InPullRequest                 bool
	BuildEnvironment              string
	CodeVersion                   string
	SourceGitCommitId             string
	ArtifactsFromBuildNumber      string
	OverrideDeployEnvironmentName string
}
type StepContext struct {
	EnvironmentName string
	QueueName       string
	EmojiName       string
	Cautious        bool
}