Some styling, some content

This commit is contained in:
southerntofu 2020-09-30 15:19:16 -04:00
parent 72c269f766
commit 2354e55736
10 changed files with 41 additions and 7 deletions

View File

@ -7,6 +7,16 @@ The forge suite is a collection of tools to automate tasks by tracking updates o
forgehook can be hooked to forgebuild to trigger tasks automatically when updates are received, but both tools can be useful on their own and integrate with your own tooling. If either tool gets in your way instead of easing your life, this is considered a bug and should be addressed.
# Usecases
## Multi-user CI/CD
![Diagram showing the forge sending a webhook to the endpoint, which validates it then passes the information to forgehook, which notifies subscribers, triggering forgebuild tasks](multi-CI.png)
## Solo, unprivileged CI/CD
![Diagram showing the forge sending a webhook to the endpoint, which validates it then passes the information to forgebuild, triggering tasks](solo-CI.png)
# Motivations
This project was started because popular CI/CD distributions (such as Drone CI or Gitlab CI) are very convoluted systems, deeply tied to an ecosystem. The forge suite aims to be more portable and to easily integrate into your own ecosystem.

View File

@ -1 +1 @@
../submodules/build/README.md
../submodules/build/README.fr.md

BIN
content/multi-CI.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
content/solo-CI.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -1,4 +1,6 @@
+++
title="Statut des tests"
title="Résultats des tests"
template="status.html"
+++
Ici tu trouveras les derniers résultats des tests pour la suite forge. Ils sont directement lancés sur le serveur après chaque commit.

View File

@ -1,4 +1,6 @@
+++
title="Tests status"
title="Tests results"
template="status.html"
+++
Here you can find the latest test results for the forge suite. They are run directly on this server, on every new commit.

View File

@ -19,3 +19,10 @@ td, th {
.testrun > ul {
list-style-type: none;
}
.widget-tests {
> h2 {
text-align: center;
text-decoration: underline;
}
}

View File

@ -3,9 +3,14 @@
{{ super() }}
{% if page.extra.pipeline %}
{% if page.extra.pipeline in config.extra.tests.pipelines %}
<hr>
<aside class="widget-tests">
{{ tests::pipeline(directory=config.extra.tests.directory, name=page.extra.pipeline) }}
</aside>
{% else %}
<p>No such pipeline ({{ page.extra.pipeline }}) defined in config.extra.pipelines</p>
<h2>No such pipeline ({{ page.extra.pipeline }}) defined in config.extra.pipelines</h2>
{% endif %}
{% else %}
<h2>Test pipeline for project not defined in frontmatter (page.extra.pipeline).</h2>
{% endif %}
{% endblock %}

View File

@ -1,7 +1,15 @@
{% extends "index.html" %}{% import "tests.html" as tests %}
{% extends "page.html" %}{% import "tests.html" as tests %}
{% block title %}{{ page.title }}{% endblock title %}
{% block main %}
{{ super() }}
{% if config.extra.tests.pipelines %}
<aside class="widget-tests">
<p style="text-align: center;">->{% for pipeline_name, _ in config.extra.tests.pipelines %} <a href="#{{ pipeline_name }}">{{ pipeline_name }}</a>{% else %} {% endfor %} <-</p>
{% for pipeline_name, _ in config.extra.tests.pipelines %}
{{ tests::pipeline(directory=config.extra.tests.directory, name=pipeline_name) }}
{% endfor %}
</aside>
{% else %}
<h2>No test pipeline configured in config.extra.tests.pipelines</h2>
{% endif %}
{% endblock main %}

View File

@ -1,5 +1,5 @@
{% macro pipeline(directory, name) %}
<h2>{{ name }}</h2>
<h2 id="{{ name }}">{{ name }}</h2>
{% set latest = [] %}
{% set data = [] %}
{% for impl in config.extra.tests.pipelines[name].impl %}
@ -36,7 +36,7 @@
{% for impl in config.extra.tests.pipelines[name].impl %}
{% set suite_index = loop.index0 %}
<h2>{{ impl.name }}</h2>
<h3>{{ impl.name }}</h3>
{# This is a hack because we can't reverse a map (only arrays) #}
{% set_global runs = [] %}
{% for key, val in data[suite_index] %}{% set_global runs = runs | concat(with=key) %}{% endfor %}