Skip to content

Commit 596eca0

Browse files
authored
Merge pull request #528 from chipsalliance/39412-minify-datajs
Fix github pages uploading
2 parents 34f04c9 + 2f2a53b commit 596eca0

File tree

6 files changed

+98
-71
lines changed

6 files changed

+98
-71
lines changed

results/generate_html.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
import jinja2
3030
from argparse import ArgumentParser
31+
from jsmin import jsmin
3132
import os
3233

3334
from generate_index_page import generate_index_html
@@ -55,7 +56,8 @@ def main():
5556
os.makedirs(args.in_dir)
5657

5758
index_template = env.get_template('index.html')
58-
data_template = env.get_template('data.js')
59+
data_template = env.get_template('projects.js')
60+
main_template = env.get_template('data.js')
5961

6062
results = list()
6163

@@ -69,10 +71,14 @@ def main():
6971
project_results = ProjectResults(project_name, project_dir)
7072
results.append(project_results)
7173

72-
index_page, data_page = generate_index_html(
73-
index_template, data_template, results
74+
index_page, data_pages, main_page = generate_index_html(
75+
index_template, data_template, main_template, results
7476
)
7577

78+
# Minimize javascript files
79+
for project, data in data_pages.items():
80+
data_pages[project] = jsmin(data)
81+
7682
if args.out_dir:
7783
index_path = os.path.join(args.out_dir, 'index.html')
7884
with open(index_path, 'w') as out_file:
@@ -81,8 +87,13 @@ def main():
8187
data_dir = os.path.join(args.out_dir, 'data')
8288

8389
os.makedirs(data_dir, exist_ok=True)
84-
with open(os.path.join(data_dir, 'data.js'), 'w') as out_file:
85-
out_file.write(data_page)
90+
for project, data in data_pages.items():
91+
with open(os.path.join(data_dir, f'{project}.js'),
92+
'w') as out_file:
93+
out_file.write(data)
94+
95+
with open(os.path.join(data_dir, "data.js"), 'w') as out_file:
96+
out_file.write(main_page)
8697

8798

8899
if __name__ == "__main__":

results/generate_index_page.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ def color(val):
294294

295295
def generate_index_html(
296296
index_template: jinja2.Template, data_template: jinja2.Template,
297-
results: List[ProjectResults]
297+
main_template: jinja2.Template, results: List[ProjectResults]
298298
):
299299
print('Generating index page...')
300300

@@ -381,6 +381,16 @@ def generate_index_html(
381381
projects=sorted(projects)
382382
)
383383

384-
data_page = data_template.render(devices_data=device_data)
384+
var_name = dict()
385+
for project in device_data.keys():
386+
var_name[project] = project.replace("-", "_").replace(".", "_")
385387

386-
return index_page, data_page
388+
data_pages = dict()
389+
for project, data in device_data.items():
390+
data_pages[project] = data_template.render(
391+
var_name=var_name[project], device_data=data
392+
)
393+
394+
main_page = main_template.render(var_name=var_name)
395+
396+
return index_page, data_pages, main_page

results/html/data.js

Lines changed: 3 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,4 @@
1-
2-
var data = { {% for project, device_data in devices_data.items() %}
3-
"{{ project }}": { {% for device, data in device_data.items() %}
4-
"{{ device }}": {
5-
"dates": {{ data["dates"] }},
6-
"runtime": { {% for runtime in data["runtime"] %}
7-
"{{ runtime }}": [{% for toolchain, graph_data in data["graph_data"].items() %}
8-
{
9-
"data": {{ graph_data["runtime"][runtime]['data'] }},
10-
"label": "{{ toolchain }}",
11-
"borderColor": "{{ graph_data["runtime"][runtime]['color'] }}",
12-
"fill": false
13-
},{% endfor %}
14-
],{% endfor %}
15-
},
16-
"wirelength": [{% for toolchain, graph_data in data["graph_data"].items() %}
17-
{
18-
"data": {{ graph_data["wirelength"]['data'] }},
19-
"label": "{{ toolchain }}",
20-
"borderColor": "{{ graph_data["wirelength"]['color'] }}",
21-
"fill": false
22-
},{% endfor %}
23-
],
24-
"memory": [{% for toolchain, graph_data in data["graph_data"].items() %}
25-
{
26-
"data": {{ graph_data["maximum_memory_use"]['data'] }},
27-
"label": "{{ toolchain }}",
28-
"borderColor": "{{ graph_data["maximum_memory_use"]['color'] }}",
29-
"fill": false
30-
},{% endfor %}
31-
],
32-
"freq": { {% for clock in data["clocks"] %}
33-
"{{ clock }}": [{% for toolchain, graph_data in data["graph_data"].items() %}
34-
{
35-
"data": {{ graph_data["freq"][clock]['data'] }},
36-
"label": "{{ toolchain }}",
37-
"borderColor": "{{ graph_data["freq"][clock]['color'] }}",
38-
"fill": false
39-
},{% endfor %}
40-
],{% endfor %}
41-
},
42-
"synth_resources": { {% for res in data["resources"] %}
43-
"{{ res|lower }}": [{% for toolchain, graph_data in data["graph_data"].items() %}
44-
{
45-
"data": {{ graph_data["synth_resources"][res|lower]['data'] }},
46-
"label": "{{ toolchain }}",
47-
"borderColor": "{{ graph_data["synth_resources"][res|lower]['color'] }}",
48-
"fill": false
49-
},{% endfor %}
50-
],{% endfor %}
51-
},
52-
"impl_resources": { {% for res in data["resources"] %}
53-
"{{ res|lower }}": [{% for toolchain, graph_data in data["graph_data"].items() %}
54-
{
55-
"data": {{ graph_data["impl_resources"][res|lower]['data'] }},
56-
"label": "{{ toolchain }}",
57-
"borderColor": "{{ graph_data["impl_resources"][res|lower]['color'] }}",
58-
"fill": false
59-
},{% endfor %}
60-
],{% endfor %}
61-
},
62-
},{% endfor %}
63-
},{% endfor %}
1+
var data = { {%- for project, name in var_name.items() %}
2+
"{{project}}": data_{{name}},
3+
{%- endfor %}
644
}

results/html/index.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ <h4>To check the latest statistics of a project for the selected board, please <
6868
</div>
6969
</body>
7070

71+
{% for project, devices in device_data.items() %}
72+
<script type="text/javascript" src="data/{{project}}.js"></script>
73+
{% endfor %}
74+
7175
<script type="text/javascript" src="data/data.js"></script>
7276
<script charset="utf-8">
7377

results/html/projects.js

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
var data_{{var_name}} = { {% for device, data in device_data.items() %}
2+
"{{ device }}": {
3+
"dates": {{ data["dates"] }},
4+
"runtime": { {% for runtime in data["runtime"] %}
5+
"{{ runtime }}": [{% for toolchain, graph_data in data["graph_data"].items() %}
6+
{
7+
"data": {{ graph_data["runtime"][runtime]['data'] }},
8+
"label": "{{ toolchain }}",
9+
"borderColor": "{{ graph_data["runtime"][runtime]['color'] }}",
10+
"fill": false
11+
},{% endfor %}
12+
],{% endfor %}
13+
},
14+
"wirelength": [{% for toolchain, graph_data in data["graph_data"].items() %}
15+
{
16+
"data": {{ graph_data["wirelength"]['data'] }},
17+
"label": "{{ toolchain }}",
18+
"borderColor": "{{ graph_data["wirelength"]['color'] }}",
19+
"fill": false
20+
},{% endfor %}
21+
],
22+
"memory": [{% for toolchain, graph_data in data["graph_data"].items() %}
23+
{
24+
"data": {{ graph_data["maximum_memory_use"]['data'] }},
25+
"label": "{{ toolchain }}",
26+
"borderColor": "{{ graph_data["maximum_memory_use"]['color'] }}",
27+
"fill": false
28+
},{% endfor %}
29+
],
30+
"freq": { {% for clock in data["clocks"] %}
31+
"{{ clock }}": [{% for toolchain, graph_data in data["graph_data"].items() %}
32+
{
33+
"data": {{ graph_data["freq"][clock]['data'] }},
34+
"label": "{{ toolchain }}",
35+
"borderColor": "{{ graph_data["freq"][clock]['color'] }}",
36+
"fill": false
37+
},{% endfor %}
38+
],{% endfor %}
39+
},
40+
"synth_resources": { {% for res in data["resources"] %}
41+
"{{ res|lower }}": [{% for toolchain, graph_data in data["graph_data"].items() %}
42+
{
43+
"data": {{ graph_data["synth_resources"][res|lower]['data'] }},
44+
"label": "{{ toolchain }}",
45+
"borderColor": "{{ graph_data["synth_resources"][res|lower]['color'] }}",
46+
"fill": false
47+
},{% endfor %}
48+
],{% endfor %}
49+
},
50+
"impl_resources": { {% for res in data["resources"] %}
51+
"{{ res|lower }}": [{% for toolchain, graph_data in data["graph_data"].items() %}
52+
{
53+
"data": {{ graph_data["impl_resources"][res|lower]['data'] }},
54+
"label": "{{ toolchain }}",
55+
"borderColor": "{{ graph_data["impl_resources"][res|lower]['color'] }}",
56+
"fill": false
57+
},{% endfor %}
58+
],{% endfor %}
59+
},
60+
},{% endfor %}
61+
}

results/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
jsmin==3.0.1
12
-r ../conf/requirements.txt
23
-e ../
34

0 commit comments

Comments
 (0)