github.com/keltia/go-ipfs@v0.3.8-0.20150909044612-210793031c63/util/testutil/ci/jenkins/jenkins.go (about) 1 // Package jenkins implements some helper functions to use during 2 // tests. Many times certain facilities are not available, or tests 3 // must run differently. 4 package jenkins 5 6 import ( 7 "os" 8 "strings" 9 ) 10 11 // EnvVar is a type to use travis-only env var names with 12 // the type system. 13 type EnvVar string 14 15 // Environment variables that Jenkins uses. 16 const ( 17 VarBuildNumber EnvVar = "BUILD_NUMBER" 18 VarBuildId EnvVar = "BUILD_ID" 19 VarBuildUrl EnvVar = "BUILD_URL" 20 VarNodeName EnvVar = "NODE_NAME" 21 VarJobName EnvVar = "JOB_NAME" 22 VarBuildTag EnvVar = "BUILD_TAG" 23 VarJenkinsUrl EnvVar = "JENKINS_URL" 24 VarExecutorNumber EnvVar = "EXECUTOR_NUMBER" 25 VarJavaHome EnvVar = "JAVA_HOME" 26 VarWorkspace EnvVar = "WORKSPACE" 27 VarSvnRevision EnvVar = "SVN_REVISION" 28 VarCvsBranch EnvVar = "CVS_BRANCH" 29 VarGitCommit EnvVar = "GIT_COMMIT" 30 VarGitUrl EnvVar = "GIT_URL" 31 VarGitBranch EnvVar = "GIT_BRANCH" 32 ) 33 34 // IsRunning attempts to determine whether this process is 35 // running on Jenkins CI. This is done by checking any of the 36 // following: 37 // 38 // JENKINS_URL is set 39 // BuildTag has prefix "jenkins-" 40 // 41 func IsRunning() bool { 42 return len(Env(VarJenkinsUrl)) > 0 || strings.HasPrefix(Env(VarBuildTag), "jenkins-") 43 } 44 45 // Env returns the value of a travis env variable. 46 func Env(v EnvVar) string { 47 return os.Getenv(string(v)) 48 } 49 50 // JobName returns the jenkins JOB_NAME of this build. 51 func JobName() string { 52 return Env(VarJobName) 53 } 54 55 // BuildTag returns the jenkins BUILD_TAG. 56 func BuildTag() string { 57 return Env(VarBuildTag) 58 }