Skip to content

Commit 0ca4bd8

Browse files
authored
Merge pull request #584 from voxpupuli/modulesync
modulesync 4.0.0
2 parents 5e09d61 + 79eb960 commit 0ca4bd8

File tree

13 files changed

+158
-139
lines changed

13 files changed

+158
-139
lines changed

.github/CONTRIBUTING.md

+2-3
Original file line numberDiff line numberDiff line change
@@ -232,14 +232,14 @@ simple tests against it after applying the module. You can run this
232232
with:
233233

234234
```sh
235-
bundle exec rake acceptance
235+
bundle exec rake beaker
236236
```
237237

238238
This will run the tests on the module's default nodeset. You can override the
239239
nodeset used, e.g.,
240240

241241
```sh
242-
BEAKER_set=centos-7-x64 bundle exec rake acceptance
242+
BEAKER_set=centos-7-x64 bundle exec rake beaker
243243
```
244244

245245
There are default rake tasks for the various acceptance test modules, e.g.,
@@ -269,7 +269,6 @@ The following strings are known to work:
269269
* ubuntu2004
270270
* debian9
271271
* debian10
272-
* centos6
273272
* centos7
274273
* centos8
275274

.github/workflows/ci.yml

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: CI
2+
3+
on: pull_request
4+
5+
jobs:
6+
setup_matrix:
7+
name: 'Setup Test Matrix'
8+
runs-on: ubuntu-latest
9+
outputs:
10+
beaker_setfiles: ${{ steps.get-outputs.outputs.beaker_setfiles }}
11+
puppet_major_versions: ${{ steps.get-outputs.outputs.puppet_major_versions }}
12+
puppet_unit_test_matrix: ${{ steps.get-outputs.outputs.puppet_unit_test_matrix }}
13+
env:
14+
BUNDLE_WITHOUT: development:test:release
15+
steps:
16+
- uses: actions/checkout@v2
17+
- name: Setup ruby
18+
uses: ruby/setup-ruby@v1
19+
with:
20+
ruby-version: '2.7'
21+
bundler-cache: true
22+
- name: Run rake validate
23+
run: bundle exec rake validate
24+
- name: Setup Test Matrix
25+
id: get-outputs
26+
run: bundle exec metadata2gha --use-fqdn --pidfile-workaround false
27+
28+
unit:
29+
needs: setup_matrix
30+
runs-on: ubuntu-latest
31+
strategy:
32+
fail-fast: false
33+
matrix:
34+
include: ${{fromJson(needs.setup_matrix.outputs.puppet_unit_test_matrix)}}
35+
env:
36+
BUNDLE_WITHOUT: development:system_tests:release
37+
PUPPET_VERSION: "~> ${{ matrix.puppet }}.0"
38+
name: Puppet ${{ matrix.puppet }} (Ruby ${{ matrix.ruby }})
39+
steps:
40+
- uses: actions/checkout@v2
41+
- name: Setup ruby
42+
uses: ruby/setup-ruby@v1
43+
with:
44+
ruby-version: ${{ matrix.ruby }}
45+
bundler-cache: true
46+
- name: Run tests
47+
run: bundle exec rake
48+
49+
acceptance:
50+
needs: setup_matrix
51+
runs-on: ubuntu-latest
52+
env:
53+
BUNDLE_WITHOUT: development:test:release
54+
strategy:
55+
fail-fast: false
56+
matrix:
57+
setfile: ${{fromJson(needs.setup_matrix.outputs.beaker_setfiles)}}
58+
puppet: ${{fromJson(needs.setup_matrix.outputs.puppet_major_versions)}}
59+
name: ${{ matrix.puppet.name }} - ${{ matrix.setfile.name }}
60+
steps:
61+
- name: Enable IPv6 on docker
62+
run: |
63+
echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json
64+
sudo service docker restart
65+
- uses: actions/checkout@v2
66+
- name: Setup ruby
67+
uses: ruby/setup-ruby@v1
68+
with:
69+
ruby-version: '2.7'
70+
bundler-cache: true
71+
- name: Run tests
72+
run: bundle exec rake beaker
73+
env:
74+
BEAKER_PUPPET_COLLECTION: ${{ matrix.puppet.collection }}
75+
BEAKER_setfile: ${{ matrix.setfile.value }}

.github/workflows/release.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- '*'
7+
8+
env:
9+
BUNDLE_WITHOUT: development:test:system_tests
10+
11+
jobs:
12+
deploy:
13+
name: 'deploy to forge'
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@v2
18+
- name: Setup Ruby
19+
uses: ruby/setup-ruby@v1
20+
with:
21+
ruby-version: '2.7'
22+
bundler-cache: true
23+
- name: Build and Deploy
24+
env:
25+
# Configure secrets here:
26+
# https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets
27+
BLACKSMITH_FORGE_USERNAME: '${{ secrets.PUPPET_FORGE_USERNAME }}'
28+
BLACKSMITH_FORGE_API_KEY: '${{ secrets.PUPPET_FORGE_API_KEY }}'
29+
run: bundle exec rake module:push

.msync.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
modulesync_config_version: '3.1.0'
2+
modulesync_config_version: '4.0.0'

.pmtignore

+15-2
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,34 @@
11
docs/
22
pkg/
3+
Gemfile
34
Gemfile.lock
45
Gemfile.local
56
vendor/
67
.vendor/
7-
spec/fixtures/manifests/
8-
spec/fixtures/modules/
8+
spec/
9+
Rakefile
910
.vagrant/
1011
.bundle/
1112
.ruby-version
1213
coverage/
1314
log/
1415
.idea/
1516
.dependencies/
17+
.github/
1618
.librarian/
1719
Puppetfile.lock
1820
*.iml
21+
.editorconfig
22+
.fixtures.yml
23+
.gitignore
24+
.msync.yml
25+
.overcommit.yml
26+
.pmtignore
27+
.rspec
28+
.rspec_parallel
29+
.rubocop.yml
30+
.sync.yml
1931
.*.sw?
2032
.yardoc/
33+
.yardopts
2134
Dockerfile

.sync.yml

-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,3 @@
11
---
2-
.travis.yml:
3-
secure: "bBDDSSz8OQwK0zxJ4EjM01bE4uoNMzTXyxp2lllXdv6PYAJCI4bCCcdRF7OKLAWaRtm6c0HJGnfMXzmwqHF/pJSUZzfTGe4uwZrrmaGvdalP4fXtLWpviAoez8La0Nx7JYqwPPprP7nySBD8M3rUuOZJetXQM6yGgj4YSs2lKMo="
4-
docker_sets:
5-
- set: ubuntu1604-64
6-
- set: ubuntu1804-64
7-
- set: debian9-64
8-
- set: debian10-64
9-
- set: centos7-64
102
spec/spec_helper_acceptance.rb:
113
unmanaged: false

.travis.yml

-89
This file was deleted.

Gemfile

+6-21
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,19 @@
11
source ENV['GEM_SOURCE'] || "https://rubygems.org"
22

3-
def location_for(place, fake_version = nil)
4-
if place =~ /^(git[:@][^#]*)#(.*)/
5-
[fake_version, { :git => $1, :branch => $2, :require => false }].compact
6-
elsif place =~ /^file:\/\/(.*)/
7-
['>= 0', { :path => File.expand_path($1), :require => false }]
8-
else
9-
[place, { :require => false }]
10-
end
11-
end
12-
133
group :test do
144
gem 'voxpupuli-test', '~> 2.1', :require => false
155
gem 'coveralls', :require => false
166
gem 'simplecov-console', :require => false
177
end
188

199
group :development do
20-
gem 'travis', :require => false
21-
gem 'travis-lint', :require => false
2210
gem 'guard-rake', :require => false
2311
gem 'overcommit', '>= 0.39.1', :require => false
2412
end
2513

2614
group :system_tests do
27-
gem 'voxpupuli-acceptance', :require => false
15+
gem 'puppet_metadata', '~> 0.3.0', :require => false
16+
gem 'voxpupuli-acceptance', :require => false
2817
end
2918

3019
group :release do
@@ -34,15 +23,11 @@ group :release do
3423
gem 'puppet-strings', '>= 2.2', :require => false
3524
end
3625

26+
gem 'puppetlabs_spec_helper', '~> 2.0', :require => false
27+
gem 'rake', :require => false
28+
gem 'facter', ENV['FACTER_GEM_VERSION'], :require => false, :groups => [:test]
3729

38-
39-
if facterversion = ENV['FACTER_GEM_VERSION']
40-
gem 'facter', facterversion.to_s, :require => false, :groups => [:test]
41-
else
42-
gem 'facter', :require => false, :groups => [:test]
43-
end
44-
45-
ENV['PUPPET_VERSION'].nil? ? puppetversion = '~> 6.0' : puppetversion = ENV['PUPPET_VERSION'].to_s
30+
puppetversion = ENV['PUPPET_VERSION'] || '~> 6.0'
4631
gem 'puppet', puppetversion, :require => false, :groups => [:test]
4732

4833
# vim: syntax=ruby

Rakefile

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
require 'voxpupuli/test/rake'
1+
# Attempt to load voxupuli-test (which pulls in puppetlabs_spec_helper),
2+
# otherwise attempt to load it directly.
3+
begin
4+
require 'voxpupuli/test/rake'
5+
rescue LoadError
6+
require 'puppetlabs_spec_helper/rake_tasks'
7+
end
28

39
# load optional tasks for releases
410
# only available if gem group releases is installed
@@ -26,6 +32,7 @@ end
2632

2733
begin
2834
require 'github_changelog_generator/task'
35+
require 'puppet_blacksmith'
2936
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
3037
version = (Blacksmith::Modulefile.new).version
3138
config.future_release = "v#{version}" if version =~ /^\d+\.\d+.\d+$/

manifests/gunicorn.pp

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
Stdlib::Absolutepath $dir,
3838
Enum['present', 'absent'] $ensure = present,
3939
Stdlib::Absolutepath $config_dir = '/etc/gunicorn.d',
40-
Booloean $manage_config_dir = false,
40+
Boolean $manage_config_dir = false,
4141
Variant[Boolean,Stdlib::Absolutepath] $virtualenv = false,
4242
Enum['wsgi', 'django'] $mode = 'wsgi',
4343
Variant[String[1],Boolean] $bind = false,

manifests/init.pp

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474

7575
# Set default umask.
7676
exec { default:
77-
umask => $umask
77+
umask => $umask,
7878
}
7979

8080
# Allow hiera configuration of python resources

manifests/pip.pp

+6-10
Original file line numberDiff line numberDiff line change
@@ -204,20 +204,16 @@
204204
# Unfortunately this is the smartest way of getting the latest available package version with pip as of now
205205
# Note: we DO need to repeat ourselves with "from version" in both grep and sed as on some systems pip returns
206206
# more than one line with paretheses.
207-
$latest_version = join(
208-
["${pip_install} ${pypi_index} ${proxy_flag} ${install_args} ${install_editable} ${real_pkgname}==notreallyaversion 2>&1",
209-
' | grep -oP "\(from versions: .*\)" | sed -E "s/\(from versions: (.*?, )*(.*)\)/\2/g"',
210-
' | tr -d "[:space:]"',]
211-
)
207+
$latest_version = join( [
208+
"${pip_install} ${pypi_index} ${proxy_flag} ${install_args} ${install_editable} ${real_pkgname}==notreallyaversion 2>&1",
209+
' | grep -oP "\(from versions: .*\)" | sed -E "s/\(from versions: (.*?, )*(.*)\)/\2/g"',
210+
' | tr -d "[:space:]"',
211+
])
212212

213213
# Packages with underscores in their names are listed with dashes in their place in `pip freeze` output
214214
$pkgname_with_dashes = regsubst($real_pkgname, '_', '-', 'G')
215215
$grep_regex_pkgname_with_dashes = "^${pkgname_with_dashes}=="
216-
$installed_version = join(
217-
["${pip_env} freeze --all",
218-
" | grep -i -e ${grep_regex_pkgname_with_dashes} | cut -d= -f3",
219-
" | tr -d '[:space:]'",]
220-
)
216+
$installed_version = join( ["${pip_env} freeze --all", " | grep -i -e ${grep_regex_pkgname_with_dashes} | cut -d= -f3", " | tr -d '[:space:]'",])
221217

222218
$command = "${pip_install} --upgrade ${pip_common_args}"
223219
$unless_command = "[ \$(${latest_version}) = \$(${installed_version}) ]"

0 commit comments

Comments
 (0)