Skip to content

Latest commit

 

History

History
49 lines (40 loc) · 2.34 KB

CONTRIBUTING.rst

File metadata and controls

49 lines (40 loc) · 2.34 KB

Contributing to StackStorm

We welcome and appreciate contributions of any kind (code, tests, documentation, examples, ...).

For more information on how to contribute and the guidelines you should follow, please visit the Development section of our documentation - http://docs.stackstorm.com/development/index.html

Managing Python dependencies

requirements.txt files are generated automatically using scripts/fixate-requirements.py script and shouldn't be edited manually.

To manage Python dependencies for each StackStorm component, we use the following files:

  1. fixed-requirements.txt - A file which pins all the requirements to a specific version. Keep in mind that this file is used by all the components. This way we make sure different components always use the same version of a particular dependency.
  2. st2*/in-requirements.txt - Component specific requirements file. This file contains a full list of the dependencies which are needed by this particular component.
  3. st2*/requirements.txt - Final component requirements file which is generated by processing fixed-requirements.txt and in-requirements.txt file. Note: This file is automatically generated and should not be edited manually.
  4. requirements.txt - Final requirements file for all the components which is generated by processing fixed-requirements.txt and all the component in-requirements.txt files. Note: This file is automatically generated and should not be edited manually.

Adding a new component dependency

To add a new dependency for a particular component, you should perform the following steps:

  1. Add a name / link to the dependency to component in-requirements.txt file. For example st2actions/in-requirements.txt
  2. Pin this requirement to a specific version in the fixed-requirements.txt file in the repo root.
  3. Generate final requirements.txt file for that component by running make requirements target in the component directory. For example: cd st2actions ; make requirements.
  4. Generate global requirements.txt file in the repo root by running make requirements in there.
  5. Add and commit generated requirements.txt files - git add st2*/requirements.txt ; git add requirements.txt ; git commit