This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behaviour to [email protected].
Before submitting a bug, please check our issues page to see if it's already been reported.
When reporting a bug, fill out the required template, and please include as much detail as possible as it helps us resolve issues faster.
Enhancement proposals should:
- Use a descriptive title.
- Provide a step-by-step description of the suggested enhancement.
- Provide specific examples to demonstrate the steps.
- Describe the current behaviour and explain which behaviour you expected to see instead.
- Keep the scope as narrow as possible, to make it easier to implement.
Remember that this is a volunteer-driven project, and that contributions are welcome.
Contributions should be made in response to a particular GitHub Issue. We find it easier to review code if we've already discussed what it should do, and assessed if it fits with the wider codebase.
A good pull request:
- Is clear.
- Works across all supported version of Python.
- Complies with the existing codebase style (flake8, pylint).
- Includes docstrings and comments for unintuitive sections of code.
- Includes documentation for new features.
- Includes tests cases that demonstrates the previous flaw that now passes with the included patch, or demonstrates the newly added feature. Tests should have 100% code coverage.
- Is appropriately licensed (Apache 2.0).
Fork the
sceptre
repository on GitHub.Clone your fork locally:
$ git clone [email protected]:your_name_here/sceptre.git
Install your local copy into a virtualenv. Assuming you have virtualenv installed, this is how you set up your fork for local development:
$ cd sceptre/ $ virtualenv env $ source env/bin/activate $ pip install -r requirements_dev.txt $ pip install -r requirements_tests.txt $ pip install -e .
Create a branch for local development:
$ git checkout -b sptr-<GitHub issue number>
When you're done making changes, check that your changes pass flake8 and the tests, including testing other Python versions with tox:
$ make lint $ make test $ make test-all $ make test-integration $ make coverage # coverage should be 100%
Make sure the changes comply with the pull request guidelines in the section on Contributing Code.
Commit your changes:
$ git add . $ git commit
Commit messages should follow these guidelines.
Push your branch to GitHub:
$ git push origin <description of pull request>
- Submit a pull request through the GitHub website.
This document took inspiration from the CONTRIBUTING files of the Atom and Boto3 projects.