E. Scott Daniels | 2301eb8 | 2020-07-15 13:46:51 -0400 | [diff] [blame] | 1 | |
| 2 | This repo houses various platform utility projects. Each project |
| 3 | is managed in a separate subdirectory under the repo root. The |
| 4 | organisation of the proejct is not mandated; what ever makes |
| 5 | sense for the project should be used. Please refer to the |
| 6 | README at the project's root directory for project details. |
| 7 | |
| 8 | Projects are likely to maintain the following files in their |
| 9 | top level directory: |
| 10 | README |
| 11 | CHANGES |
| 12 | STYLE |
| 13 | Dockerfile |
| 14 | TESTING |
| 15 | xapp-descriptor/config.json |
| 16 | |
| 17 | While these files aren't required, they are stronly encouraged. |
| 18 | |
| 19 | Unfortunately, due to the CI organisation it is not possible to |
| 20 | completely segregated the projects. The overlapping directories |
| 21 | are described below. |
| 22 | |
| 23 | Docs |
| 24 | The CI jobs which move documentation to a remote repository |
| 25 | do not generate the documentation during the execution of the |
| 26 | job, but expect that the repo contains already formatted |
| 27 | documentation in a known directory: docs/. This means that |
| 28 | all project documents being made available for the CI automation |
| 29 | to move will have to reside in the same location. To avoid |
| 30 | conflicting document names, the project directory is expected |
| 31 | to be used as a prefix to all of the files in docs/. For |
| 32 | example, mgxapp_ will be used for the Metrics Generator xAPP's |
| 33 | documentation. |
| 34 | |
| 35 | |
| 36 | Release Triggers |
| 37 | The CI job(s) which build and push packages and images are triggered |
| 38 | by file changes in the releases directory. The CI automation |
| 39 | permits multiple files to reside in this directory and keys |
| 40 | on a single file change. All files in the releases directory |
| 41 | are also epected to have the project name used as the prefix. |
| 42 | Unless it is impossible, there should be only one release file |
| 43 | per project (not one for each version). |
| 44 | |
| 45 | |
| 46 | Non-Project Files |
| 47 | The CI jobs also require a smattering of files at the root of |
| 48 | the repo which are not for the use of the project. These include: |
| 49 | |
| 50 | INFO.yaml -- describes the repo, commiters, and owners |
| 51 | tox.ini -- required for CI document scraping |
| 52 | .readthedocs.yaml -- required for CI document scraping |