Skip to content

Commit 0167806

Browse files
committed
puppet5.5: restore support and tests for puppet5.5
* Github actions * Manually specify matrix for debian and puppet5.5 * use ruby 2.5 by default for spec tests * drop lint/rubocop tests as puppetlabs can do this * Gemfile * drop dependency of puppet-module-posix-* to '~> 0.0' for spec tests * drop puppet-module-win-* * use default puppet version of '~> 5.5.0' * fixtures * force version of puppetlabs-puppet_agent so we can use puppet5
1 parent b4b5f0c commit 0167806

File tree

6 files changed

+223
-26
lines changed

6 files changed

+223
-26
lines changed

.fixtures.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ fixtures:
33
facts: 'https://github.com/puppetlabs/puppetlabs-facts.git'
44
puppet_agent:
55
repo: 'https://github.com/puppetlabs/puppetlabs-puppet_agent.git'
6-
ref: v4.12.1
6+
ref: 4.4.0
77
provision: 'https://github.com/puppetlabs/provision.git'
88
symlinks:
99
stdlib: "#{source_dir}"
10-
test: "#{source_dir}/spec/fixtures/test"
10+
test: "#{source_dir}/spec/fixtures/test"

.github/workflows/pr_test.yml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: "PR Testing"
2+
3+
on: [pull_request]
4+
5+
jobs:
6+
setup_matrix:
7+
name: "Setup Test Matrix"
8+
runs-on: ubuntu-20.04
9+
10+
steps:
11+
- name: Checkout Source
12+
uses: actions/checkout@v2
13+
14+
- name: Activate Ruby 2.5
15+
uses: ruby/setup-ruby@v1
16+
with:
17+
ruby-version: "2.7"
18+
bundler-cache: true
19+
20+
- name: Print bundle environment
21+
run: |
22+
echo ::group::bundler environment
23+
bundle env
24+
echo ::endgroup::
25+
26+
Acceptance:
27+
name: "${{matrix.platforms.label}}, "
28+
29+
runs-on: ubuntu-20.04
30+
strategy:
31+
fail-fast: false
32+
matrix:
33+
platforms:
34+
- label: Stretch
35+
provider: provision::docker
36+
image: litmusimage/debian:9
37+
- label: Buster
38+
provider: provision::docker
39+
image: litmusimage/debian:10
40+
collection:
41+
- puppet5
42+
43+
env:
44+
BUILDEVENT_FILE: '../buildevents.txt'
45+
46+
steps:
47+
- run: |
48+
echo 'platform=${{ matrix.platforms.image }}' >> $BUILDEVENT_FILE
49+
echo 'collection=${{ matrix.collection }}' >> $BUILDEVENT_FILE
50+
echo 'label=${{ matrix.platforms.label }}' >> $BUILDEVENT_FILE
51+
52+
- name: Checkout Source
53+
uses: actions/checkout@v2
54+
55+
- name: Activate Ruby 2.7
56+
uses: ruby/setup-ruby@v1
57+
with:
58+
ruby-version: "2.7"
59+
bundler-cache: true
60+
61+
- name: Print bundle environment
62+
run: |
63+
echo ::group::bundler environment
64+
bundle env
65+
echo ::endgroup::
66+
67+
- name: Provision test environment
68+
run: |
69+
bundle exec rake 'litmus:provision[${{matrix.platforms.provider}},${{ matrix.platforms.image }}]'
70+
echo ::group::=== REQUEST ===
71+
cat request.json || true
72+
echo
73+
echo ::endgroup::
74+
echo ::group::=== INVENTORY ===
75+
if [ -f 'spec/fixtures/litmus_inventory.yaml' ];
76+
then
77+
FILE='spec/fixtures/litmus_inventory.yaml'
78+
elif [ -f 'inventory.yaml' ];
79+
then
80+
FILE='inventory.yaml'
81+
fi
82+
sed -e 's/password: .*/password: "[redacted]"/' < $FILE || true
83+
echo ::endgroup::
84+
85+
- name: Install agent
86+
run: bundle exec rake 'litmus:install_agent[${{ matrix.collection }}]'
87+
88+
- name: Install module
89+
run: bundle exec rake 'litmus:install_module'
90+
91+
- name: Run acceptance tests
92+
run: bundle exec rake 'litmus:acceptance:parallel'
93+
94+
- name: Remove test environment
95+
if: ${{ always() }}
96+
continue-on-error: true
97+
run: |
98+
if [[ -f inventory.yaml || -f spec/fixtures/litmus_inventory.yaml ]]; then
99+
bundle exec rake 'litmus:tear_down'
100+
echo ::group::=== REQUEST ===
101+
cat request.json || true
102+
echo
103+
echo ::endgroup::
104+
fi

.github/workflows/spec.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: "Spec Tests"
2+
3+
on: [pull_request]
4+
5+
jobs:
6+
setup_matrix:
7+
name: "Setup Test Matrix"
8+
runs-on: ubuntu-20.04
9+
10+
steps:
11+
- name: Checkout Source
12+
uses: actions/checkout@v2
13+
14+
- name: Activate Ruby 2.5
15+
uses: ruby/setup-ruby@v1
16+
with:
17+
ruby-version: "2.5"
18+
bundler-cache: true
19+
20+
- name: Print bundle environment
21+
run: |
22+
echo ::group::bundler environment
23+
bundle env
24+
echo ::endgroup::
25+
26+
Spec:
27+
name: "Spec Tests (Puppet: ${{matrix.puppet_version}}, Ruby Ver: ${{matrix.ruby_version}})"
28+
29+
runs-on: ubuntu-20.04
30+
strategy:
31+
fail-fast: false
32+
matrix:
33+
include:
34+
- puppet_version: '~> 5.5.0'
35+
ruby_version: '2.5'
36+
facter_version: '~> 2.0'
37+
38+
env:
39+
BUILDEVENT_FILE: '../buildevents.txt'
40+
PUPPET_GEM_VERSION: ${{ matrix.puppet_version }}
41+
FACTER_GEM_VERSION: ${{ matrix.facter_version }}
42+
43+
steps:
44+
- run: |
45+
echo "SANITIZED_PUPPET_VERSION=$(echo '${{ matrix.puppet_version }}' | sed 's/~> //g')" >> $GITHUB_ENV
46+
47+
- run: |
48+
echo 'puppet_version=${{ env.SANITIZED_PUPPET_VERSION }}' >> $BUILDEVENT_FILE
49+
50+
- name: Checkout Source
51+
uses: actions/checkout@v2
52+
53+
- name: "Activate Ruby ${{ matrix.ruby_version }}"
54+
uses: ruby/setup-ruby@v1
55+
with:
56+
ruby-version: ${{matrix.ruby_version}}
57+
bundler-cache: true
58+
59+
- name: Print bundle environment
60+
run: |
61+
echo ::group::bundler environment
62+
bundle env
63+
echo ::endgroup::
64+
65+
- name: Run parallel_spec tests
66+
run: bundle exec rake parallel_spec

Gemfile

Lines changed: 14 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,32 +13,23 @@ 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+
puppet_module_posix_version = if Gem::Requirement.create('~> 2.5.0').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
19+
'0.0'
20+
else
21+
'1.0'
22+
end
23+
1624
group :development do
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]
37-
gem "github_changelog_generator", '= 1.15.2', require: false
25+
gem "json", '= 2.0.4', require: false if Gem::Requirement.create('~> 2.4.2').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
26+
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))
27+
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))
28+
gem "puppet-module-posix-default-r#{minor_version}", "~> #{puppet_module_posix_version}", require: false, platforms: [:ruby]
29+
gem "puppet-module-posix-dev-r#{minor_version}", "~> #{puppet_module_posix_version}", require: false, platforms: [:ruby]
3830
end
3931
group :system_tests do
40-
gem "puppet_litmus", '<= 0.34.6', require: false, platforms: [:ruby]
41-
gem "serverspec", '~> 2.41', require: false
32+
gem "puppet-module-posix-system-r#{minor_version}", "~> #{puppet_module_posix_version}", require: false, platforms: [:ruby]
4233
end
4334

4435
puppet_version = ENV['PUPPET_GEM_VERSION']

metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
"requirements": [
101101
{
102102
"name": "puppet",
103-
"version_requirement": ">= 6.0.0 < 8.0.0"
103+
"version_requirement": ">= 5.5.10 < 8.0.0"
104104
}
105105
],
106106
"description": "Standard Library for Puppet Modules",

provision.yaml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ travis_deb:
1515
- litmusimage/debian:8
1616
- litmusimage/debian:9
1717
- litmusimage/debian:10
18+
travis_ub_5:
19+
provisioner: docker
20+
images:
21+
- litmusimage/ubuntu:14.04
22+
- litmusimage/ubuntu:16.04
23+
- litmusimage/ubuntu:18.04
1824
travis_ub_6:
1925
provisioner: docker
2026
images:
@@ -32,6 +38,36 @@ travis_el8:
3238
provisioner: docker
3339
images:
3440
- litmusimage/centos:8
41+
release_checks_5:
42+
provisioner: abs
43+
images:
44+
- redhat-6-x86_64
45+
- redhat-7-x86_64
46+
- redhat-8-x86_64
47+
- centos-6-x86_64
48+
- centos-7-x86_64
49+
- centos-8-x86_64
50+
- oracle-5-x86_64
51+
- oracle-6-x86_64
52+
- oracle-7-x86_64
53+
- scientific-6-x86_64
54+
- scientific-7-x86_64
55+
- debian-8-x86_64
56+
- debian-9-x86_64
57+
- debian-10-x86_64
58+
- sles-12-x86_64
59+
- ubuntu-1404-x86_64
60+
- ubuntu-1604-x86_64
61+
- ubuntu-1804-x86_64
62+
- win-2008-x86_64
63+
- win-2008r2-x86_64
64+
- win-2012-x86_64
65+
- win-2012r2-x86_64
66+
- win-2016-x86_64
67+
- win-2019-x86_64
68+
- win-7-x86_64
69+
- win-81-x86_64
70+
- win-10-pro-x86_64
3571
release_checks_6:
3672
provisioner: abs
3773
images:

0 commit comments

Comments
 (0)