github.com/keltia/go-ipfs@v0.3.8-0.20150909044612-210793031c63/util/testutil/ci/travis/travis.go (about) 1 // Package travis implements some helper functions to use during 2 // tests. Many times certain facilities are not available, or tests 3 // must run differently. 4 package travis 5 6 import "os" 7 8 // EnvVar is a type to use travis-only env var names with 9 // the type system. 10 type EnvVar string 11 12 // Environment variables that TravisCI uses. 13 const ( 14 VarCI EnvVar = "CI" 15 VarTravis EnvVar = "TRAVIS" 16 VarBranch EnvVar = "TRAVIS_BRANCH" 17 VarBuildDir EnvVar = "TRAVIS_BUILD_DIR" 18 VarBuildId EnvVar = "TRAVIS_BUILD_ID" 19 VarBuildNumber EnvVar = "TRAVIS_BUILD_NUMBER" 20 VarCommit EnvVar = "TRAVIS_COMMIT" 21 VarCommitRange EnvVar = "TRAVIS_COMMIT_RANGE" 22 VarJobId EnvVar = "TRAVIS_JOB_ID" 23 VarJobNumber EnvVar = "TRAVIS_JOB_NUMBER" 24 VarPullRequest EnvVar = "TRAVIS_PULL_REQUEST" 25 VarSecureEnvVars EnvVar = "TRAVIS_SECURE_ENV_VARS" 26 VarRepoSlug EnvVar = "TRAVIS_REPO_SLUG" 27 VarOsName EnvVar = "TRAVIS_OS_NAME" 28 VarTag EnvVar = "TRAVIS_TAG" 29 VarGoVersion EnvVar = "TRAVIS_GO_VERSION" 30 ) 31 32 // IsRunning attempts to determine whether this process is 33 // running on Travis-CI. This is done by checking ALL of the 34 // following env vars are set: 35 // 36 // CI=true 37 // TRAVIS=true 38 // 39 // Note: cannot just check CI. 40 func IsRunning() bool { 41 return Env(VarCI) == "true" && Env(VarTravis) == "true" 42 } 43 44 // Env returns the value of a travis env variable. 45 func Env(v EnvVar) string { 46 return os.Getenv(string(v)) 47 } 48 49 // JobId returns the travis JOB_ID of this build. 50 func JobId() string { 51 return Env(VarJobId) 52 } 53 54 // JobNumber returns the travis JOB_NUMBER of this build. 55 func JobNumber() string { 56 return Env(VarJobNumber) 57 }