diff options
-rw-r--r-- | tests/unit/test_scheduler.py | 5 | ||||
-rw-r--r-- | tests/unit/test_v3.py | 13 | ||||
-rw-r--r-- | zuul/model.py | 2 | ||||
-rw-r--r-- | zuul/reporter/__init__.py | 8 |
4 files changed, 18 insertions, 10 deletions
diff --git a/tests/unit/test_scheduler.py b/tests/unit/test_scheduler.py index 90a5eda02..f94f827d7 100644 --- a/tests/unit/test_scheduler.py +++ b/tests/unit/test_scheduler.py @@ -5788,7 +5788,8 @@ For CI problems and help debugging, contact ci@example.org""" self.assertEqual(A.reported, 2) self.assertTrue(re.search('project-merge .* NODE_FAILURE', A.messages[1])) - self.assertTrue('Skipped 2 jobs' in A.messages[1]) + self.assertTrue( + 'Skipped due to failed job project-merge' in A.messages[1]) def test_nodepool_resources(self): "Test that resources are reported" @@ -7019,7 +7020,7 @@ class TestDependencyGraph(ZuulTestCase): self.assertHistory([ dict(name='build', result='FAILURE', changes='1,1'), ], ordered=False) - self.assertIn('Skipped 1 job', A.messages[0]) + self.assertIn('Skipped due to failed job build', A.messages[0]) class TestDuplicatePipeline(ZuulTestCase): diff --git a/tests/unit/test_v3.py b/tests/unit/test_v3.py index 6269d3d1c..7039c0305 100644 --- a/tests/unit/test_v3.py +++ b/tests/unit/test_v3.py @@ -7034,7 +7034,7 @@ class TestJobPause(AnsibleZuulTestCase): dict(name='compile', result='SUCCESS', changes='1,1'), ]) - self.assertTrue('Skipped 1 job' in A.messages[0]) + self.assertTrue('Skipped due to failed job pre-test' in A.messages[0]) def test_job_pause_pre_skipped_child(self): """ @@ -7082,7 +7082,7 @@ class TestJobPause(AnsibleZuulTestCase): dict(name='compile', result='SUCCESS', changes='1,1'), ]) - self.assertTrue('Skipped 1 job' in A.messages[0]) + self.assertTrue('Skipped due to failed job pre-test' in A.messages[0]) def test_job_pause_skipped_child_retry(self): """ @@ -7929,12 +7929,12 @@ class TestProvidesRequiresMysql(ZuulTestCase): self.assertEqual( B.messages[0].count( 'Job image-user requires artifact(s) images'), - 2, + 1, B.messages[0]) self.assertEqual( B.messages[0].count( 'Job library-user requires artifact(s) libraries'), - 2, + 1, B.messages[0]) @simple_layout('layouts/provides-requires-single-project.yaml') @@ -7951,7 +7951,8 @@ class TestProvidesRequiresMysql(ZuulTestCase): dict(name='image-builder', result='FAILURE', changes='1,1'), dict(name='hold', result='SUCCESS', changes='1,1'), ], ordered=False) - self.assertTrue('Skipped 1 job' in A.messages[0]) + self.assertTrue( + 'Skipped due to failed job image-builder' in A.messages[0]) B = self.fake_gerrit.addFakeChange('org/project1', 'master', 'B') B.data['commitMessage'] = '%s\n\nDepends-On: %s\n' % ( @@ -7969,7 +7970,7 @@ class TestProvidesRequiresMysql(ZuulTestCase): self.assertEqual( B.messages[0].count( 'Job image-user requires artifact(s) images'), - 2, B.messages[0]) + 1, B.messages[0]) class TestProvidesRequiresPostgres(TestProvidesRequiresMysql): diff --git a/zuul/model.py b/zuul/model.py index 1a7b1b79c..cfc45d78f 100644 --- a/zuul/model.py +++ b/zuul/model.py @@ -4924,7 +4924,7 @@ class QueueItem(zkobject.ZKObject): if data: job.setArtifactData(data) except RequirementsError as e: - self.warning(str(e)) + self.log.info(str(e)) fakebuild = Build.new(self.pipeline.manager.current_context, job=job, build_set=self.current_build_set, error_detail=str(e), result='FAILURE') diff --git a/zuul/reporter/__init__.py b/zuul/reporter/__init__.py index 5af48abc6..9a868eac4 100644 --- a/zuul/reporter/__init__.py +++ b/zuul/reporter/__init__.py @@ -273,7 +273,13 @@ class BaseReporter(object, metaclass=abc.ABCMeta): for job in item.getJobs(): build = item.current_build_set.getBuild(job.name) (result, url) = item.formatJobResult(job) - if result == 'SKIPPED': + # If child_jobs is being used to skip jobs, then the user + # probably has an expectation that some jobs will be + # skipped and doesn't need to see all of them. Otherwise, + # it may be a surprise and it may be better to include the + # job in the report. + if (build.error_detail and + 'Skipped due to child_jobs' in build.error_detail): skipped += 1 continue if not job.voting: |