chipsalliance / Cores-VeeR-EL2

VeeR EL2 Core
https://chipsalliance.github.io/Cores-VeeR-EL2/html/
Apache License 2.0
243 stars 73 forks source link

Improved frontend for dashboard #98

Closed mczyz-antmicro closed 1 year ago

mczyz-antmicro commented 1 year ago

Dashboard

This PR introduces a dashboard to present results obtained by the main ci.yml workflow.

Verification and coverage results are presented on the dashboard, which is automatically uploaded to gh-pages branch if ci.yml workflow finishes successfully. Dashboard updates can be triggered by push to the main branch or by pull_request activity (open, synchronize). Close or merge of pull_request triggers deletion of data relevant to that PR, so that only results from active PRs are displayed. Here is a default link to dashboard deployment

Implementation details

The dashboard consists of 3 major parts:

Relevant tools are added in either .github/scripts/indexgen or .github/scripts/pytest.

Sphinx Index

Generation of the index and navigation pages is performed with a Makefile. First, a source template is used to define the structure of the main navigation pages and a python script generate.py is used to dynamically create sources for the sphinx-build. Then, a standard html sphinx-build is performed. Finally, a BASH script update_styles.sh is called to put necessary assets and style configuration files in place.

HTML reports: pytest

pytest-html reports generated during the verification workflow are styled with a prepared CSS:

python -m pytest ... --css=$PYTEST_CSS

Then, a BASH script style_pytest_report.sh is used to add a custom navigation bar, enable button click with JavaScript and upload graphical assets (logo, arrow)

CI workflows

Creation of the verification dashboard is now handled during the sphinx-build, so the BASH script is removed. It was executed in the report-pytest part of the flow, which now can be deleted. The publish-webpage workflow has the following changes:

github-actions[bot] commented 1 year ago

Links to coverage and verification reports for this PR (#98) are available at https://chipsalliance.github.io/Cores-VeeR-EL2/

github-actions[bot] commented 1 year ago

Links to coverage and verification reports for this PR (#98) are available at https://chipsalliance.github.io/Cores-VeeR-EL2/

github-actions[bot] commented 1 year ago

Links to coverage and verification reports for this PR (#98) are available at https://chipsalliance.github.io/Cores-VeeR-EL2/

github-actions[bot] commented 1 year ago

Links to coverage and verification reports for this PR (#98) are available at https://chipsalliance.github.io/Cores-VeeR-EL2/

github-actions[bot] commented 1 year ago

Links to coverage and verification reports for this PR (#98) are available at https://chipsalliance.github.io/Cores-VeeR-EL2/

github-actions[bot] commented 1 year ago

Links to coverage and verification reports for this PR (#98) are available at https://chipsalliance.github.io/Cores-VeeR-EL2/

github-actions[bot] commented 1 year ago

Links to coverage and verification reports for this PR (#98) are available at https://chipsalliance.github.io/Cores-VeeR-EL2/

github-actions[bot] commented 1 year ago

Links to coverage and verification reports for this PR (#98) are available at https://chipsalliance.github.io/Cores-VeeR-EL2/

github-actions[bot] commented 1 year ago

Links to coverage and verification reports for this PR (#98) are available at https://chipsalliance.github.io/Cores-VeeR-EL2/

github-actions[bot] commented 1 year ago

Links to coverage and verification reports for this PR (#98) are available at https://chipsalliance.github.io/Cores-VeeR-EL2/