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  }