Skip to content

Latest commit

 

History

History
85 lines (58 loc) · 2.67 KB

CONTRIBUTING.rst

File metadata and controls

85 lines (58 loc) · 2.67 KB

Contributing

Troposphere and CloudFormation open up many possibilities, and we're open to any contributions that expand the flexibility of this project within its overall mission.

To contribute, you'll need Python 3.5 and a virtual environment with our requirements installed.

Setup

mkvirtualenv -p python3.5 aws-web-stacks
pip install -r requirements.txt

Check Code Formatting

make check

Compile YAML Templates

make

The templates will be saved to the content/ directory.

Building the documentation

cd docs
make html

The docs will be available in the docs/_build/html/ directory.

Submitting Pull Requests

Please follow these basic steps to simplify pull request reviews.

  • Please rebase your branch against the current develop branch
  • Please ensure make check and make (see above) succeed before submitting a PR
  • Make reference to possible issues on PR comment

Submitting bug reports

  • Please include the exact filename of the template used
  • Please include any and all error messages generated by AWS

Release Process

  • Merge any PRs targeted for the release into the develop branch

  • Write release notes in the changelog including:

    • links to PRs as appropriate
    • credit for outside contributors
    • a link (at the bottom of the file) to the listing page in the aws-web-stacks bucket
  • Edit the version number in version.txt and push that to the develop branch

  • Create, review, and merge a PR from the develop branch to the master branch, titled with the release number e.g., "Release 1.2.0"

  • After merging, Circle CI will build the templates and upload them to S3. The current, stable (unversioned) releases will be overwritten, and a copy of the release will be archived to a folder named for the version in the S3 bucket. For this reason, it is very important that no commits with new code be made to master before incrementing the version number, or the YAML for the previous release may be overwritten.

  • Tag the release in Git and push it to GitHub, e.g.:

    git checkout master
    git tag -a v1.2.0 -m "v1.2.0"
    git push origin v1.2.0
    
  • Navigate to the Releases tab in GitHub and edit the release for the tag just pushed, including a copy of the release notes