Merge "reporter: do not expect branch attribute in Tag object"

This commit is contained in:
Zuul
2018-05-02 14:16:00 +00:00
committed by Gerrit Code Review
5 changed files with 53 additions and 3 deletions

View File

@@ -0,0 +1,2 @@
- hosts: all
tasks: []

View File

@@ -44,6 +44,22 @@
Verified: 0
precedence: high
- pipeline:
name: tag
manager: independent
trigger:
gerrit:
- event: ref-updated
ref: ^refs/tags/.*$
success:
resultsdb_mysql: null
resultsdb_postgresql: null
failure:
resultsdb_mysql: null
resultsdb_mysql_failures: null
resultsdb_postgresql: null
resultsdb_postgresql_failures: null
- job:
name: base
parent: null
@@ -64,6 +80,10 @@
name: project-test3
run: playbooks/project-test3.yaml
- job:
name: project-publish
run: playbooks/project-publish.yaml
- project:
name: org/project
check:
@@ -86,6 +106,9 @@
dependencies: project-merge
- project-test2:
dependencies: project-merge
tag:
jobs:
- project-publish
- project:
name: org/project1

View File

@@ -132,9 +132,10 @@ class TestSQLConnection(ZuulDBTestCase):
sa.sql.select([reporter.connection.zuul_buildset_table]))
buildsets = result.fetchall()
self.assertEqual(2, len(buildsets))
self.assertEqual(3, len(buildsets))
buildset0 = buildsets[0]
buildset1 = buildsets[1]
buildset2 = buildsets[2]
self.assertEqual('check', buildset0['pipeline'])
self.assertEqual('org/project', buildset0['project'])
@@ -187,9 +188,22 @@ class TestSQLConnection(ZuulDBTestCase):
uuid=buildset1_builds[1]['uuid']),
buildset1_builds[1]['log_url'])
buildset2_builds = conn.execute(
sa.sql.select([reporter.connection.zuul_build_table]).where(
reporter.connection.zuul_build_table.c.buildset_id ==
buildset2['id']
)
).fetchall()
# Check the first result, which should be the project-publish job
self.assertEqual('project-publish',
buildset2_builds[0]['job_name'])
self.assertEqual("SUCCESS", buildset2_builds[0]['result'])
self.executor_server.hold_jobs_in_build = True
# Add a success result
self.log.debug("Adding success FakeChange")
A = self.fake_gerrit.addFakeChange('org/project', 'master', 'A')
self.fake_gerrit.addEvent(A.getPatchsetCreatedEvent(1))
self.waitUntilSettled()
@@ -197,6 +211,7 @@ class TestSQLConnection(ZuulDBTestCase):
self.waitUntilSettled()
# Add a failed result
self.log.debug("Adding failed FakeChange")
B = self.fake_gerrit.addFakeChange('org/project', 'master', 'B')
self.executor_server.failJob('project-test1', B)
@@ -205,6 +220,14 @@ class TestSQLConnection(ZuulDBTestCase):
self.orderedRelease()
self.waitUntilSettled()
# Add a tag result
self.log.debug("Adding FakeTag event")
C = self.fake_gerrit.addFakeTag('org/project', 'master', 'foo')
self.fake_gerrit.addEvent(C)
self.waitUntilSettled()
self.orderedRelease()
self.waitUntilSettled()
check_results('resultsdb_mysql')
check_results('resultsdb_postgresql')

View File

@@ -38,6 +38,7 @@ class SQLReporter(BaseReporter):
ref = getattr(item.change, 'ref', '')
oldrev = getattr(item.change, 'oldrev', '')
newrev = getattr(item.change, 'newrev', '')
branch = getattr(item.change, 'branch', '')
buildset_ins = self.connection.zuul_buildset_table.insert().values(
zuul_ref=item.current_build_set.ref,
pipeline=item.pipeline.name,
@@ -52,7 +53,7 @@ class SQLReporter(BaseReporter):
message=self._formatItemReport(
item, with_jobs=False),
tenant=item.pipeline.layout.tenant.name,
branch=item.change.branch,
branch=branch,
)
buildset_ins_result = conn.execute(buildset_ins)
build_inserts = []

View File

@@ -384,7 +384,8 @@ class Scheduler(threading.Thread):
canonical_hostname.replace('.', '_'))
projectname = (build.build_set.item.change.project.name.
replace('.', '_').replace('/', '_'))
branchname = (build.build_set.item.change.branch.
branchname = (getattr(build.build_set.item.change,
'branch', '').
replace('.', '_').replace('/', '_'))
basekey = 'zuul.tenant.%s' % tenant.name
pipekey = '%s.pipeline.%s' % (basekey, build.pipeline.name)