diff --git a/pagure/hooks/default.py b/pagure/hooks/default.py index 475969a..cc62020 100644 --- a/pagure/hooks/default.py +++ b/pagure/hooks/default.py @@ -172,6 +172,7 @@ def send_notifications(session, project, repodir, user, refname, revs, forced): cause=revs[-1], branch=refname, ci_type=project.ci_hook.ci_type, + branch_to=None, ) diff --git a/pagure/lib/lib_ci.py b/pagure/lib/lib_ci.py index bc3693d..f2a30ec 100644 --- a/pagure/lib/lib_ci.py +++ b/pagure/lib/lib_ci.py @@ -129,7 +129,9 @@ def process_jenkins_build(session, project, build_id, iteration=0): session.commit() -def trigger_jenkins_build(project_path, url, job, token, branch, cause): +def trigger_jenkins_build( + project_path, url, job, token, branch, branch_to, cause +): """ Trigger a build on a jenkins instance.""" try: import jenkins @@ -141,7 +143,12 @@ def trigger_jenkins_build(project_path, url, job, token, branch, cause): repo = "%s/%s" % (pagure_config["GIT_URL_GIT"].rstrip("/"), project_path) - data = {"cause": cause, "REPO": repo, "BRANCH": branch} + data = { + "cause": cause, + "REPO": repo, + "BRANCH": branch, + "BRANCH_TO": branch_to, + } server = jenkins.Jenkins(url) _log.info( diff --git a/pagure/lib/query.py b/pagure/lib/query.py index a9257f2..5313c9e 100644 --- a/pagure/lib/query.py +++ b/pagure/lib/query.py @@ -1347,6 +1347,7 @@ def add_pull_request_comment( pr_uid=request.uid, cause=request.id, branch=request.branch_from, + branch_to=request.branch, ci_type=request.project.ci_hook.ci_type, ) ci_triggered = True @@ -1371,6 +1372,7 @@ def add_pull_request_comment( pr_uid=request.uid, cause=request.id, branch=request.branch_from, + branch_to=request.branch, ci_type=request.project.ci_hook.ci_type, ) @@ -1909,6 +1911,7 @@ def new_pull_request( pr_uid=request.uid, cause=request.id, branch=request.branch_from, + branch_to=request.branch, ci_type=request.project.ci_hook.ci_type, ) diff --git a/pagure/lib/tasks_services.py b/pagure/lib/tasks_services.py index 6a30446..4cef4e9 100644 --- a/pagure/lib/tasks_services.py +++ b/pagure/lib/tasks_services.py @@ -392,7 +392,14 @@ def load_json_commits_to_db( @conn.task(queue=pagure_config.get("CI_CELERY_QUEUE", None), bind=True) @pagure_task def trigger_ci_build( - self, session, cause, branch, ci_type, project_name=None, pr_uid=None + self, + session, + cause, + branch, + branch_to, + ci_type, + project_name=None, + pr_uid=None, ): """ Triggers a new run of the CI system on the specified pull-request. @@ -471,6 +478,7 @@ def trigger_ci_build( job=job, token=token, branch=branch, + branch_to=branch_to, cause=cause, ) diff --git a/tests/test_pagure_lib_task_services.py b/tests/test_pagure_lib_task_services.py index 6c2b2e4..a5063bd 100644 --- a/tests/test_pagure_lib_task_services.py +++ b/tests/test_pagure_lib_task_services.py @@ -122,6 +122,7 @@ class PagureLibTaskServicestests(tests.Modeltests): project_name='invalid', cause='PR#ID', branch='feature', + branch_to='master', ci_type='jenkins') self.assertIsNone(output) trigger_jenk.assert_not_called() @@ -135,6 +136,7 @@ class PagureLibTaskServicestests(tests.Modeltests): project_name='test', cause='PR#ID', branch='feature', + branch_to='master', ci_type='jenkins') trigger_jenk.assert_not_called() @@ -147,6 +149,7 @@ class PagureLibTaskServicestests(tests.Modeltests): project_name='forks/foo/test', cause='PR#ID', branch='feature', + branch_to='master', ci_type='jenkins') trigger_jenk.assert_not_called() @@ -554,6 +557,7 @@ class PagureLibTaskServicesJenkinsCItests(tests.Modeltests): project_name='test', cause='PR#ID', branch='feature', + branch_to='master', ci_type='travis') self.assertIsNone(output) trigger_jenk.assert_not_called() @@ -565,6 +569,7 @@ class PagureLibTaskServicesJenkinsCItests(tests.Modeltests): project_name='forks/foo/test', cause='PR#ID', branch='feature', + branch_to='master', ci_type='travis') self.assertIsNone(output) trigger_jenk.assert_not_called() @@ -576,6 +581,7 @@ class PagureLibTaskServicesJenkinsCItests(tests.Modeltests): project_name='test', cause='PR#ID', branch='feature', + branch_to='master', ci_type='jenkins') self.assertIsNone(output) trigger_jenk.assert_called_once_with( @@ -584,7 +590,8 @@ class PagureLibTaskServicesJenkinsCItests(tests.Modeltests): job=u'pagure', project_path=u'test.git', token=u'random_token', - url=u'https://ci.server.org/' + url=u'https://ci.server.org/', + branch_to='master', ) @patch('pagure.lib.tasks_services.trigger_jenkins_build') @@ -594,6 +601,7 @@ class PagureLibTaskServicesJenkinsCItests(tests.Modeltests): project_name='forks/foo/test', cause='PR#ID', branch='feature', + branch_to='master', ci_type='jenkins') self.assertIsNone(output) trigger_jenk.assert_called_once_with( @@ -602,7 +610,8 @@ class PagureLibTaskServicesJenkinsCItests(tests.Modeltests): job=u'pagure', project_path=u'forks/foo/test.git', token=u'random_token', - url=u'https://ci.server.org/' + url=u'https://ci.server.org/', + branch_to='master', )