Skip to content
Permalink
23642b92d0
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
100 lines (86 sloc) 2.71 KB
// Copyright 2019 Drone IO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package trigger
import (
"strings"
"github.com/drone/drone-yaml/yaml"
"github.com/drone/drone/core"
)
func skipBranch(document *yaml.Pipeline, branch string) bool {
return !document.Trigger.Branch.Match(branch)
}
func skipRef(document *yaml.Pipeline, ref string) bool {
return !document.Trigger.Ref.Match(ref)
}
func skipEvent(document *yaml.Pipeline, event string) bool {
return !document.Trigger.Event.Match(event)
}
func skipAction(document *yaml.Pipeline, action string) bool {
return !document.Trigger.Action.Match(action)
}
func skipInstance(document *yaml.Pipeline, instance string) bool {
return !document.Trigger.Instance.Match(instance)
}
func skipTarget(document *yaml.Pipeline, env string) bool {
return !document.Trigger.Target.Match(env)
}
func skipRepo(document *yaml.Pipeline, repo string) bool {
return !document.Trigger.Repo.Match(repo)
}
func skipCron(document *yaml.Pipeline, cron string) bool {
return !document.Trigger.Cron.Match(cron)
}
func skipMessage(hook *core.Hook) bool {
switch {
case hook.Event == core.EventTag:
return false
case hook.Event == core.EventCron:
return false
case hook.Event == core.EventCustom:
return false
case skipMessageEval(hook.Message):
return true
case skipMessageEval(hook.Title):
return true
default:
return false
}
}
func skipMessageEval(str string) bool {
lower := strings.ToLower(str)
switch {
case strings.Contains(lower, "[ci skip]"),
strings.Contains(lower, "[skip ci]"),
strings.Contains(lower, "***no_ci***"):
return true
default:
return false
}
}
// func skipPaths(document *config.Config, paths []string) bool {
// switch {
// // changed files are only returned for push and pull request
// // events. If the list of changed files is empty the system will
// // force-run all pipelines and pipeline steps
// case len(paths) == 0:
// return false
// // github returns a maximum of 300 changed files from the
// // api response. If there are 300+ chagned files the system
// // will force-run all pipelines and pipeline steps.
// case len(paths) >= 300:
// return false
// default:
// return !document.Trigger.Paths.MatchAny(paths)
// }
// }