From 2cc1bfbdd6c8e74e7561c2660910d005210b468d Mon Sep 17 00:00:00 2001 From: zabbasi Date: Tue, 2 Apr 2019 12:23:20 -0700 Subject: [PATCH] Updated test artifacts to report repos in finished/metadata (#349) * updated test artifacts to report repos in finished/metadata * fixed atypo * unset PULL_REFS after used in testing finished artifact * formating * lint error * fixed pylint error --- py/kubeflow/testing/prow_artifacts.py | 9 +++++++++ py/kubeflow/tests/prow_artifacts_test.py | 8 +++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/py/kubeflow/testing/prow_artifacts.py b/py/kubeflow/testing/prow_artifacts.py index f30d5ea6ba5..77f635c19db 100644 --- a/py/kubeflow/testing/prow_artifacts.py +++ b/py/kubeflow/testing/prow_artifacts.py @@ -76,6 +76,15 @@ def create_finished(success, workflow_phase, ui_urls): "metadata": { }, } + # kettle (https://github.com/kubernetes/test-infra/tree/master/kettle) expexts + # to get commit information in finished["metadata"]["repos"]. + # We leverage kettle to upload kubeflow test logs into bigquery. + PULL_REFS = os.getenv("PULL_REFS", "") + repo_owner = os.getenv("REPO_OWNER", "") + repo_name = os.getenv("REPO_NAME", "") + if repo_owner and PULL_REFS: + finished["metadata"]["repos"] = {} + finished["metadata"]["repos"][repo_owner + "/" + repo_name] = PULL_REFS names = set() names.update(workflow_phase.keys()) diff --git a/py/kubeflow/tests/prow_artifacts_test.py b/py/kubeflow/tests/prow_artifacts_test.py index 3ff29e540be..a970caa3195 100644 --- a/py/kubeflow/tests/prow_artifacts_test.py +++ b/py/kubeflow/tests/prow_artifacts_test.py @@ -34,6 +34,9 @@ def testCreateStartedPresubmit(self, mock_time): # pylint: disable=no-self-use @mock.patch("kubeflow.testing.prow_artifacts.time.time") def testCreateFinished(self, mock_time): # pylint: disable=no-self-use """Test create finished job.""" + os.environ["REPO_OWNER"] = "fake_org" + os.environ["REPO_NAME"] = "fake_name" + os.environ["PULL_REFS"] = "master:abcd,72:efgh" mock_time.return_value = 1000 workflow_phase = { "wfA": "Succeeded" @@ -45,13 +48,16 @@ def testCreateFinished(self, mock_time): # pylint: disable=no-self-use "timestamp": 1000, "result": "FAILED", "metadata": { + "repos": { + "fake_org/fake_name": "master:abcd,72:efgh" + }, "wfA-phase": "Succeeded", "wfA-ui": "https://example.com", }, } actual = prow_artifacts.create_finished(False, workflow_phase, test_urls) - + os.environ.pop("PULL_REFS") self.assertEqual(expected, json.loads(actual)) @mock.patch("kubeflow.testing.prow_artifacts.util.run")