mirror of
https://github.com/vale981/ray
synced 2025-03-06 02:21:39 -05:00

It is good to have these information readily available when checking test results, as it will reveal both the original configuration (that could change over time) as well as the achieved results. Also gets rid of the unneeded old alerts directory. https://buildkite.com/ray-project/release-tests-branch/builds/190#ef531787-412c-40ec-81e6-beb495830c60
35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
import json
|
|
import os
|
|
|
|
from ray_release.config import Test
|
|
from ray_release.logger import logger
|
|
from ray_release.reporter.reporter import Reporter
|
|
from ray_release.result import Result
|
|
|
|
# Write to this directory. run_release_tests.sh will copy the content
|
|
# overt to DEFAULT_ARTIFACTS_DIR_HOST
|
|
DEFAULT_ARTIFACTS_DIR = "/tmp/artifacts"
|
|
|
|
ARTIFACT_TEST_CONFIG_FILE = "test_config.json"
|
|
ARTIFACT_RESULT_FILE = "result.json"
|
|
|
|
|
|
class ArtifactsReporter(Reporter):
|
|
def __init__(self, artifacts_dir: str = DEFAULT_ARTIFACTS_DIR):
|
|
self.artifacts_dir = artifacts_dir
|
|
|
|
def report_result(self, test: Test, result: Result):
|
|
if not os.path.exists(self.artifacts_dir):
|
|
os.makedirs(self.artifacts_dir, 0o755)
|
|
|
|
test_config_file = os.path.join(self.artifacts_dir, ARTIFACT_TEST_CONFIG_FILE)
|
|
with open(test_config_file, "wt") as fp:
|
|
json.dump(test, fp, sort_keys=True, indent=4)
|
|
|
|
result_file = os.path.join(self.artifacts_dir, ARTIFACT_RESULT_FILE)
|
|
with open(result_file, "wt") as fp:
|
|
json.dump(result.__dict__, fp, sort_keys=True, indent=4)
|
|
|
|
logger.info(
|
|
f"Wrote test config and result to artifacts directory: {self.artifacts_dir}"
|
|
)
|