puppet-strings 3.0.1 → 4.0.0.rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -88
  3. data/LICENSE +174 -10
  4. data/README.md +1 -1
  5. data/lib/puppet/face/strings.rb +3 -3
  6. data/lib/puppet-strings/describe.rb +7 -11
  7. data/lib/puppet-strings/markdown/base.rb +6 -4
  8. data/lib/puppet-strings/markdown/data_type.rb +3 -4
  9. data/lib/puppet-strings/markdown/function.rb +5 -5
  10. data/lib/puppet-strings/markdown/resource_type.rb +1 -1
  11. data/lib/puppet-strings/markdown/templates/classes_and_defines.erb +4 -0
  12. data/lib/puppet-strings/markdown/templates/data_type.erb +4 -0
  13. data/lib/puppet-strings/markdown/templates/function.erb +4 -0
  14. data/lib/puppet-strings/markdown/templates/resource_type.erb +4 -0
  15. data/lib/puppet-strings/markdown.rb +9 -11
  16. data/lib/puppet-strings/tasks/generate.rb +5 -3
  17. data/lib/puppet-strings/tasks/gh_pages.rb +6 -6
  18. data/lib/puppet-strings/tasks/validate.rb +3 -3
  19. data/lib/puppet-strings/tasks.rb +3 -3
  20. data/lib/puppet-strings/version.rb +1 -1
  21. data/lib/puppet-strings/yard/code_objects/base.rb +2 -2
  22. data/lib/puppet-strings/yard/code_objects/class.rb +1 -2
  23. data/lib/puppet-strings/yard/code_objects/data_type.rb +2 -2
  24. data/lib/puppet-strings/yard/code_objects/defined_type.rb +1 -2
  25. data/lib/puppet-strings/yard/code_objects/function.rb +6 -6
  26. data/lib/puppet-strings/yard/code_objects/plan.rb +1 -2
  27. data/lib/puppet-strings/yard/code_objects/type.rb +6 -6
  28. data/lib/puppet-strings/yard/handlers/helpers.rb +1 -0
  29. data/lib/puppet-strings/yard/handlers/json/task_handler.rb +1 -0
  30. data/lib/puppet-strings/yard/handlers/puppet/base.rb +3 -3
  31. data/lib/puppet-strings/yard/handlers/ruby/base.rb +2 -2
  32. data/lib/puppet-strings/yard/handlers/ruby/data_type_handler.rb +5 -9
  33. data/lib/puppet-strings/yard/handlers/ruby/function_handler.rb +33 -32
  34. data/lib/puppet-strings/yard/handlers/ruby/provider_handler.rb +1 -1
  35. data/lib/puppet-strings/yard/handlers/ruby/rsapi_handler.rb +4 -4
  36. data/lib/puppet-strings/yard/handlers/ruby/type_base.rb +3 -0
  37. data/lib/puppet-strings/yard/handlers/ruby/type_handler.rb +6 -5
  38. data/lib/puppet-strings/yard/parsers/json/parser.rb +1 -1
  39. data/lib/puppet-strings/yard/parsers/puppet/parser.rb +0 -6
  40. data/lib/puppet-strings/yard/parsers/puppet/statement.rb +12 -20
  41. data/lib/puppet-strings/yard/tags/overload_tag.rb +4 -4
  42. data/lib/puppet-strings/yard/tags/parameter_directive.rb +1 -1
  43. data/lib/puppet-strings/yard/tags/property_directive.rb +1 -1
  44. data/lib/puppet-strings/yard/templates/default/fulldoc/html/setup.rb +11 -9
  45. data/lib/puppet-strings/yard/templates/default/layout/html/setup.rb +16 -14
  46. data/lib/puppet-strings/yard/templates/default/puppet_class/html/deprecated.erb +6 -0
  47. data/lib/puppet-strings/yard/templates/default/puppet_class/html/setup.rb +5 -3
  48. data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/deprecated.erb +6 -0
  49. data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/setup.rb +4 -2
  50. data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/deprecated.erb +6 -0
  51. data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/setup.rb +5 -3
  52. data/lib/puppet-strings/yard/templates/default/puppet_defined_type/html/deprecated.erb +6 -0
  53. data/lib/puppet-strings/yard/templates/default/puppet_defined_type/html/setup.rb +3 -1
  54. data/lib/puppet-strings/yard/templates/default/puppet_function/html/deprecated.erb +6 -0
  55. data/lib/puppet-strings/yard/templates/default/puppet_function/html/setup.rb +3 -1
  56. data/lib/puppet-strings/yard/templates/default/puppet_plan/html/deprecated.erb +6 -0
  57. data/lib/puppet-strings/yard/templates/default/puppet_plan/html/setup.rb +3 -1
  58. data/lib/puppet-strings/yard/templates/default/puppet_provider/html/setup.rb +2 -0
  59. data/lib/puppet-strings/yard/templates/default/puppet_task/html/setup.rb +2 -0
  60. data/lib/puppet-strings/yard/templates/default/puppet_type/html/deprecated.erb +6 -0
  61. data/lib/puppet-strings/yard/templates/default/puppet_type/html/setup.rb +5 -3
  62. data/lib/puppet-strings/yard/templates/default/tags/setup.rb +3 -1
  63. data/lib/puppet-strings/yard/util.rb +3 -5
  64. data/lib/puppet-strings/yard.rb +1 -1
  65. data/lib/puppet-strings.rb +3 -8
  66. metadata +18 -13
  67. data/COMMITTERS.md +0 -185
@@ -0,0 +1,6 @@
1
+ <% object.tags(:deprecated).each do |tag| %>
2
+ <div class="note deprecated">
3
+ <strong>DEPRECATED:</strong>
4
+ <%= htmlify_line deprecated.text %>
5
+ </div>
6
+ <% end %>
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Initializes the template.
2
4
  # @return [void]
3
5
  def init
4
- sections :header, :box_info, :summary, :overview, :note, :todo, T('tags'), :source
6
+ sections :header, :box_info, :summary, :overview, :note, :todo, :deprecated, T('tags'), :source
5
7
  end
@@ -0,0 +1,6 @@
1
+ <% object.tags(:deprecated).each do |tag| %>
2
+ <div class="note deprecated">
3
+ <strong>DEPRECATED:</strong>
4
+ <%= htmlify_line deprecated.text %>
5
+ </div>
6
+ <% end %>
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Initializes the template.
2
4
  # @return [void]
3
5
  def init
4
- sections :header, :box_info, :summary, :overview, [:note, :todo, T('tags'), :source]
6
+ sections :header, :box_info, :summary, :overview, [:note, :todo, :deprecated, T('tags'), :source]
5
7
  end
@@ -0,0 +1,6 @@
1
+ <% object.tags(:deprecated).each do |tag| %>
2
+ <div class="note deprecated">
3
+ <strong>DEPRECATED:</strong>
4
+ <%= htmlify_line deprecated.text %>
5
+ </div>
6
+ <% end %>
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Initializes the template.
2
4
  # @return [void]
3
5
  def init
4
- sections :header, :box_info, :summary, :overview, :note, :todo, T('tags'), :source
6
+ sections :header, :box_info, :summary, :overview, :note, :todo, :deprecated, T('tags'), :source
5
7
  end
6
8
 
7
9
  # Renders the box_info section.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Initializes the template.
2
4
  # @return [void]
3
5
  def init
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Initializes the template.
2
4
  # @return [void]
3
5
  def init
@@ -0,0 +1,6 @@
1
+ <% object.tags(:deprecated).each do |tag| %>
2
+ <div class="note deprecated">
3
+ <strong>DEPRECATED:</strong>
4
+ <%= htmlify_line deprecated.text %>
5
+ </div>
6
+ <% end %>
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Initializes the template.
2
4
  # @return [void]
3
5
  def init
4
- sections :header, :box_info, :summary, :overview, :note, :todo, T('tags'), :properties, :parameters, :features
6
+ sections :header, :box_info, :summary, :overview, :note, :todo, :deprecated, T('tags'), :properties, :parameters, :features
5
7
  end
6
8
 
7
9
  # Renders the box_info section.
@@ -19,7 +21,7 @@ def properties
19
21
  #
20
22
  # "checks" such as "creates" and "onlyif" are another type of property
21
23
  @parameters = (object.properties || []) + (object.checks || [])
22
- @parameters.sort_by! { |p| p.name }
24
+ @parameters.sort_by!(&:name)
23
25
  @tag_title = 'Properties'
24
26
  erb(:parameters)
25
27
  end
@@ -28,7 +30,7 @@ end
28
30
  # @return [String] Returns the rendered section.
29
31
  def parameters
30
32
  @parameters = object.parameters || []
31
- @parameters.sort_by! { |p| p.name }
33
+ @parameters.sort_by!(&:name)
32
34
  @tag_title = 'Parameters'
33
35
  erb(:parameters)
34
36
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Called to return parameter tags.
2
4
  # @return [Array<YARD::Tag>] Returns the parameter tags if the object should have parameters.
3
5
  def param
@@ -14,7 +16,7 @@ end
14
16
  # Renders the overload section.
15
17
  # @return [String] Returns the rendered section.
16
18
  def overload
17
- erb(if object.type == :puppet_function then :puppet_overload else :overload end)
19
+ erb(object.type == :puppet_function ? :puppet_overload : :overload)
18
20
  end
19
21
 
20
22
  # Renders the enum section.
@@ -9,10 +9,8 @@ module PuppetStrings::Yard::Util
9
9
  # @param [String] str The string to scrub.
10
10
  # @return [String] A scrubbed string.
11
11
  def self.scrub_string(str)
12
- match = str.match(%r{^%[Qq]{(.*)}$}m)
13
- if match
14
- return Puppet::Util::Docs.scrub(match[1])
15
- end
12
+ match = str.match(/^%[Qq]{(.*)}$/m)
13
+ return Puppet::Util::Docs.scrub(match[1]) if match
16
14
 
17
15
  Puppet::Util::Docs.scrub(str)
18
16
  end
@@ -25,7 +23,7 @@ module PuppetStrings::Yard::Util
25
23
  # @param [String] data HTML document to convert
26
24
  # @return [String] HTML document with links converted
27
25
  def self.github_to_yard_links(data)
28
- data.scan(%r{href\=\"\#(.+)\"}).each do |bad_link|
26
+ data.scan(/href="\#(.+)"/).each do |bad_link|
29
27
  data = data.gsub("=\"##{bad_link.first}\"", "=\"#label-#{bad_link.first.capitalize.tr('-', '+')}\"")
30
28
  end
31
29
 
@@ -61,7 +61,7 @@ class YARD::CLI::Yardoc
61
61
  :puppet_provider,
62
62
  :puppet_function,
63
63
  :puppet_task,
64
- :puppet_plan,
64
+ :puppet_plan
65
65
  )
66
66
  end
67
67
  end
@@ -1,5 +1,3 @@
1
- # rubocop:disable Naming/FileName
2
-
3
1
  # frozen_string_literal: true
4
2
 
5
3
  # The root module for Puppet Strings.
@@ -50,16 +48,13 @@ module PuppetStrings
50
48
  YARD::CLI::Yardoc.run(*args)
51
49
 
52
50
  # If outputting JSON, render the output
53
- if options[:json] && !options[:describe]
54
- render_json(file)
55
- end
51
+ render_json(file) if options[:json] && !options[:describe]
56
52
 
57
53
  # If outputting Markdown, render the output
58
- if options[:markdown]
59
- render_markdown(file)
60
- end
54
+ render_markdown(file) if options[:markdown]
61
55
 
62
56
  return unless options[:describe]
57
+
63
58
  render_describe(options[:describe_types], options[:describe_list], options[:providers])
64
59
  end
65
60
 
metadata CHANGED
@@ -1,56 +1,54 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-strings
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 4.0.0.rc.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-25 00:00:00.000000000 Z
11
+ date: 2023-04-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: yard
14
+ name: rgen
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.9.5
19
+ version: '0.9'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.9.5
26
+ version: '0.9'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rgen
28
+ name: yard
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.9.0
33
+ version: '0.9'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.9.0
40
+ version: '0.9'
41
41
  description:
42
42
  email: info@puppet.com
43
43
  executables: []
44
44
  extensions: []
45
45
  extra_rdoc_files:
46
46
  - CHANGELOG.md
47
- - COMMITTERS.md
48
47
  - CONTRIBUTING.md
49
48
  - LICENSE
50
49
  - README.md
51
50
  files:
52
51
  - CHANGELOG.md
53
- - COMMITTERS.md
54
52
  - CONTRIBUTING.md
55
53
  - LICENSE
56
54
  - README.md
@@ -137,6 +135,7 @@ files:
137
135
  - lib/puppet-strings/yard/templates/default/layout/html/objects.erb
138
136
  - lib/puppet-strings/yard/templates/default/layout/html/setup.rb
139
137
  - lib/puppet-strings/yard/templates/default/puppet_class/html/box_info.erb
138
+ - lib/puppet-strings/yard/templates/default/puppet_class/html/deprecated.erb
140
139
  - lib/puppet-strings/yard/templates/default/puppet_class/html/header.erb
141
140
  - lib/puppet-strings/yard/templates/default/puppet_class/html/note.erb
142
141
  - lib/puppet-strings/yard/templates/default/puppet_class/html/overview.erb
@@ -145,6 +144,7 @@ files:
145
144
  - lib/puppet-strings/yard/templates/default/puppet_class/html/summary.erb
146
145
  - lib/puppet-strings/yard/templates/default/puppet_class/html/todo.erb
147
146
  - lib/puppet-strings/yard/templates/default/puppet_data_type/html/box_info.erb
147
+ - lib/puppet-strings/yard/templates/default/puppet_data_type/html/deprecated.erb
148
148
  - lib/puppet-strings/yard/templates/default/puppet_data_type/html/header.erb
149
149
  - lib/puppet-strings/yard/templates/default/puppet_data_type/html/method_details_list.erb
150
150
  - lib/puppet-strings/yard/templates/default/puppet_data_type/html/note.erb
@@ -155,6 +155,7 @@ files:
155
155
  - lib/puppet-strings/yard/templates/default/puppet_data_type/html/todo.erb
156
156
  - lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/alias_of.erb
157
157
  - lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/box_info.erb
158
+ - lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/deprecated.erb
158
159
  - lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/header.erb
159
160
  - lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/note.erb
160
161
  - lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/overview.erb
@@ -163,6 +164,7 @@ files:
163
164
  - lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/summary.erb
164
165
  - lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/todo.erb
165
166
  - lib/puppet-strings/yard/templates/default/puppet_defined_type/html/box_info.erb
167
+ - lib/puppet-strings/yard/templates/default/puppet_defined_type/html/deprecated.erb
166
168
  - lib/puppet-strings/yard/templates/default/puppet_defined_type/html/header.erb
167
169
  - lib/puppet-strings/yard/templates/default/puppet_defined_type/html/note.erb
168
170
  - lib/puppet-strings/yard/templates/default/puppet_defined_type/html/overview.erb
@@ -171,6 +173,7 @@ files:
171
173
  - lib/puppet-strings/yard/templates/default/puppet_defined_type/html/summary.erb
172
174
  - lib/puppet-strings/yard/templates/default/puppet_defined_type/html/todo.erb
173
175
  - lib/puppet-strings/yard/templates/default/puppet_function/html/box_info.erb
176
+ - lib/puppet-strings/yard/templates/default/puppet_function/html/deprecated.erb
174
177
  - lib/puppet-strings/yard/templates/default/puppet_function/html/header.erb
175
178
  - lib/puppet-strings/yard/templates/default/puppet_function/html/note.erb
176
179
  - lib/puppet-strings/yard/templates/default/puppet_function/html/overview.erb
@@ -179,6 +182,7 @@ files:
179
182
  - lib/puppet-strings/yard/templates/default/puppet_function/html/summary.erb
180
183
  - lib/puppet-strings/yard/templates/default/puppet_function/html/todo.erb
181
184
  - lib/puppet-strings/yard/templates/default/puppet_plan/html/box_info.erb
185
+ - lib/puppet-strings/yard/templates/default/puppet_plan/html/deprecated.erb
182
186
  - lib/puppet-strings/yard/templates/default/puppet_plan/html/header.erb
183
187
  - lib/puppet-strings/yard/templates/default/puppet_plan/html/note.erb
184
188
  - lib/puppet-strings/yard/templates/default/puppet_plan/html/overview.erb
@@ -201,6 +205,7 @@ files:
201
205
  - lib/puppet-strings/yard/templates/default/puppet_task/html/setup.rb
202
206
  - lib/puppet-strings/yard/templates/default/puppet_task/html/supports_noop.erb
203
207
  - lib/puppet-strings/yard/templates/default/puppet_type/html/box_info.erb
208
+ - lib/puppet-strings/yard/templates/default/puppet_type/html/deprecated.erb
204
209
  - lib/puppet-strings/yard/templates/default/puppet_type/html/features.erb
205
210
  - lib/puppet-strings/yard/templates/default/puppet_type/html/header.erb
206
211
  - lib/puppet-strings/yard/templates/default/puppet_type/html/note.erb
@@ -232,11 +237,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
232
237
  version: 2.7.0
233
238
  required_rubygems_version: !ruby/object:Gem::Requirement
234
239
  requirements:
235
- - - ">="
240
+ - - ">"
236
241
  - !ruby/object:Gem::Version
237
- version: '0'
242
+ version: 1.3.1
238
243
  requirements:
239
- - puppet, >= 6.0.0
244
+ - puppet, >= 7.0.0
240
245
  rubygems_version: 3.1.6
241
246
  signing_key:
242
247
  specification_version: 4
data/COMMITTERS.md DELETED
@@ -1,185 +0,0 @@
1
- Committing changes to Strings
2
- ====
3
-
4
- We would like to make it easier for community members to contribute to strings
5
- using pull requests, even if it makes the task of reviewing and committing
6
- these changes a little harder. Pull requests are only ever based on a single
7
- branch. As a result contributors should target their changes at the main branch.
8
- This makes the process of contributing a little easier for the contributor since
9
- they don't need to concern themselves with the question, "What branch do I base my changes
10
- on?" This is already called out in the [CONTRIBUTING.md](http://goo.gl/XRH2J).
11
-
12
- Therefore, it is the responsibility of the committer to re-base the change set
13
- on the appropriate branch which should receive the contribution.
14
-
15
- It is also the responsibility of the committer to review the change set in an
16
- effort to make sure the end users must opt-in to new behavior that is
17
- incompatible with previous behavior. We employ the use of [feature
18
- flags](http://stackoverflow.com/questions/7707383/what-is-a-feature-flag) as
19
- the primary way to achieve this user opt-in behavior. Finally, it is the
20
- responsibility of the committer to make sure the `main` branch
21
- is clean and working at all times. Clean means that dead code is not
22
- allowed, everything needs to be usable in some manner at all points in time.
23
-
24
- The rest of this document addresses the concerns of the committer. This
25
- document will help guide the committer decide which branch to base, or re-base
26
- a contribution on top of. This document also describes our branch management
27
- strategy, which is closely related to the decision of what branch to commit
28
- changes into.
29
-
30
- Terminology
31
- ====
32
-
33
- Many of these terms have more than one meaning. For the purposes of this
34
- document, the following terms refer to specific things.
35
-
36
- **contributor** - A person who makes a change to strings and submits a change
37
- set in the form of a pull request.
38
-
39
- **change set** - A set of discrete patches which combined together form a
40
- contribution. A change set takes the form of Git commits and is submitted to
41
- strings in the form of a pull request.
42
-
43
- **committer** - A person responsible for reviewing a pull request and then
44
- making the decision what base branch to merge the change set into.
45
-
46
- **base branch** - A branch in Git that contains an active history of changes
47
- and will eventually be released using semantic version guidelines. The branch
48
- named `main` will always exist as a base branch.
49
-
50
- **main branch** - The branch where new functionality that and bug fixes are
51
- merged.
52
-
53
- **security** - Where critical security fixes are merged. These change sets
54
- will then be merged into release branches independently from one another. (i.e.
55
- no merging up). Please do not submit pull requests against the security branch
56
- and instead report all security related issues to security@puppet.com as
57
- per our security policy published at
58
- [https://puppet.com/security/](https://puppet.com/security/).
59
-
60
- Committer Guide
61
- ====
62
-
63
- This section provides a guide to follow while committing change sets to strings
64
- base branches.
65
-
66
- How to decide what release(s) should be patched
67
- ---
68
-
69
- This section provides a guide to help a committer decide the specific base
70
- branch that a change set should be merged into.
71
-
72
- The latest minor release of a major release is the only base branch that should
73
- be patched. These patches will be merged into `main` if they contain new
74
- functionality and if they fix a critical bug. Older minor releases in a major release
75
- do not get patched.
76
-
77
- Before the switch to [semantic versions](http://semver.org/) committers did not
78
- have to think about the difference between minor and major releases.
79
- Committing to the latest minor release of a major release is a policy intended
80
- to limit the number of active base branches that must be managed.
81
-
82
- Security patches are handled as a special case. Security patches may be
83
- applied to earlier minor releases of a major release, but the patches should
84
- first be merged into the `security` branch. Security patches should be merged
85
- by Puppet Labs staff members. Pull requests should not be submitted with the
86
- security branch as the base branch. Please send all security related
87
- information or patches to security@puppet.com as per our [Security
88
- Policy](https://puppet.com/security/).
89
-
90
- The CI systems are configured to run against `main`. Over time, this branch
91
- will refer to different versions, but its name will remain fixed to avoid having
92
- to update CI jobs and tasks as new versions are released.
93
-
94
- Code review checklist
95
- ---
96
-
97
- This section aims to provide a checklist of things to look for when reviewing a
98
- pull request and determining if the change set should be merged into a base
99
- branch:
100
-
101
- * All tests pass
102
- * Are there any platform gotchas? (Does a change make an assumption about
103
- platform specific behavior that is incompatible with other platforms? e.g.
104
- Windows paths vs. POSIX paths.)
105
- * Is the change backwards compatible? (It should be)
106
- * Are there YARD docs for API changes?
107
- * Does the change set also require documentation changes? If so is the
108
- documentation being kept up to date?
109
- * Does the change set include clean code? (software code that is formatted
110
- correctly and in an organized manner so that another coder can easily read
111
- or modify it.) HINT: `git diff main --check`
112
- * Does the change set conform to the contributing guide?
113
-
114
- Commit citizen guidelines:
115
- ---
116
-
117
- This section aims to provide guidelines for being a good commit citizen by
118
- paying attention to our automated build tools.
119
-
120
- * Don’t push on a broken build. (A broken build is defined as a failing job
121
- in [Puppet Strings](https://travis-ci.com/github/puppetlabs/puppet-strings)
122
- page.)
123
- * Watch the build until your changes have gone through green
124
- * Update the ticket status and target version. The target version field in
125
- our issue tracker should be updated to be the next release of Puppet. For
126
- example, if the most recent release of Puppet is 3.1.1 and you merge a
127
- backwards compatible change set into main, then the target version should
128
- be 3.2.0 in the issue tracker.)
129
- * Ensure the pull request is closed (Hint: amend your merge commit to contain
130
- the string `closes #123` where 123 is the pull request number and github
131
- will automatically close the pull request when the branch is pushed.)
132
-
133
- Example Procedure
134
- ====
135
-
136
- This section helps a committer rebase and merge a contribution into the base branch.
137
-
138
- Suppose a contributor submits a pull request based on main. The change set
139
- fixes a bug reported against strings 0.1.0 which is the most recently released
140
- version of strings.
141
-
142
- First, the committer pulls down the branch using the `hub` gem. This tool
143
- automates the process of adding the remote repository and creating a local
144
- branch to track the remote branch.
145
-
146
- $ hub checkout https://github.com/puppetlabs/puppet-strings/pull/123
147
- Branch jeffmccune-pdoc-34_fix_foo_error set up to track remote branch pdoc-34-fix_foo_error from jeffmccune.
148
- Switched to a new branch 'jeffmccune-pdoc-34_fix_foo_error'
149
-
150
- It's possible that more changes have been merged into main since the pull
151
- request was submitted. In this case it may be necessary to rebase the branch
152
- that contains the changes:
153
-
154
- $ git rebase upstream/main
155
-
156
- After the branch has been checked out and rebased, the committer should ensure that
157
- the code review check list has been completed.
158
-
159
- Now that we have a topic branch containing the change set based on the most recent
160
- `main` branch, the committer merges in:
161
-
162
- $ git checkout main
163
- Switched to branch 'main'
164
- $ git merge --no-ff --log jeffmccune-pdoc-34_fix_foo_error
165
- Merge made by the 'recursive' strategy.
166
- foo | 0
167
- 1 file changed, 0 insertions(+), 0 deletions(-)
168
- create mode 100644 foo
169
-
170
- Once the change set has been merged into one base branch, the change set should
171
- not be modified in order to keep the history clean, avoid "double" commits, and
172
- preserve the usefulness of `git branch --contains`. If there are any merge
173
- conflicts, they are to be resolved in the merge commit itself and not by
174
- re-writing (rebasing) the patches for one base branch, but not another.
175
-
176
- Once the change set has been merged into `main`, the committer pushes.
177
- Please note, the checklist should be complete at this point. It's helpful to make
178
- sure your local branches are up to date to avoid one of the branches failing to fast
179
- forward while the other succeeds.
180
-
181
- $ git push origin main:main
182
-
183
- That's it! The committer then updates the pull request, updates the issue in
184
- our issue tracker, and keeps an eye on the [build
185
- status](http://jenkins.puppetlabs.com).