77 lines
2.2 KiB
Markdown
77 lines
2.2 KiB
Markdown
# Contribution Guide
|
|
|
|
First and foremost, thank you for your contribution. If at any stage you are stuck, confused or any other developer prone state, please ask for help.
|
|
|
|
|
|
## Requirements
|
|
|
|
- Commit Messages use [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) format
|
|
- **ALL** CI jobs must pass. if they error, you can view the "details" for what went wrong.
|
|
|
|
- Ansible:
|
|
|
|
- Tasks must be named
|
|
- Task name must reflect their activity
|
|
- All task modules to use FQCN
|
|
- Don't be afraid of white space.
|
|
- Two blanks lines above tasks
|
|
- Two blank lines blow tasks
|
|
- One blank line at the end of the file
|
|
- Any task that "spills" a secret, must use `no_log`
|
|
|
|
|
|
## Dev Env
|
|
Development of this project has been setup to be done from VSCodium. The following additional requirements need to be met:
|
|
|
|
- npm has been installed. _required for `markdown` linting_
|
|
|
|
`sudo apt install -y --no-install-recommends npm`
|
|
|
|
- setup of other requirements can be done with `make prepare`
|
|
|
|
- **ALL** Linting must pass for Merge to be conducted.
|
|
|
|
_`make lint`_
|
|
|
|
|
|
## Makefile
|
|
|
|
!!! tip "TL;DR"
|
|
Common make commands are `make prepare` then `make docs` and `make lint`
|
|
|
|
Included within the root of the repository is a makefile that can be used during development to check/run different items as is required during development. The following make targets are available:
|
|
|
|
- `prepare`
|
|
|
|
_prepare the repository. init's all git submodules and sets up a python virtual env and other make targets_
|
|
|
|
- `docs`
|
|
|
|
_builds the docs and places them within a directory called build, which can be viewed within a web browser_
|
|
|
|
- `lint`
|
|
|
|
_conducts all required linting_
|
|
|
|
- `ansible-lint`
|
|
|
|
_lints ansible directories/files only. should only be used when you only want to check Ansible formatting._
|
|
|
|
- `docs-lint`
|
|
|
|
_lints the markdown documents within the docs directory for formatting errors that MKDocs may/will have an issue with._
|
|
|
|
- `clean`
|
|
|
|
_cleans up build artifacts and removes the python virtual environment_
|
|
|
|
|
|
## Inventory Plugin
|
|
|
|
``` bash
|
|
|
|
# to test use
|
|
ansible-inventory -i nofusscomputing.centurion.centurion --list -vvv
|
|
|
|
```
|