Skip to content

Latest commit

 

History

History
46 lines (39 loc) · 2.04 KB

CONTRIBUTING.md

File metadata and controls

46 lines (39 loc) · 2.04 KB

Contribution Guidelines

This document aims to outline the requirements for the various forms of contribution for this project.

ALL contributions are subject to review via pull request

Pull Requests

  1. Ensure the "base repository" is set to "RedHatGov/product-demos" since this is a fork it defaults to it's parent "ansible/product-demos".

Pull Request Guidelines

  • PRs should include the playbook/demo and required entry in corresponding <demo>/setup.yml.
  • PRs should include documentation in corresponding <demo>/README.md.
  • PRs should be rebased against the main branch to avoid conflicts.
  • PRs should not impact more than a single directory/demo section.
  • PRs should not rely on external infrastructure or configuration unless the dependency is automated or specified in the user_message of setup.yml.

Adding a New Demo

  1. Create a new branch based on main. (eg. git checkout -b <branch name>)
  2. Add your playbook to the appropriate demo/section subdirectory.
  3. Make any changes needed to match the existing standards in the directory.
    1. Ex: Parameterized hosts
    hosts: "{{ HOSTS | default('windows') }}"
    
  4. Create an entry for your playbook in your subdirectories setup.yml
    1. You can copy paste an existing one and edit it.
    2. Ensure you edit the name, playbook path, survey etc.
  5. Add any needed roles/collections to the requirements.yml
  6. Test via RHPDS, specify your branch name within the project configuration.

New Demo Section/Category

  1. Create a new subdirectory with no spaces
  2. Create a new setup.yml copying appropriate elements from another
    • Below is a sample skeleton for a new setup.yml
    ---
    user_message: ''
    
    controller_components:
    - job_templates
    
    controller_templates:
    ...
    
    • controller_components can be any of the roles defined here
    • Add variables for each component listed
  3. Include a README.md in the subdirectory