diff --git a/build/ci.go b/build/ci.go index 5968e37024..cb89e914bb 100644 --- a/build/ci.go +++ b/build/ci.go @@ -430,6 +430,10 @@ func maybeSkipArchive(env build.Environment) { log.Printf("skipping because this is a PR build") os.Exit(0) } + if env.IsCronJob { + log.Printf("skipping because this is a cron job") + os.Exit(0) + } if env.Branch != "master" && !strings.HasPrefix(env.Tag, "v1.") { log.Printf("skipping because branch %q, tag %q is not on the whitelist", env.Branch, env.Tag) os.Exit(0) @@ -965,9 +969,10 @@ func doPurge(cmdline []string) { ) flag.CommandLine.Parse(cmdline) - env := build.Env() - maybeSkipArchive(env) - + if env := build.Env(); !env.IsCronJob { + log.Printf("skipping because not a cron job") + os.Exit(0) + } // Create the azure authentication and list the current archives auth := build.AzureBlobstoreConfig{ Account: strings.Split(*store, "/")[0], diff --git a/internal/build/env.go b/internal/build/env.go index 15b2dfe418..c47681ebed 100644 --- a/internal/build/env.go +++ b/internal/build/env.go @@ -30,6 +30,7 @@ var ( GitTagFlag = flag.String("git-tag", "", `Overrides git tag being built`) BuildnumFlag = flag.String("buildnum", "", `Overrides CI build number`) PullRequestFlag = flag.Bool("pull-request", false, `Overrides pull request status of the build`) + CronJobFlag = flag.Bool("cron-job", false, `Overrides cron job status of the build`) ) // Environment contains metadata provided by the build environment. @@ -39,6 +40,7 @@ type Environment struct { Commit, Branch, Tag string // Git info Buildnum string IsPullRequest bool + IsCronJob bool } func (env Environment) String() string { @@ -59,6 +61,7 @@ func Env() Environment { Tag: os.Getenv("TRAVIS_TAG"), Buildnum: os.Getenv("TRAVIS_BUILD_NUMBER"), IsPullRequest: os.Getenv("TRAVIS_PULL_REQUEST") != "false", + IsCronJob: os.Getenv("TRAVIS_EVENT_TYPE") == "cron", } case os.Getenv("CI") == "True" && os.Getenv("APPVEYOR") == "True": return Environment{ @@ -69,6 +72,7 @@ func Env() Environment { Tag: os.Getenv("APPVEYOR_REPO_TAG_NAME"), Buildnum: os.Getenv("APPVEYOR_BUILD_NUMBER"), IsPullRequest: os.Getenv("APPVEYOR_PULL_REQUEST_NUMBER") != "", + IsCronJob: os.Getenv("APPVEYOR_SCHEDULED_BUILD") == "True", } default: return LocalEnv() @@ -118,5 +122,8 @@ func applyEnvFlags(env Environment) Environment { if *PullRequestFlag { env.IsPullRequest = true } + if *CronJobFlag { + env.IsCronJob = true + } return env }