Skip to content

Commit 11ca58e

Browse files
authored
Merge pull request #56 from mhashizume/PA-4806/main/puppet-8-prep
(PA-4806) Updates PDK template
2 parents 6e85d0e + ce14a27 commit 11ca58e

File tree

14 files changed

+115
-74
lines changed

14 files changed

+115
-74
lines changed

.devcontainer/README.md

Lines changed: 38 additions & 0 deletions
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

Lines changed: 5 additions & 11 deletions
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

Lines changed: 12 additions & 6 deletions
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,10 +26,9 @@ 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' }}
31-
uses: actions/checkout@v2
31+
uses: actions/checkout@v3
3232
with:
3333
fetch-depth: 0
3434
persist-credentials: false
@@ -46,8 +46,14 @@ 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"
@@ -57,7 +63,7 @@ jobs:
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 }}
6369
commit-message: "Release prep v${{ steps.gv.outputs.ver }}"
@@ -73,11 +79,11 @@ jobs:
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: |

.github/workflows/daily_unit_tests_with_nightly_puppet_gem.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ jobs:
1010
name: ${{ matrix.os_type }} / Puppet${{ matrix.puppet_version }} gem / Ruby ${{ matrix.ruby }}
1111
strategy:
1212
matrix:
13-
os: [ 'ubuntu-18.04', 'macos-latest', 'windows-2019' ]
13+
os: [ 'ubuntu-20.04', 'macos-latest', 'windows-2019' ]
1414
puppet_version: [ 6, 7 ]
1515
include:
1616
- puppet_version: 6
1717
ruby: 2.5
1818
- puppet_version: 7
1919
ruby: 2.7
2020

21-
- os: 'ubuntu-18.04'
21+
- os: 'ubuntu-20.04'
2222
os_type: 'Linux'
2323
env_set_cmd: 'export '
2424
gem_file: 'puppet-latest.gem'
@@ -34,7 +34,7 @@ jobs:
3434
runs-on: ${{ matrix.os }}
3535
steps:
3636
- name: Checkout code
37-
uses: actions/checkout@v2
37+
uses: actions/checkout@v3
3838

3939
- name: Install ruby version ${{ matrix.ruby }}
4040
uses: ruby/setup-ruby@v1

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
runs-on: ubuntu-20.04
1010
steps:
1111
- name: Checkout code
12-
uses: actions/checkout@v2
12+
uses: actions/checkout@v3
1313
with:
1414
ref: ${{ github.ref }}
1515
clean: true
@@ -33,7 +33,7 @@ jobs:
3333
runs-on: ubuntu-20.04
3434
steps:
3535
- name: Checkout code
36-
uses: actions/checkout@v2
36+
uses: actions/checkout@v3
3737
with:
3838
ref: ${{ github.ref }}
3939
clean: true

.github/workflows/static_code_analysis.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ jobs:
1212
name: Run checks
1313

1414
env:
15-
ruby_version: 2.6
15+
ruby_version: '2.7'
1616
extra_checks: check:symlinks check:git_ignore check:dot_underscore check:test_file
1717

18-
runs-on: 'ubuntu-18.04'
18+
runs-on: 'ubuntu-20.04'
1919
steps:
2020
- name: Checkout current PR code
21-
uses: actions/checkout@v2
21+
uses: actions/checkout@v3
2222
with:
2323
fetch-depth: 0
2424

.github/workflows/unit_tests_with_nightly_puppet_gem.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ jobs:
1212
name: ${{ matrix.os_type }} / Puppet${{ matrix.puppet_version }} gem / Ruby ${{ matrix.ruby }}
1313
strategy:
1414
matrix:
15-
os: [ 'ubuntu-18.04', 'macos-latest', 'windows-2019' ]
15+
os: [ 'ubuntu-20.04', 'macos-latest', 'windows-2019' ]
1616
puppet_version: [ 6, 7 ]
1717
include:
1818
- puppet_version: 6
1919
ruby: 2.5
2020
- puppet_version: 7
2121
ruby: 2.7
2222

23-
- os: 'ubuntu-18.04'
23+
- os: 'ubuntu-20.04'
2424
os_type: 'Linux'
2525
env_set_cmd: 'export '
2626
gem_file: 'puppet-latest.gem'
@@ -36,7 +36,7 @@ jobs:
3636
runs-on: ${{ matrix.os }}
3737
steps:
3838
- name: Checkout current PR code
39-
uses: actions/checkout@v2
39+
uses: actions/checkout@v3
4040

4141
- name: Install ruby version ${{ matrix.ruby }}
4242
uses: ruby/setup-ruby@v1

.github/workflows/unit_tests_with_released_puppet_gem.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ jobs:
1212
name: ${{ matrix.os_type }} / Puppet${{ matrix.puppet_version }} gem / Ruby ${{ matrix.ruby }}
1313
strategy:
1414
matrix:
15-
os: [ 'ubuntu-18.04', 'macos-latest', 'windows-2019' ]
15+
os: [ 'ubuntu-20.04', 'macos-latest', 'windows-2019' ]
1616
puppet_version: [ 6, 7 ]
1717
include:
1818
- puppet_version: 6
1919
ruby: 2.5
2020
- puppet_version: 7
2121
ruby: 2.7
2222

23-
- os: 'ubuntu-18.04'
23+
- os: 'ubuntu-20.04'
2424
os_type: 'Linux'
2525
- os: 'macos-latest'
2626
os_type: 'macOS'
@@ -32,7 +32,7 @@ jobs:
3232
PUPPET_GEM_VERSION: ~> ${{ matrix.puppet_version }}.0
3333
steps:
3434
- name: Checkout current PR code
35-
uses: actions/checkout@v2
35+
uses: actions/checkout@v3
3636

3737
- name: Install ruby version ${{ matrix.ruby }}
3838
uses: ruby/setup-ruby@v1

.rubocop.yml

Lines changed: 1 addition & 1 deletion
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:

Gemfile

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,32 +13,42 @@ 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-pe", require: false
39+
gem "beaker-pe", require: false
3040
gem "beaker-hostgenerator"
3141
gem "beaker-rspec"
3242
gem "beaker-puppet", *location_for(ENV['BEAKER_PUPPET_VERSION'] || '~> 1.22')
33-
gem "github_changelog_generator", require: false
34-
gem "async", '~> 1', require: false
35-
gem "beaker-module_install_helper", require: false
36-
gem "beaker-puppet_install_helper", require: false
37-
gem "nokogiri", require: false
43+
gem "github_changelog_generator", require: false
44+
gem "async", '~> 1', require: false
45+
gem "beaker-module_install_helper", require: false
46+
gem "beaker-puppet_install_helper", require: false
47+
gem "nokogiri", require: false
3848
end
3949
group :system_tests do
40-
gem "puppet-module-posix-system-r#{minor_version}", '~> 1.0', require: false, platforms: [:ruby]
41-
gem "puppet-module-win-system-r#{minor_version}", '~> 1.0', require: false, platforms: [:mswin, :mingw, :x64_mingw]
50+
gem "puppet_litmus", '< 1.0.0', require: false, platforms: [:ruby]
51+
gem "serverspec", '~> 2.41', require: false
4252
end
4353

4454
puppet_version = ENV['PUPPET_GEM_VERSION']

0 commit comments

Comments
 (0)