builder.braak.pro/buildbot/config/worker/code_benchmark.py
2024-11-20 16:13:44 +01:00

43 lines
1.3 KiB
Python
Executable file

#!/usr/bin/env python3
# SPDX-License-Identifier: GPL-2.0-or-later
# SPDX-FileCopyrightText: 2011-2024 Blender Authors
# <pep8 compliant>
import argparse
import pathlib
import sys
from collections import OrderedDict
sys.path.append(str(pathlib.Path(__file__).resolve().parent.parent))
import worker.configure
import worker.utils
import worker.blender
import worker.blender.benchmark
import worker.blender.compile
import worker.blender.update
class BenchmarkBuilder(worker.blender.CodeBuilder):
def __init__(self, args: argparse.Namespace):
super().__init__(args)
self.setup_track_path()
if __name__ == "__main__":
steps: worker.utils.BuilderSteps = OrderedDict()
steps["configure-machine"] = worker.configure.configure_machine
steps["update-code"] = worker.blender.update.update
steps["compile-code"] = worker.blender.compile.compile_code
steps["compile-gpu"] = worker.blender.compile.compile_gpu
steps["compile-install"] = worker.blender.compile.compile_install
steps["benchmark"] = worker.blender.benchmark.benchmark
steps["clean"] = worker.blender.CodeBuilder.clean
parser = worker.blender.create_argument_parser(steps=steps)
args = parser.parse_args()
builder = BenchmarkBuilder(args)
builder.run(args.step, steps)