func init() { DefaultTargetPaths = append(DefaultTargetPaths, filepath.Join("artifacts", env.Get("TRAVIS_BUILD_NUMBER", ""), env.Get("TRAVIS_JOB_NUMBER", ""))) DefaultRepoSlug = env.Get("TRAVIS_REPO_SLUG", "") DefaultBuildNumber = env.Get("TRAVIS_BUILD_NUMBER", "") DefaultBuildID = env.Get("TRAVIS_BUILD_ID", "") DefaultJobNumber = env.Get("TRAVIS_JOB_NUMBER", "") DefaultJobID = env.Get("TRAVIS_JOB_ID", "") }
// NewOptions makes some *Options with defaults! func NewOptions() *Options { cwd, _ := os.Getwd() cwd = env.Get("TRAVIS_BUILD_DIR", cwd) targetPaths := env.ExpandSlice(env.Slice("ARTIFACTS_TARGET_PATHS", ":", []string{})) if len(targetPaths) == 0 { targetPaths = DefaultTargetPaths } return &Options{ AccessKey: env.Cascade([]string{ "ARTIFACTS_KEY", "ARTIFACTS_AWS_ACCESS_KEY", "AWS_ACCESS_KEY_ID", "AWS_ACCESS_KEY", }, ""), SecretKey: env.Cascade([]string{ "ARTIFACTS_SECRET", "ARTIFACTS_AWS_SECRET_KEY", "AWS_SECRET_ACCESS_KEY", "AWS_SECRET_KEY", }, ""), BucketName: strings.TrimSpace(env.Cascade([]string{ "ARTIFACTS_BUCKET", "ARTIFACTS_S3_BUCKET", }, "")), CacheControl: strings.TrimSpace(env.Get("ARTIFACTS_CACHE_CONTROL", DefaultCacheControl)), Perm: s3.ACL(env.Get("ARTIFACTS_PERMISSIONS", DefaultPerm)), RepoSlug: DefaultRepoSlug, BuildNumber: DefaultBuildNumber, BuildID: DefaultBuildID, JobNumber: DefaultJobNumber, JobID: DefaultJobID, Concurrency: env.Uint("ARTIFACTS_CONCURRENCY", DefaultConcurrency), MaxSize: env.UintSize("ARTIFACTS_MAX_SIZE", DefaultMaxSize), Paths: env.ExpandSlice(env.Slice("ARTIFACTS_PATHS", ":", DefaultPaths)), Provider: env.Get("ARTIFACTS_UPLOAD_PROVIDER", DefaultUploadProvider), Retries: env.Uint("ARTIFACTS_RETRIES", DefaultRetries), TargetPaths: targetPaths, WorkingDir: cwd, ArtifactsSaveHost: env.Get("ARTIFACTS_SAVE_HOST", ""), ArtifactsAuthToken: env.Get("ARTIFACTS_AUTH_TOKEN", ""), } }