Follow these guidelines when contributing to this directory.
Any changes to files in this directory are flagged when pull requests are run. Make changes only on the advice of a contributor.
The YAML files in this directory have very specific roles depending on the type of workflow.
Whenever possible you must ensure that:
- The file roles below are maintained
- The sequence of the jobs in the workflows are maintained using GitHub Action dependencies.
Follow these guidelines when creating new YAML defined GitHub actions. This is done to make troubleshooting easier.
Issue
Workflows:- Place all actions related to issues in the
issues.yml
file.
- Place all actions related to issues in the
Pull Request
workflows to be run by:- Workflows to run First Time repo contributors:
- Place all actions related to to this in the
pull-request-target.yml
file.
- Place all actions related to to this in the
- Workflows to be run by ALL repo contributors:
- Place all actions related to pull requests in the
pull-request.yml
file.
- Place all actions related to pull requests in the
- Workflows to run First Time repo contributors:
Push
workflows:- Place all actions related to pushes in the
push.yml
file.
- Place all actions related to pushes in the
There are some exceptions to these rules in which jobs can be placed in dedicated separate files:
- Jobs that require unique
cron:
schedules - Jobs that require unique
paths:
statements that operate only when files in a specific path are updated. - Jobs only work correctly if they have a dedicated file (eg.
CodeQL
)
Follow these guidelines when creating or modifying scripts in this directory.
- All scripts in this directory must be written in python3 for consistency.
- The python3 scripts must follow the following coding standards. Run these commands against your scripts before submitting PRs that modify or create python3 scripts in this directory.
- Pycodestyle
- Pydocstyle
- Pylint
- Flake8
- All scripts must run a main() function.