Mercurial > repos > other > Puppet
annotate modules/translate/CONTRIBUTING.md @ 335:aa9f570d6a9c
Switch to PHP 7.4 now that NextCloud has reached v18
7.3 only lasted until December 2020 with active support.
7.4 is good until December 2021 with security until 2022.
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 22 Mar 2020 19:41:50 +0000 |
parents | b0f8b88fea5c |
children |
rev | line source |
---|---|
245
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
1 # Contributing to Puppet modules |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
2 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
3 So you want to contribute to a Puppet module: Great! Below are some instructions to get you started doing |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
4 that very thing while setting expectations around code quality as well as a few tips for making the |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
5 process as easy as possible. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
6 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
7 ### Table of Contents |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
8 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
9 1. [Getting Started](#getting-started) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
10 1. [Commit Checklist](#commit-checklist) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
11 1. [Submission](#submission) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
12 1. [More about commits](#more-about-commits) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
13 1. [Testing](#testing) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
14 - [Running Tests](#running-tests) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
15 - [Writing Tests](#writing-tests) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
16 1. [Get Help](#get-help) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
17 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
18 ## Getting Started |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
19 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
20 - Fork the module repository on GitHub and clone to your workspace |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
21 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
22 - Make your changes! |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
23 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
24 ## Commit Checklist |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
25 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
26 ### The Basics |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
27 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
28 - [x] my commit is a single logical unit of work |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
29 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
30 - [x] I have checked for unnecessary whitespace with "git diff --check" |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
31 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
32 - [x] my commit does not include commented out code or unneeded files |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
33 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
34 ### The Content |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
35 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
36 - [x] my commit includes tests for the bug I fixed or feature I added |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
37 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
38 - [x] my commit includes appropriate documentation changes if it is introducing a new feature or changing existing functionality |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
39 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
40 - [x] my code passes existing test suites |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
41 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
42 ### The Commit Message |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
43 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
44 - [x] the first line of my commit message includes: |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
45 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
46 - [x] an issue number (if applicable), e.g. "(MODULES-xxxx) This is the first line" |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
47 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
48 - [x] a short description (50 characters is the soft limit, excluding ticket number(s)) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
49 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
50 - [x] the body of my commit message: |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
51 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
52 - [x] is meaningful |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
53 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
54 - [x] uses the imperative, present tense: "change", not "changed" or "changes" |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
55 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
56 - [x] includes motivation for the change, and contrasts its implementation with the previous behavior |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
57 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
58 ## Submission |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
59 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
60 ### Pre-requisites |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
61 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
62 - Make sure you have a [GitHub account](https://github.com/join) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
63 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
64 - [Create a ticket](https://tickets.puppet.com/secure/CreateIssue!default.jspa), or [watch the ticket](https://tickets.puppet.com/browse/) you are patching for. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
65 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
66 ### Push and PR |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
67 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
68 - Push your changes to your fork |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
69 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
70 - [Open a Pull Request](https://help.github.com/articles/creating-a-pull-request-from-a-fork/) against the repository in the puppetlabs organization |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
71 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
72 ## More about commits |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
73 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
74 1. Make separate commits for logically separate changes. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
75 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
76 Please break your commits down into logically consistent units |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
77 which include new or changed tests relevant to the rest of the |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
78 change. The goal of doing this is to make the diff easier to |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
79 read for whoever is reviewing your code. In general, the easier |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
80 your diff is to read, the more likely someone will be happy to |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
81 review it and get it into the code base. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
82 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
83 If you are going to refactor a piece of code, please do so as a |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
84 separate commit from your feature or bug fix changes. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
85 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
86 We also really appreciate changes that include tests to make |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
87 sure the bug is not re-introduced, and that the feature is not |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
88 accidentally broken. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
89 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
90 Describe the technical detail of the change(s). If your |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
91 description starts to get too long, that is a good sign that you |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
92 probably need to split up your commit into more finely grained |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
93 pieces. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
94 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
95 Commits which plainly describe the things which help |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
96 reviewers check the patch and future developers understand the |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
97 code are much more likely to be merged in with a minimum of |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
98 bike-shedding or requested changes. Ideally, the commit message |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
99 would include information, and be in a form suitable for |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
100 inclusion in the release notes for the version of Puppet that |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
101 includes them. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
102 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
103 Please also check that you are not introducing any trailing |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
104 whitespace or other "whitespace errors". You can do this by |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
105 running "git diff --check" on your changes before you commit. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
106 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
107 2. Sending your patches |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
108 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
109 To submit your changes via a GitHub pull request, we _highly_ |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
110 recommend that you have them on a topic branch, instead of |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
111 directly on "master". |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
112 It makes things much easier to keep track of, especially if |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
113 you decide to work on another thing before your first change |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
114 is merged in. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
115 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
116 GitHub has some pretty good |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
117 [general documentation](http://help.github.com/) on using |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
118 their site. They also have documentation on |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
119 [creating pull requests](https://help.github.com/articles/creating-a-pull-request-from-a-fork/). |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
120 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
121 In general, after pushing your topic branch up to your |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
122 repository on GitHub, you can switch to the branch in the |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
123 GitHub UI and click "Pull Request" towards the top of the page |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
124 in order to open a pull request. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
125 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
126 3. Update the related JIRA issue. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
127 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
128 If there is a JIRA issue associated with the change you |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
129 submitted, then you should update the ticket to include the |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
130 location of your branch, along with any other commentary you |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
131 may wish to make. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
132 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
133 # Testing |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
134 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
135 ## Getting Started |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
136 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
137 Our Puppet modules provide [`Gemfile`](./Gemfile)s, which can tell a Ruby package manager such as [bundler](http://bundler.io/) what Ruby packages, |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
138 or Gems, are required to build, develop, and test this software. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
139 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
140 Please make sure you have [bundler installed](http://bundler.io/#getting-started) on your system, and then use it to |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
141 install all dependencies needed for this project in the project root by running |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
142 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
143 ```shell |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
144 % bundle install --path .bundle/gems |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
145 Fetching gem metadata from https://rubygems.org/........ |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
146 Fetching gem metadata from https://rubygems.org/.. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
147 Using rake (10.1.0) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
148 Using builder (3.2.2) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
149 -- 8><-- many more --><8 -- |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
150 Using rspec-system-puppet (2.2.0) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
151 Using serverspec (0.6.3) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
152 Using rspec-system-serverspec (1.0.0) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
153 Using bundler (1.3.5) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
154 Your bundle is complete! |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
155 Use `bundle show [gemname]` to see where a bundled gem is installed. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
156 ``` |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
157 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
158 NOTE: some systems may require you to run this command with sudo. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
159 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
160 If you already have those gems installed, make sure they are up-to-date: |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
161 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
162 ```shell |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
163 % bundle update |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
164 ``` |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
165 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
166 ## Running Tests |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
167 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
168 With all dependencies in place and up-to-date, run the tests: |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
169 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
170 ### Unit Tests |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
171 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
172 ```shell |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
173 % bundle exec rake spec |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
174 ``` |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
175 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
176 This executes all the [rspec tests](http://rspec-puppet.com/) in the directories defined [here](https://github.com/puppetlabs/puppetlabs_spec_helper/blob/699d9fbca1d2489bff1736bb254bb7b7edb32c74/lib/puppetlabs_spec_helper/rake_tasks.rb#L17) and so on. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
177 rspec tests may have the same kind of dependencies as the module they are testing. Although the module defines these dependencies in its [metadata.json](./metadata.json), |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
178 rspec tests define them in [.fixtures.yml](./fixtures.yml). |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
179 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
180 ### Acceptance Tests |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
181 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
182 Some Puppet modules also come with acceptance tests, which use [beaker][]. These tests spin up a virtual machine under |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
183 [VirtualBox](https://www.virtualbox.org/), controlled with [Vagrant](http://www.vagrantup.com/), to simulate scripted test |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
184 scenarios. In order to run these, you need both Virtualbox and Vagrant installed on your system. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
185 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
186 Run the tests by issuing the following command |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
187 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
188 ```shell |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
189 % bundle exec rake spec_clean |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
190 % bundle exec rspec spec/acceptance |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
191 ``` |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
192 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
193 This will now download a pre-fabricated image configured in the [default node-set](./spec/acceptance/nodesets/default.yml), |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
194 install Puppet, copy this module, and install its dependencies per [spec/spec_helper_acceptance.rb](./spec/spec_helper_acceptance.rb) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
195 and then run all the tests under [spec/acceptance](./spec/acceptance). |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
196 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
197 ## Writing Tests |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
198 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
199 ### Unit Tests |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
200 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
201 When writing unit tests for Puppet, [rspec-puppet][] is your best friend. It provides tons of helper methods for testing your manifests against a |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
202 catalog (e.g. contain_file, contain_package, with_params, etc). It would be ridiculous to try and top rspec-puppet's [documentation][rspec-puppet_docs] |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
203 but here's a tiny sample: |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
204 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
205 Sample manifest: |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
206 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
207 ```puppet |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
208 file { "a test file": |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
209 ensure => present, |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
210 path => "/etc/sample", |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
211 } |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
212 ``` |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
213 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
214 Sample test: |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
215 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
216 ```ruby |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
217 it 'does a thing' do |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
218 expect(subject).to contain_file("a test file").with({:path => "/etc/sample"}) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
219 end |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
220 ``` |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
221 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
222 ### Acceptance Tests |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
223 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
224 Writing acceptance tests for Puppet involves [beaker][] and its cousin [beaker-rspec][]. A common pattern for acceptance tests is to create a test manifest, apply it |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
225 twice to check for idempotency or errors, then run expectations. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
226 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
227 ```ruby |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
228 it 'does an end-to-end thing' do |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
229 pp = <<-EOF |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
230 file { 'a test file': |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
231 ensure => present, |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
232 path => "/etc/sample", |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
233 content => "test string", |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
234 } |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
235 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
236 apply_manifest(pp, :catch_failures => true) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
237 apply_manifest(pp, :catch_changes => true) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
238 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
239 end |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
240 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
241 describe file("/etc/sample") do |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
242 it { is_expected.to contain "test string" } |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
243 end |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
244 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
245 ``` |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
246 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
247 # If you have commit access to the repository |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
248 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
249 Even if you have commit access to the repository, you still need to go through the process above, and have someone else review and merge |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
250 in your changes. The rule is that **all changes must be reviewed by a project developer that did not write the code to ensure that |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
251 all changes go through a code review process.** |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
252 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
253 The record of someone performing the merge is the record that they performed the code review. Again, this should be someone other than the author of the topic branch. |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
254 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
255 # Get Help |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
256 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
257 ### On the web |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
258 * [Puppet help messageboard](http://puppet.com/community/get-help) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
259 * [Writing tests](https://docs.puppet.com/guides/module_guides/bgtm.html#step-three-module-testing) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
260 * [General GitHub documentation](http://help.github.com/) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
261 * [GitHub pull request documentation](http://help.github.com/send-pull-requests/) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
262 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
263 ### On chat |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
264 * Slack (slack.puppet.com) #forge-modules, #puppet-dev, #windows, #voxpupuli |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
265 * IRC (freenode) #puppet-dev, #voxpupuli |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
266 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
267 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
268 [rspec-puppet]: http://rspec-puppet.com/ |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
269 [rspec-puppet_docs]: http://rspec-puppet.com/documentation/ |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
270 [beaker]: https://github.com/puppetlabs/beaker |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
271 [beaker-rspec]: https://github.com/puppetlabs/beaker-rspec |