Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Mermaid to create flowchart that shows how to add software to EESSI #159

Merged
merged 9 commits into from
Mar 20, 2024
40 changes: 33 additions & 7 deletions docs/adding_software/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,44 @@ We welcome contributions to the EESSI software stack. This page shows the proced

## Contribute a software to the EESSI software stack

<p align="center">
<img width="100%" src="../../img/contribute_software_workflow.png" alt="EESSI contribute software">
</p>
<pre class="mermaid">
%%{init: { 'theme':'forest', 'sequence': {'useMaxWidth':false} } }%%
flowchart TB
I(contributor)
K(reviewer)
A(Is there an EasyConfig for software) -->|No|B(Create an EasyConfig and contribute it to EasyBuild)
A --> |Yes|D(Create a PR to software-layer)
B --> C(Evaluate and merge pull request)
C --> D
D --> E(Review PR & trigger builds)
E --> F(Debug build issue if needed)
F --> G(Deploy tarballs to S3 bucket)
G --> H(Ingest tarballs in EESSI by merging staging PRs)
classDef blue fill:#9abcff,stroke:#333,stroke-width:2px;
class A,B,D,F,I blue
click B "https://easybuild.io/"
click D "../opening_pr/"
click F "../debugging_failed_builds/"
</pre>


## Contributing a ReFrame test to the EESSI test suite

Ideally, a contributor prepares a ReFrame test for the software to be added to the EESSI software stack.

<p align="center">
<img width="100%" src="../../img/contribute_test_workflow.png" alt="EESSI contribute test">
</p>

<div style="display:flex;justify-content:center;">
<pre class="mermaid">
%%{init: { 'theme':'forest', 'sequence': {'useMaxWidth':false} } }%%
flowchart TB

Z(Creat ReFrame test & PR to tests-suite) --> Y(Review PR & run new test)
Y --> W(Debug issue if needed)
W --> V(Review PR if needed)
V --> U(Merge PR)
classDef blue fill:#9abcff,stroke:#333,stroke-width:2px;
class Z,W blue
</pre>
</div>


# More about adding software to EESSI
Expand Down
3 changes: 3 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,3 +108,6 @@ extra:
social:
- icon: fontawesome/brands/twitter
link: https://twitter.com/eessi_hpc
# mermaid diagram
extra_javascript:
- https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs
Loading