Skip to content

Commit 0385366

Browse files
committed
(MODULES-11361) Update PDK template
This commit runs `pdk update` using the most recent template (targeting `main`) and updates metadata.json to allow Puppet versions < 9.0.0 in preparation for the release of Puppet 8.
1 parent 67e81b6 commit 0385366

File tree

7 files changed

+98
-50
lines changed

7 files changed

+98
-50
lines changed

.devcontainer/README.md

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# devcontainer
2+
3+
4+
For format details, see https://aka.ms/devcontainer.json.
5+
6+
For config options, see the README at:
7+
https://github.com/microsoft/vscode-dev-containers/tree/v0.140.1/containers/puppet
8+
9+
``` json
10+
{
11+
"name": "Puppet Development Kit (Community)",
12+
"dockerFile": "Dockerfile",
13+
14+
// Set *default* container specific settings.json values on container create.
15+
"settings": {
16+
"terminal.integrated.profiles.linux": {
17+
"bash": {
18+
"path": "bash",
19+
}
20+
}
21+
},
22+
23+
// Add the IDs of extensions you want installed when the container is created.
24+
"extensions": [
25+
"puppet.puppet-vscode",
26+
"rebornix.Ruby"
27+
],
28+
29+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
30+
"forwardPorts": [],
31+
32+
// Use 'postCreateCommand' to run commands after the container is created.
33+
"postCreateCommand": "pdk --version",
34+
}
35+
```
36+
37+
38+

.devcontainer/devcontainer.json

+5-11
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,17 @@
1-
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
2-
// https://github.com/microsoft/vscode-dev-containers/tree/v0.140.1/containers/puppet
31
{
42
"name": "Puppet Development Kit (Community)",
53
"dockerFile": "Dockerfile",
64

7-
// Set *default* container specific settings.json values on container create.
85
"settings": {
9-
"terminal.integrated.shell.linux": "/bin/bash"
6+
"terminal.integrated.profiles.linux": {
7+
"bash": {
8+
"path": "bash"
9+
}
10+
}
1011
},
1112

12-
// Add the IDs of extensions you want installed when the container is created.
1313
"extensions": [
1414
"puppet.puppet-vscode",
1515
"rebornix.Ruby"
1616
]
17-
18-
// Use 'forwardPorts' to make a list of ports inside the container available locally.
19-
// "forwardPorts": [],
20-
21-
// Use 'postCreateCommand' to run commands after the container is created.
22-
// "postCreateCommand": "pdk --version",
2317
}

.github/workflows/auto_release.yml

+15-9
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ jobs:
1414
runs-on: ubuntu-20.04
1515

1616
steps:
17+
1718
- name: "Honeycomb: Start recording"
1819
uses: puppetlabs/kvrhdn-gha-buildevents@pdk-templates-v1
1920
with:
@@ -25,7 +26,6 @@ jobs:
2526
run: |
2627
echo STEP_ID="auto-release" >> $GITHUB_ENV
2728
echo STEP_START=$(date +%s) >> $GITHUB_ENV
28-
2929
- name: "Checkout Source"
3030
if: ${{ github.repository_owner == 'puppetlabs' }}
3131
uses: actions/checkout@v3
@@ -34,7 +34,7 @@ jobs:
3434
persist-credentials: false
3535

3636
- name: "PDK Release prep"
37-
uses: docker://puppet/iac_release:ci
37+
uses: docker://puppet/pdk:2.6.1.0
3838
with:
3939
args: 'release prep --force'
4040
env:
@@ -46,38 +46,44 @@ jobs:
4646
run: |
4747
echo "::set-output name=ver::$(jq --raw-output .version metadata.json)"
4848
49-
- name: "Commit changes"
49+
- name: "Check if a release is necessary"
5050
if: ${{ github.repository_owner == 'puppetlabs' }}
51+
id: check
52+
run: |
53+
git diff --quiet CHANGELOG.md && echo "::set-output name=release::false" || echo "::set-output name=release::true"
54+
55+
- name: "Commit changes"
56+
if: ${{ github.repository_owner == 'puppetlabs' && steps.check.outputs.release == 'true' }}
5157
run: |
5258
git config --local user.email "${{ github.repository_owner }}@users.noreply.github.com"
5359
git config --local user.name "GitHub Action"
5460
git add .
55-
git commit -m "(packaging) Release prep v${{ steps.gv.outputs.ver }}"
61+
git commit -m "Release prep v${{ steps.gv.outputs.ver }}"
5662
5763
- name: Create Pull Request
5864
id: cpr
5965
uses: puppetlabs/peter-evans-create-pull-request@v3
60-
if: ${{ github.repository_owner == 'puppetlabs' }}
66+
if: ${{ github.repository_owner == 'puppetlabs' && steps.check.outputs.release == 'true' }}
6167
with:
6268
token: ${{ secrets.GITHUB_TOKEN }}
63-
commit-message: "(packaging) Release prep v${{ steps.gv.outputs.ver }}"
69+
commit-message: "Release prep v${{ steps.gv.outputs.ver }}"
6470
branch: "release-prep"
6571
delete-branch: true
6672
title: "Release prep v${{ steps.gv.outputs.ver }}"
6773
body: |
6874
Automated release-prep through [pdk-templates](https://github.com/puppetlabs/pdk-templates/blob/main/moduleroot/.github/workflows/auto_release.yml.erb) from commit ${{ github.sha }}.
6975
Please verify before merging:
70-
- [ ] last [nightly](https://github.com/${{ github.repository }}/actions/workflows/daily_unit_tests_with_nightly_puppet_gem.yaml) run is green
76+
- [ ] last [nightly](https://github.com/${{ github.repository }}/actions/workflows/nightly.yml) run is green
7177
- [ ] [Changelog](https://github.com/${{ github.repository }}/blob/release-prep/CHANGELOG.md) is readable and has no unlabeled pull requests
7278
- [ ] Ensure the [changelog](https://github.com/${{ github.repository }}/blob/release-prep/CHANGELOG.md) version and [metadata](https://github.com/${{ github.repository }}/blob/release-prep/metadata.json) version match
7379
labels: "maintenance"
7480

7581
- name: PR outputs
76-
if: ${{ github.repository_owner == 'puppetlabs' }}
82+
if: ${{ github.repository_owner == 'puppetlabs' && steps.check.outputs.release == 'true' }}
7783
run: |
7884
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
7985
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
80-
86+
8187
- name: "Honeycomb: Record finish step"
8288
if: ${{ always() }}
8389
run: |

.rubocop.yml

+3-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ require:
44
- rubocop-rspec
55
AllCops:
66
DisplayCopNames: true
7-
TargetRubyVersion: '2.4'
7+
TargetRubyVersion: '2.5'
88
Include:
99
- "**/*.rb"
1010
Exclude:
@@ -37,7 +37,8 @@ Style/BlockDelimiters:
3737
be consistent then.
3838
EnforcedStyle: braces_for_chaining
3939
Style/ClassAndModuleChildren:
40-
Enabled: false
40+
Description: Compact style reduces the required amount of indentation.
41+
EnforcedStyle: compact
4142
Style/EmptyElse:
4243
Description: Enforce against empty else clauses, but allow `nil` for clarity.
4344
EnforcedStyle: empty
@@ -78,10 +79,8 @@ RSpec/MessageSpies:
7879
EnforcedStyle: receive
7980
Style/Documentation:
8081
Exclude:
81-
- files/*
8282
- lib/puppet/parser/functions/**/*
8383
- spec/**/*
84-
- tasks/*
8584
Style/WordArray:
8685
EnforcedStyle: brackets
8786
Performance/AncestorsInclude:

Gemfile

+32-22
Original file line numberDiff line numberDiff line change
@@ -13,36 +13,46 @@ def location_for(place_or_version, fake_version = nil)
1313
end
1414
end
1515

16-
ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments
17-
minor_version = ruby_version_segments[0..1].join('.')
18-
1916
group :development do
20-
gem "json", '= 2.0.4', require: false if Gem::Requirement.create('~> 2.4.2').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
21-
gem "json", '= 2.1.0', require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
22-
gem "json", '= 2.3.0', require: false if Gem::Requirement.create(['>= 2.7.0', '< 2.8.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
23-
gem "puppet-module-posix-default-r#{minor_version}", '~> 1.0', require: false, platforms: [:ruby]
24-
gem "puppet-module-posix-dev-r#{minor_version}", '~> 1.0', require: false, platforms: [:ruby]
25-
gem "puppet-module-win-default-r#{minor_version}", '~> 1.0', require: false, platforms: [:mswin, :mingw, :x64_mingw]
26-
gem "puppet-module-win-dev-r#{minor_version}", '~> 1.0', require: false, platforms: [:mswin, :mingw, :x64_mingw]
17+
gem "json", '= 2.1.0', require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
18+
gem "json", '= 2.3.0', require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
19+
gem "json", '= 2.5.1', require: false if Gem::Requirement.create(['>= 3.0.0', '< 3.0.5']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
20+
gem "json", '= 2.6.1', require: false if Gem::Requirement.create(['>= 3.1.0', '< 3.1.3']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
21+
gem "json", '= 2.6.3', require: false if Gem::Requirement.create(['>= 3.2.0', '< 4.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
22+
gem "voxpupuli-puppet-lint-plugins", '~> 3.1', require: false
23+
gem "facterdb", '~> 1.18', require: false
24+
gem "metadata-json-lint", '>= 2.0.2', '< 4.0.0', require: false
25+
gem "puppetlabs_spec_helper", '>= 3.0.0', '< 5.0.0', require: false
26+
gem "rspec-puppet-facts", '~> 2.0', require: false
27+
gem "codecov", '~> 0.2', require: false
28+
gem "dependency_checker", '~> 0.2', require: false
29+
gem "parallel_tests", '~> 3.4', require: false
30+
gem "pry", '~> 0.10', require: false
31+
gem "simplecov-console", '~> 0.5', require: false
32+
gem "puppet-debugger", '~> 1.0', require: false
33+
gem "rubocop", '= 1.6.1', require: false
34+
gem "rubocop-performance", '= 1.9.1', require: false
35+
gem "rubocop-rspec", '= 2.0.1', require: false
36+
gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw]
2737
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 4.30')
2838
gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || '~> 0.9')
29-
gem "beaker-docker", '~> 0.3', require: false
30-
gem "beaker-pe", require: false
39+
gem "beaker-docker", '~> 0.3', require: false
40+
gem "beaker-pe", require: false
3141
gem "beaker-hostgenerator"
3242
gem "beaker-rspec"
3343
gem "beaker-puppet", *location_for(ENV['BEAKER_PUPPET_VERSION'] || '~> 1.22')
34-
gem "github_changelog_generator", require: false
35-
gem "beaker-module_install_helper", require: false
36-
gem "beaker-puppet_install_helper", require: false
37-
gem "nokogiri", require: false
38-
gem "bolt", '~> 3.0', require: false if ENV["GEM_BOLT"]
39-
gem "beaker-task_helper", '~> 1.9', require: false if ENV["GEM_BOLT"]
40-
gem "octokit", '4.21.0', require: false
41-
gem "async", '~> 1.30', require: false
44+
gem "github_changelog_generator", require: false
45+
gem "beaker-module_install_helper", require: false
46+
gem "beaker-puppet_install_helper", require: false
47+
gem "nokogiri", require: false
48+
gem "bolt", '~> 3.0', require: false if ENV["GEM_BOLT"]
49+
gem "beaker-task_helper", '~> 1.9', require: false if ENV["GEM_BOLT"]
50+
gem "octokit", '4.21.0', require: false
51+
gem "async", '~> 1.30', require: false
4252
end
4353
group :system_tests do
44-
gem "puppet-module-posix-system-r#{minor_version}", '~> 1.0', require: false, platforms: [:ruby]
45-
gem "puppet-module-win-system-r#{minor_version}", '~> 1.0', require: false, platforms: [:mswin, :mingw, :x64_mingw]
54+
gem "puppet_litmus", '< 1.0.0', require: false, platforms: [:ruby, :x64_mingw]
55+
gem "serverspec", '~> 2.41', require: false
4656
end
4757

4858
puppet_version = ENV['PUPPET_GEM_VERSION']

Rakefile

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ end
4343

4444
PuppetLint.configuration.send('disable_relative')
4545

46+
4647
if Bundler.rubygems.find_name('github_changelog_generator').any?
4748
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
4849
raise "Set CHANGELOG_GITHUB_TOKEN environment variable eg 'export CHANGELOG_GITHUB_TOKEN=valid_token_here'" if Rake.application.top_level_tasks.include? "changelog" and ENV['CHANGELOG_GITHUB_TOKEN'].nil?

metadata.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,10 @@
7272
"requirements": [
7373
{
7474
"name": "puppet",
75-
"version_requirement": ">= 5.0.0 < 8.0.0"
75+
"version_requirement": ">= 5.0.0 < 9.0.0"
7676
}
7777
],
78-
"pdk-version": "2.2.0",
79-
"template-url": "https://github.com/puppetlabs/pdk-templates#2.2.0",
80-
"template-ref": "tags/2.2.0-0-g2381db6"
78+
"pdk-version": "2.6.1",
79+
"template-url": "https://github.com/puppetlabs/pdk-templates#main",
80+
"template-ref": "heads/main-0-gf6adacf"
8181
}

0 commit comments

Comments
 (0)