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

Add documentation about development infrastructure #1119

Merged
merged 2 commits into from
Jul 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/source/developer/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ Developer Manual
Developer Workflow Best Practices <workflow.rst>
Code Style Guide <style.rst>
Contributing <contrib.rst>
Project Development Infrastructure <infra.rst>
42 changes: 42 additions & 0 deletions docs/source/developer/infra.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
Development Infrastructure
==========================

This document describes the development infrastructure used by the nalu-wind project.

Docker Container
----------------

The docker container `ecpe4s/exawind-snapshot <https://hub.docker.com/r/ecpe4s/exawind-snapshot>`_
is build by an external collaborator in the E4S project.
Its definition is at https://gitlab.e4s.io/uo-public/exawind-snapshot.

It is based on an Ubuntu with GCC on which spack-manager is used to install exawind+hypre+openfast.
marchdf marked this conversation as resolved.
Show resolved Hide resolved

It is build and pushed to Dockerhub daily.

Continuous Integration
----------------------

There are currently two different systems the continuously check the code of this project.

GitHub Actions
^^^^^^^^^^^^^^

The `github actions workflow <https://github.com/Exawind/nalu-wind/blob/master/.github/workflows/ci.yml>`_
runs on every pull request towards master as well as all commits on master.

It does the following things:

* Style Check of the CPP code using clang-format with clang version 13
* Run the unit tests

* Uses the docker container to allow to reuse the third party libraries
* Rebuilds nalu-wind with the source from the commit on which the ci is run
* Run all test with `unit` in the label using ctest

Daily Regression Tests
^^^^^^^^^^^^^^^^^^^^^^

Additionally, the project is tested more extensively on some machines at NREL.
The results are collected at `CDash <https://my.cdash.org/index.php?project=Exawind>`_.
For more info see :ref:`ref-testing-cdash`.
2 changes: 2 additions & 0 deletions docs/source/developer/testing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,8 @@ created. Also, if you are using a mesh file that doesn't exist in the mesh repo,
update the submodule in the Nalu-Wind main repo to use the latest commit of the mesh submodule repo.


.. _ref-testing-cdash:

Adding Testing Machines to CDash
--------------------------------

Expand Down