gitlab-ci/deqp: preserve caselists for blocks with fails
[mesa.git] / .gitlab-ci / generate_lava.py
1 #!/usr/bin/env python3
2
3 from jinja2 import Environment, FileSystemLoader
4 import argparse
5
6 device_types = {
7 "rk3288-veyron-jaq": {
8 "gpu_version": "panfrost-t760",
9 "boot_method": "depthcharge",
10 "lava_device_type": "rk3288-veyron-jaq",
11 "kernel_image_type": "",
12 },
13 "rk3399-gru-kevin": {
14 "gpu_version": "panfrost-t860",
15 "boot_method": "depthcharge",
16 "lava_device_type": "rk3399-gru-kevin",
17 "kernel_image_type": "",
18 },
19 "sun8i-h3-libretech-all-h3-cc": {
20 "gpu_version": "lima",
21 "boot_method": "u-boot",
22 "lava_device_type": "sun8i-h3-libretech-all-h3-cc",
23 "kernel_image_type": "type: zimage",
24 },
25 "meson-gxl-s905x-libretech-cc": {
26 "gpu_version": "lima",
27 "boot_method": "u-boot",
28 "lava_device_type": "meson-gxl-s905x-libretech-cc",
29 "kernel_image_type": "type: image",
30 },
31 }
32
33 parser = argparse.ArgumentParser()
34 parser.add_argument("--template")
35 parser.add_argument("--base-artifacts-url")
36 parser.add_argument("--arch")
37 parser.add_argument("--device-types", nargs="+")
38 parser.add_argument("--kernel-image-name")
39 args = parser.parse_args()
40
41 env = Environment(loader = FileSystemLoader('.'), trim_blocks=True, lstrip_blocks=True)
42 template = env.get_template(args.template)
43
44 for device_type in args.device_types:
45 values = {}
46 values['base_artifacts_url'] = args.base_artifacts_url
47 values['arch'] = args.arch
48 values['device_type'] = device_type
49 values['kernel_image_name'] = args.kernel_image_name
50 values['lava_device_type'] = device_types[device_type]['lava_device_type']
51 values['gpu_version'] = device_types[device_type]['gpu_version']
52 values['boot_method'] = device_types[device_type]['boot_method']
53 values['kernel_image_type'] = device_types[device_type]['kernel_image_type']
54
55 f = open('results/lava-deqp-%s.yml' % device_type, "w")
56 f.write(template.render(values))
57 f.close()
58