from jinja2 import Environment, FileSystemLoader
import argparse
-
-device_types = {
- "sun50i-h6-pine-h64": {
- "gpu_version": "panfrost-t720",
- "boot_method": "u-boot",
- "lava_device_type": "sun50i-h6-pine-h64",
- "kernel_image_type": "type: image",
- "tags": [],
- },
- "rk3288-veyron-jaq": {
- "gpu_version": "panfrost-t760",
- "boot_method": "depthcharge",
- "lava_device_type": "rk3288-veyron-jaq",
- "kernel_image_type": "",
- "tags": [],
- },
- "rk3399-gru-kevin": {
- "gpu_version": "panfrost-t860",
- "boot_method": "depthcharge",
- "lava_device_type": "rk3399-gru-kevin",
- "kernel_image_type": "",
- "tags": [],
- },
- "sun8i-h3-libretech-all-h3-cc": {
- "gpu_version": "lima",
- "boot_method": "u-boot",
- "lava_device_type": "sun8i-h3-libretech-all-h3-cc",
- "kernel_image_type": "type: zimage",
- "tags": [],
- },
- "meson-gxl-s905x-libretech-cc": {
- "gpu_version": "lima",
- "boot_method": "u-boot",
- "lava_device_type": "meson-gxl-s905x-libretech-cc",
- "kernel_image_type": "type: image",
- "tags": [],
- },
- "meson-gxm-khadas-vim2": {
- "gpu_version": "panfrost-t820",
- "boot_method": "u-boot",
- "lava_device_type": "meson-gxm-khadas-vim2",
- "kernel_image_type": "type: image",
- "tags": ["panfrost"],
- },
-}
+import os
+import datetime
parser = argparse.ArgumentParser()
parser.add_argument("--template")
+parser.add_argument("--pipeline-info")
parser.add_argument("--base-artifacts-url")
-parser.add_argument("--arch")
-parser.add_argument("--device-types", nargs="+")
+parser.add_argument("--mesa-url")
+parser.add_argument("--device-type")
+parser.add_argument("--dtb", nargs='?', default="")
parser.add_argument("--kernel-image-name")
+parser.add_argument("--kernel-image-type", nargs='?', default="")
+parser.add_argument("--gpu-version")
+parser.add_argument("--boot-method")
+parser.add_argument("--lava-tags", nargs='?', default="")
+parser.add_argument("--env-vars", nargs='?', default="")
+parser.add_argument("--deqp-version")
+parser.add_argument("--ci-node-index")
+parser.add_argument("--ci-node-total")
+parser.add_argument("--job-type")
args = parser.parse_args()
-env = Environment(loader = FileSystemLoader('.'), trim_blocks=True, lstrip_blocks=True)
-template = env.get_template(args.template)
+env = Environment(loader = FileSystemLoader(os.path.dirname(args.template)), trim_blocks=True, lstrip_blocks=True)
+template = env.get_template(os.path.basename(args.template))
+
+env_vars = "%s CI_NODE_INDEX=%s CI_NODE_TOTAL=%s" % (args.env_vars, args.ci_node_index, args.ci_node_total)
-for device_type in args.device_types:
- values = {}
- values['base_artifacts_url'] = args.base_artifacts_url
- values['arch'] = args.arch
- values['device_type'] = device_type
- values['kernel_image_name'] = args.kernel_image_name
- values['lava_device_type'] = device_types[device_type]['lava_device_type']
- values['gpu_version'] = device_types[device_type]['gpu_version']
- values['boot_method'] = device_types[device_type]['boot_method']
- values['kernel_image_type'] = device_types[device_type]['kernel_image_type']
- values['tags'] = device_types[device_type]['tags']
+values = {}
+values['pipeline_info'] = args.pipeline_info
+values['base_artifacts_url'] = args.base_artifacts_url
+values['mesa_url'] = args.mesa_url
+values['device_type'] = args.device_type
+values['dtb'] = args.dtb
+values['kernel_image_name'] = args.kernel_image_name
+values['kernel_image_type'] = args.kernel_image_type
+values['gpu_version'] = args.gpu_version
+values['boot_method'] = args.boot_method
+values['tags'] = args.lava_tags
+values['env_vars'] = env_vars
+values['deqp_version'] = args.deqp_version
- f = open('results/lava-deqp-%s.yml' % device_type, "w")
- f.write(template.render(values))
- f.close()
+f = open(os.path.splitext(os.path.basename(args.template))[0], "w")
+f.write(template.render(values))
+f.close()