|
1 |
| -This module has grown over time based on a range of contributions from |
2 |
| -people using it. If you follow these contributing guidelines your patch |
3 |
| -will likely make it into a release a little quicker. |
4 |
| - |
5 |
| - |
6 |
| -## Contributing |
7 |
| - |
8 |
| -1. Fork the repo. |
9 |
| - |
10 |
| -2. Run the tests. We only take pull requests with passing tests, and |
11 |
| - it's great to know that you have a clean slate |
12 |
| - |
13 |
| -3. Add a test for your change. Only refactoring and documentation |
14 |
| - changes require no new tests. If you are adding functionality |
15 |
| - or fixing a bug, please add a test. |
16 |
| - |
17 |
| -4. Make the test pass. |
18 |
| - |
19 |
| -5. Push to your fork and submit a pull request. |
20 |
| - |
21 |
| - |
22 |
| -## Dependencies |
23 |
| - |
24 |
| -The testing and development tools have a bunch of dependencies, |
25 |
| -all managed by [bundler](http://bundler.io/) according to the |
26 |
| -[Puppet support matrix](http://docs.puppetlabs.com/guides/platforms.html#ruby-versions). |
27 |
| -By default the tests use a baseline version of Puppet. |
28 |
| - |
29 |
| -If you have Ruby 2.x or want a specific version of Puppet, |
30 |
| -you must set an environment variable such as: |
31 |
| - |
32 |
| - export PUPPET_GEM_VERSION="~> 3.2.0" |
33 |
| - |
34 |
| -Install the dependencies like so... |
35 |
| - |
36 |
| - bundle install |
37 |
| - |
38 |
| -...or promote reuse of bundled gems across projects by running: |
39 |
| - |
40 |
| - bundle install --path=~/.bundle |
41 |
| - |
42 |
| -## Syntax and style |
43 |
| - |
44 |
| -The test suite will run [Puppet Lint](http://puppet-lint.com/) and |
45 |
| -[Puppet Syntax](https://github.com/gds-operations/puppet-syntax) to |
46 |
| -check various syntax and style things. You can run these locally with: |
47 |
| - |
48 |
| - bundle exec rake lint |
49 |
| - bundle exec rake syntax |
50 |
| - |
51 |
| -## Running the unit tests |
52 |
| - |
53 |
| -The unit test suite covers most of the code, as mentioned above please |
54 |
| -add tests if you're adding new functionality. If you've not used |
55 |
| -[rspec-puppet](http://rspec-puppet.com/) before then feel free to ask |
56 |
| -about how best to test your new feature. Running the test suite is done |
57 |
| -with: |
58 |
| - |
59 |
| - bundle exec rake spec |
60 |
| - |
61 |
| -Note also you can run the syntax, style and unit tests in one go with: |
62 |
| - |
63 |
| - bundle exec rake test |
64 |
| - |
65 |
| -## Integration tests |
66 |
| - |
67 |
| -The unit tests just check the code runs, not that it does exactly what |
68 |
| -we want on a real machine. For that we're using |
69 |
| -[Beaker](https://github.com/puppetlabs/beaker). |
70 |
| -This fires up a new virtual machine (using vagrant) and runs a series of |
71 |
| -simple tests against it after applying the module. You can run this |
72 |
| -with: |
73 |
| - |
74 |
| - bundle exec rake acceptance |
75 |
| - |
76 |
| -This will run the tests on an Ubuntu 16.04 virtual machine. You can also |
77 |
| -run the integration tests against RHEL, CentOS and Debian. |
78 |
| - |
79 |
| - bundle exec rake acceptance:pooler:centos7 |
80 |
| - bundle exec rake acceptance:pooler:rhel7 |
81 |
| - bundle exec rake acceptance:pooler:ubuntu-1404 |
82 |
| - bundle exec rake acceptance:pooler:ubuntu-1604 |
83 |
| - bundle exec rake acceptance:pooler:ubuntu-1610 |
84 |
| - bundle exec rake acceptance:pooler:win-2016 |
85 |
| - bundle exec rake acceptance:vagrant:centos-70-x64 |
86 |
| - bundle exec rake acceptance:vagrant:debian-81-x64 |
87 |
| - bundle exec rake acceptance:vagrant:ubuntu-1404-x64 |
88 |
| - bundle exec rake acceptance:vagrant:ubuntu-1604-x64 |
| 1 | +# Contributing to Puppet modules |
89 | 2 |
|
| 3 | +Check out our [Contributing to Supported Modules Blog Post](https://puppetlabs.github.io/iac/docs/contributing_to_a_module.html) to find all the information that you will need. |
0 commit comments