Files
zuul/zuul/driver/gerrit/__init__.py
Tobias Henkel 0445d03542 Status branch protection checking for github
The github provider was doing a very naive check for whether a PR was
able to be merged, simply checking if there was a current merge
conflict. We also want to make sure that if there are any branch
protection requirements these are also checked because if zuul tries to
merge a patch via github that doesn't meet the branch protection it will
be rejected and cause zuul to report a failure to users.

Change-Id: I66d54c2603c462cb029510dd4e37fc89afeb200d
Signed-off-by: Jamie Lennox <jamielennox@gmail.com>
Co-authored-by: Tobias Henkel <tobias.henkel@bmw.de>
2018-06-04 15:47:01 +02:00

50 lines
1.8 KiB
Python

# Copyright 2016 Red Hat, 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.
from zuul.driver import Driver, ConnectionInterface, TriggerInterface
from zuul.driver import SourceInterface, ReporterInterface
from zuul.driver.gerrit import gerritconnection
from zuul.driver.gerrit import gerrittrigger
from zuul.driver.gerrit import gerritsource
from zuul.driver.gerrit import gerritreporter
class GerritDriver(Driver, ConnectionInterface, TriggerInterface,
SourceInterface, ReporterInterface):
name = 'gerrit'
def getConnection(self, name, config):
return gerritconnection.GerritConnection(self, name, config)
def getTrigger(self, connection, config=None):
return gerrittrigger.GerritTrigger(self, connection, config)
def getSource(self, connection):
return gerritsource.GerritSource(self, connection)
def getReporter(self, connection, pipeline, config=None):
return gerritreporter.GerritReporter(self, connection, config)
def getTriggerSchema(self):
return gerrittrigger.getSchema()
def getReporterSchema(self):
return gerritreporter.getSchema()
def getRequireSchema(self):
return gerritsource.getRequireSchema()
def getRejectSchema(self):
return gerritsource.getRejectSchema()