Static Jenkins Site Generator
- Private Jenkins job scraping w/API key
- Added Gilroy font to match main public website
- Link back to ONF website for products
- Add more products
Change-Id: I3ed2dc1e371c564ee483ab83fd110a88d818bca7
diff --git a/templates/base.html b/templates/base.html
new file mode 100644
index 0000000..ca9bf0f
--- /dev/null
+++ b/templates/base.html
@@ -0,0 +1,31 @@
+{#
+SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+SPDX-License-Identifier: Apache-2.0
+#}
+<html>
+<head>
+ {% block head %}
+ <link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,700;1,400;1,700&display=swap" rel="stylesheet">
+ <link rel="stylesheet" href="/style.css" />
+ <script src="/scripts/list.min.js"></script>
+ <title>{% block title %}{{ title }}{% endblock %}</title>
+ {% endblock %}
+</head>
+<body>
+ <div class="header">
+ <a href="/"><img class="logo" src="/images/onf_logo.png" height="30px" width="30px"/></a>
+ <h1>{% block header %}{{ title }}{% endblock %}</h1>
+ </div>
+ <div class="content">
+ {% block content %}
+ <p>Base content, replace this block</p>
+ {% endblock %}
+ </div>
+ <footer class="footer">
+ {% block footer %}
+ © 2020 <a href="https://opennetworking.org/">Open Networking Foundation</a><br/>
+ <div class="buildtime">Page generated at {{ buildtime }}.</right>
+ {% endblock %}
+ </footer>
+</body>
+</html>
diff --git a/templates/index.html b/templates/index.html
new file mode 100644
index 0000000..d01eff6
--- /dev/null
+++ b/templates/index.html
@@ -0,0 +1,22 @@
+{#
+SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+SPDX-License-Identifier: Apache-2.0
+#}
+{% extends "base.html" %}
+{% block title %}ONF Continuous Certification Program{% endblock %}
+{% block header %}ONF Continuous Certification Program{% endblock %}
+{% block content %}
+
+<p>
+ONF's Continuous Certification Program is continually re-verifying supply chain products on a daily basis against the most recent versions of ONF open source software platforms, ensuring operators have a vibrant ecosystem of options for deploying ONF open source platforms.
+</p>
+
+<h2>ONF's CC Enabled Projects</h2>
+
+<ul>
+{% for project in projects | sort %}
+<li><a href="{{ project | replace(" ", "_") }}">{{ project }}</a></li>
+{% endfor %}
+</ul>
+
+{% endblock %}
diff --git a/templates/product.html b/templates/product.html
new file mode 100644
index 0000000..27fecbd
--- /dev/null
+++ b/templates/product.html
@@ -0,0 +1,42 @@
+{#
+SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+SPDX-License-Identifier: Apache-2.0
+#}
+{% extends "base.html" %}
+{% block title %}ONF Continuous Certification - {{ product_name }}{% endblock %}
+{% block header %}ONF Continuous Certification - {{ product_name }}{% endblock %}
+{% block content %}
+
+<p>
+<em>Certification Program:</em> {{ onf_project }}<br/>
+<em>Product Name:</em> <a href="{{ product_link }}">{{ product_name }}</a>
+</p>
+
+<div class="ccresults">
+{% for group_name, jobs in groups.items() %}
+<strong>Version: {{ group_name }}</strong><br/>
+{% for job_name, builds in jobs.items() %}
+<em>Job: {{ job_name }}</em><br/>
+{% set timebox = builds | timebox(24,10) %}
+<ul>
+{% for tb in timebox %}
+<li class="{{ tb.result }}">
+ {{ tb.box_start | tsdate }} - {{ tb.outcome }}<br/>
+ {% for build in tb.builds %}
+ {% if "build_url" in build %}
+ <a href="{{ build.build_url }}" class="{{ build.result }}">{{ build.id }}</a>
+ {% else %}
+ <span class="{{ build.result }}">{{ build.id }}</span>
+ {% endif %}
+ {% else %}
+ No Builds
+ {% endfor %}
+</li>
+{% endfor %}
+</ul>
+{% endfor %}
+{% else %}
+No Tests Currently Available
+{% endfor %}
+</div>
+{% endblock %}
diff --git a/templates/project.html b/templates/project.html
new file mode 100644
index 0000000..febda68
--- /dev/null
+++ b/templates/project.html
@@ -0,0 +1,46 @@
+{#
+SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+SPDX-License-Identifier: Apache-2.0
+#}
+{% extends "base.html" %}
+{% block title %}ONF Continuous Certification - {{ project_name }}{% endblock %}
+{% block header %}ONF Continuous Certification - {{ project_name }}{% endblock %}
+{% block content %}
+
+<h2>Test Results</h2>
+
+{% for product in products | sort(attribute="product_name")%}
+<strong><a href="{{ product.product_name | replace(" ", "_") }}">{{ product.product_name }}</a></strong>
+{% set groups = product['groups'] %}
+
+<div class="ccresults">
+{% for group_name, jobs in groups.items() %}
+<strong>Version: {{ group_name }}</strong><br/>
+{% for job_name, builds in jobs.items() %}
+<em>Job: {{ job_name }}</em><br/>
+
+{% set timebox = builds | timebox(24,10) %}
+<ul>
+{% for tb in timebox %}
+<li class="{{ tb.result }}">
+ {{ tb.box_start | tsdate }} - {{ tb.outcome }}<br/>
+ {% for build in tb.builds %}
+ {% if "build_url" in build %}
+ <a href="{{ build.build_url }}" class="{{ build.result }}">{{ build.id }}</a>
+ {% else %}
+ <span class="{{ build.result }}">{{ build.id }}</span>
+ {% endif %}
+ {% else %}
+ No Builds
+ {% endfor %}
+</li>
+{% endfor %}
+</ul>
+{% endfor %}
+{% else %}
+No Tests Currently Available
+{% endfor %}
+</div>
+<br/>
+{% endfor %}
+{% endblock %}