Skip to content

Latest commit

 

History

History
76 lines (42 loc) · 2.16 KB

CONTRIBUTING.md

File metadata and controls

76 lines (42 loc) · 2.16 KB

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 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

# to test use
ansible-inventory -i nofusscomputing.centurion.centurion --list -vvv