diff --git a/.github/workflows/test_workflow.yml b/.github/workflows/test_workflow.yml index 9766f9927..9525547d5 100644 --- a/.github/workflows/test_workflow.yml +++ b/.github/workflows/test_workflow.yml @@ -223,7 +223,7 @@ jobs: if: matrix.extend shell: bash -l {0} run: | - cd $HOME/work/Aviary_deprecated/Aviary_deprecated/aviary/docs + cd $HOME/work/om-Aviary/om-Aviary/aviary/docs find _build/html/reports/ -type f -name '*.log' \ -exec echo "#################################################################" \; \ -exec echo {} \; \ @@ -240,7 +240,7 @@ jobs: echo "Publishing Docs to github.io" echo "=============================================================" pip install ghp-import - cd $HOME/work/Aviary_deprecated/Aviary_deprecated/aviary + cd $HOME/work/om-Aviary/om-Aviary/aviary ghp-import -n -p -f docs/_build/html - name: Scan for security issues diff --git a/README.md b/README.md index c4cce4284..74fe9eb1d 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ This installs the package in the current environment such that changes to the Py ## Documentation -[Here is a pdf version of the docs if you're on a NASA device.](https://nasa.sharepoint.com/:b:/t/Aviary/EefUcNcvjD9Et4plLvenlAcBuBltqI6chbSGMc8kdaC3Pg) +The Aviary documentation is located [here](https://openmdao.github.io/om-Aviary/intro.html). Otherwise you can build the docs locally: diff --git a/aviary/docs/_toc.yml b/aviary/docs/_toc.yml index 62d3f1a65..fa6b72ba4 100644 --- a/aviary/docs/_toc.yml +++ b/aviary/docs/_toc.yml @@ -73,6 +73,7 @@ parts: - file: developer_guide/codebase_overview - file: developer_guide/coding_standards - file: developer_guide/unit_tests + - file: developer_guide/contributing_guidelines - file: developer_guide/how_to_contribute_docs - file: developer_guide/debugging_env_from_github diff --git a/aviary/docs/developer_guide/contributing_guidelines.md b/aviary/docs/developer_guide/contributing_guidelines.md new file mode 100755 index 000000000..11ad8b384 --- /dev/null +++ b/aviary/docs/developer_guide/contributing_guidelines.md @@ -0,0 +1,21 @@ +# Guidelines for Contributing Code + +Welcome to our guide for contributing to the Aviary codebase. We are so glad you are interested in contributing to our software! There are a few guidelines that our developers follow in order to ensure that Aviary is well organized and uniform. If you would like to contribute to Aviary, please take a minute to read these guidelines: + +## Coding Standards +In order to ensure that our code is readable for our contributors, we ask that you follow our coding standards located [here](coding_standards). + +## Unit Testing +We require all code entering our codebase to be validated and regression tested. As part of this requirement, any new code that you contribute to our codebase must have an associated unit test. Our pull request approvers will check for this and will ask you to add a test if one is missing. For details on our unit testing structure see [Unit Tests](unit_tests). + +## Thorough Documentation +Documentation is the backbone of the Aviary team's support for our user community. The goal of Aviary's documentation is to provide a way for Aviary users to learn the codebase and have their questions answered in an efficient manner. Thus, we monitor the documentation to ensure that changes in the code are reflected in the docs, and that new code features are documented as well. As a result of this, any pull request which alters a feature's behavior must also update the documentation for that feature, and any pull request which creates a new feature for use by a user must also document that feature. For a guide on writing documentation in Aviary visit [How to Contribute Docs](how_to_contribute_docs). + +## Docstrings +The Aviary codebase is currently under active development and cleanup, including the addition of docstrings. Thus, not every function and class currently includes a docstring, however, we are slowly adding them. In order to move forwards instead of backwards we require that all added functions and classes include a docstring in the numpy format. + +## Benchmark Tests +The Aviary codebase has several benchmark tests which test some of the baseline models included in Aviary. These tests supplement the unit test capability, and are tested frequently by the Aviary team. We encourage you to run these tests using our test runner located [here](https://github.com/OpenMDAO/om-Aviary/blob/main/aviary/run_all_benchmarks.py). + +## Use of Issue Backlog +The Aviary team would like a chance to interact with and get community engagement in feature changes to the codebase. The primary place that this engagement happens is in the [issue backlog](https://github.com/OpenMDAO/om-Aviary/issues/new/choose) using the "feature or change request" section. In addition, we would like to be able to track bug fixes that come through the code. To support these goals we encourage users to create issues, and we encourage code contributors to link issues to their pull requests. \ No newline at end of file diff --git a/aviary/docs/getting_started/installation.md b/aviary/docs/getting_started/installation.md index 0fdd1ee61..e0a53a553 100644 --- a/aviary/docs/getting_started/installation.md +++ b/aviary/docs/getting_started/installation.md @@ -198,7 +198,7 @@ Successfully installed pyoptsparse-2.10.1 ### Installing Aviary and Running Tests -Now, we are ready to install Aviary. Assume that you will become a contributor sonner or later, we want to install a copy from the main source. Assume you have a GitHub account. Let us open `https://github.com/openMDAO/aviary/` in a web browser and click [fork](https://github.com/OpenMDAO/om-Aviary/fork) on the top-right corner. You then have created your own copy of Aviary on GitHub website. Now we create a copy on your local drive (supposed `USER_ID` is your GitHub account ID): +Now, we are ready to install Aviary. Assume that you will become a contributor sonner or later, we want to install a copy from the main source. Assume you have a GitHub account. Let us open `https://github.com/openMDAO/om-aviary/` in a web browser and click [fork](https://github.com/OpenMDAO/om-Aviary/fork) on the top-right corner. You then have created your own copy of Aviary on GitHub website. Now we create a copy on your local drive (supposed `USER_ID` is your GitHub account ID): ``` $ cd ~/workspace diff --git a/aviary/docs/getting_started/what_aviary_does.md b/aviary/docs/getting_started/what_aviary_does.md index e640a245d..880887397 100644 --- a/aviary/docs/getting_started/what_aviary_does.md +++ b/aviary/docs/getting_started/what_aviary_does.md @@ -17,7 +17,7 @@ Let's discuss what Aviary does in more detail. ```{warning} Aviary is under active development! If you're using it, know that we are working to update Aviary to make it more user-friendly and capable. -If you have suggestions or comments please let the Aviary team know by [submitting an issue on GitHub](https://github.com/OpenMDAO/om-Aviary/issues/new). +If you have suggestions or comments please let the Aviary team know by [submitting an issue on GitHub](https://github.com/OpenMDAO/om-Aviary/issues/new/choose). ``` ## Core functionalities @@ -77,7 +77,7 @@ We've touched on some of these already, but let's discuss them more. ### Benefits -- Open-source: Aviary is open-source and available on [GitHub](https://github.com/OpenMDAO/Aviary) +- Open-source: Aviary is open-source and available on [GitHub](https://github.com/OpenMDAO/om-Aviary) - Flexible: Aviary is intended to be flexible enough to design a variety of aircraft and missions - Customizable: Aviary allows users to add their own subsystems to the problem - Optimization: Aviary is designed to be used effectively with gradient-based optimization diff --git a/aviary/docs/intro.md b/aviary/docs/intro.md index b15fa567d..883ff60be 100644 --- a/aviary/docs/intro.md +++ b/aviary/docs/intro.md @@ -4,7 +4,7 @@ This is the landing page for all of Aviary's documentation, including a user's g ## What Aviary is -[Aviary](https://github.com/OpenMDAO/Aviary) is an aircraft analysis, design, and optimization tool built on top of the Python-based optimization framework [OpenMDAO](https://github.com/OpenMDAO/OpenMDAO). +[Aviary](https://github.com/OpenMDAO/om-Aviary) is an aircraft analysis, design, and optimization tool built on top of the Python-based optimization framework [OpenMDAO](https://github.com/OpenMDAO/OpenMDAO). Aviary provides a flexible and user-friendly optimization platform that allows the beginning aircraft modeler to build a useful model, the intermediate aircraft modeler to build an advanced model, and the advanced aircraft modeler to build any model they can imagine. Features of Aviary include: diff --git a/aviary/docs/misc_resources/planned_future_features.md b/aviary/docs/misc_resources/planned_future_features.md index f550a700b..e2660c776 100644 --- a/aviary/docs/misc_resources/planned_future_features.md +++ b/aviary/docs/misc_resources/planned_future_features.md @@ -14,4 +14,6 @@ The following is a non-exhaustive list of planned features that are not yet impl - Improved Fortran-to-Aviary converter which requires no human intervention or checking - Support for relevant FAA regulations governing aircraft design and operation - Capability to fly reserve missions using the same mission analysis techniques as the main mission (right now reserve estimates are fixed values or fixed percentages of mission fuel) -- Improved model re-run capability \ No newline at end of file +- Improved model re-run capability +- Full test suite that tests the code format, including testing for docstrings on all functions and classes +- Fully tested code blocks in the documentation \ No newline at end of file