disable cache for public repo pull requests (for now)

This commit is contained in:
Brad Rydzewski 2015-08-19 15:49:27 -07:00
parent 3b020f75f6
commit 0c4c5d81a9
2 changed files with 14 additions and 0 deletions

View file

@ -32,6 +32,7 @@ func setup(c *Context) error {
Network: false, Network: false,
Privileged: false, Privileged: false,
Volumes: false, Volumes: false,
Caching: false,
Whitelist: c.Plugins, Whitelist: c.Plugins,
} }
@ -41,6 +42,14 @@ func setup(c *Context) error {
opts.Network = true opts.Network = true
opts.Privileged = true opts.Privileged = true
opts.Volumes = true opts.Volumes = true
opts.Caching = true
}
// if repository is public, and a pull request, disable
// the cache.
if c.Repo.Private == false &&
c.Build.PullRequest != nil &&
c.Build.PullRequest.Number != 0 {
opts.Caching = false
} }
// inject the matrix parameters into the yaml // inject the matrix parameters into the yaml

View file

@ -15,6 +15,7 @@ type Opts struct {
Volumes bool Volumes bool
Network bool Network bool
Privileged bool Privileged bool
Caching bool
Whitelist []string Whitelist []string
} }
@ -22,6 +23,7 @@ var DefaultOpts = &Opts{
Volumes: false, Volumes: false,
Network: false, Network: false,
Privileged: false, Privileged: false,
Caching: true,
Whitelist: []string{"plugins/*"}, Whitelist: []string{"plugins/*"},
} }
@ -86,6 +88,9 @@ func ParseSingle(raw string, opts *Opts, r *common.Repo) (*common.Config, error)
transform.RemovePrivileged(conf) transform.RemovePrivileged(conf)
} }
transform.Repo(conf, r) transform.Repo(conf, r)
if !opts.Caching {
transform.RemoveVolumes(conf)
}
// lint the yaml file // lint the yaml file
err = Lint(conf) err = Lint(conf)