r10k 3.0.2 → 3.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitattributes +1 -0
- data/CHANGELOG.mkd +20 -0
- data/azure-pipelines.yml +72 -0
- data/docker/.rspec +3 -0
- data/docker/Gemfile +4 -3
- data/docker/ci/build +1 -1
- data/docker/ci/build.ps1 +38 -0
- data/docker/r10k/spec/dockerfile_spec.rb +13 -5
- data/lib/r10k/util/subprocess/runner/posix.rb +3 -3
- data/lib/r10k/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86a62176969a42b8de330d9f940f8a70b2ddde34
|
4
|
+
data.tar.gz: 630a698650dd7633ea5af47c01d2da9e3b4bbce9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88539ba2554f8a4cd81e768598aa242907d59ac1a1cfffcf5a192f9e4b8e2458beece89673615be5336f3d02478cf0ebd2d55d2f372f4bfe864a070cf598f20c
|
7
|
+
data.tar.gz: cac1fc4ca0ac0b9c8b9ec6aabcb8a1d3596ddfad2e551649895144bcf9458469850641ed9e42a441138c429ba0072482365d8fde2d425b349f136d0af003db38
|
data/.gitattributes
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
docker/r10k/* text eol=lf
|
data/CHANGELOG.mkd
CHANGED
@@ -1,6 +1,20 @@
|
|
1
1
|
CHANGELOG
|
2
2
|
=========
|
3
3
|
|
4
|
+
3.0.3
|
5
|
+
----
|
6
|
+
|
7
|
+
## Bug Fixes
|
8
|
+
|
9
|
+
(RK-324) Fix Ruby pipe bug affecting Ubuntu
|
10
|
+
|
11
|
+
3.0.2
|
12
|
+
----
|
13
|
+
|
14
|
+
## Changes
|
15
|
+
|
16
|
+
Minor test fixes.
|
17
|
+
|
4
18
|
3.0.1
|
5
19
|
----
|
6
20
|
|
@@ -41,6 +55,12 @@ Ruby >= 2.3 official and documented.
|
|
41
55
|
- Various perfomance improvements
|
42
56
|
|
43
57
|
|
58
|
+
2.6.5
|
59
|
+
----
|
60
|
+
|
61
|
+
## Bug Fix
|
62
|
+
|
63
|
+
(RK-324) Fix Ruby pipe bug affecting Ubuntu
|
44
64
|
|
45
65
|
2.6.4
|
46
66
|
----
|
data/azure-pipelines.yml
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
pool:
|
2
|
+
# self-hosted agent on Windows 10 1709 environment
|
3
|
+
# includes newer Docker engine with LCOW enabled, new build of LCOW image
|
4
|
+
# includes Ruby 2.5, Go 1.10, Node.js 10.10, hadolint
|
5
|
+
name: Default
|
6
|
+
|
7
|
+
variables:
|
8
|
+
BUILD_REPOSITORY: 127.0.0.1
|
9
|
+
|
10
|
+
steps:
|
11
|
+
- powershell: |
|
12
|
+
$line = '=' * 80
|
13
|
+
Write-Host "$line`nWindows`n$line`n"
|
14
|
+
Get-ComputerInfo |
|
15
|
+
select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer |
|
16
|
+
Out-String |
|
17
|
+
Write-Host
|
18
|
+
#
|
19
|
+
# Azure
|
20
|
+
#
|
21
|
+
Write-Host "`n`n$line`nAzure`n$line`n"
|
22
|
+
Invoke-RestMethod -Headers @{'Metadata'='true'} -URI http://169.254.169.254/metadata/instance?api-version=2017-12-01 -Method Get |
|
23
|
+
ConvertTo-Json -Depth 10 |
|
24
|
+
Write-Host
|
25
|
+
#
|
26
|
+
# Docker
|
27
|
+
#
|
28
|
+
Write-Host "`n`n$line`nDocker`n$line`n"
|
29
|
+
docker version
|
30
|
+
docker images
|
31
|
+
docker info
|
32
|
+
sc.exe qc docker
|
33
|
+
#
|
34
|
+
# Ruby
|
35
|
+
#
|
36
|
+
Write-Host "`n`n$line`nRuby`n$line`n"
|
37
|
+
ruby --version
|
38
|
+
gem --version
|
39
|
+
bundle --version
|
40
|
+
#
|
41
|
+
# Environment
|
42
|
+
#
|
43
|
+
Write-Host "`n`n$line`nEnvironment`n$line`n"
|
44
|
+
Get-ChildItem Env: | % { Write-Host "$($_.Key): $($_.Value)" }
|
45
|
+
displayName: Diagnostic Host Information
|
46
|
+
name: hostinfo
|
47
|
+
- powershell: |
|
48
|
+
. ./docker/ci/build.ps1
|
49
|
+
Invoke-ContainerBuildSetup
|
50
|
+
displayName: Prepare Build Environment
|
51
|
+
name: build_prepare
|
52
|
+
- powershell: |
|
53
|
+
. ./docker/ci/build.ps1
|
54
|
+
Build-Container -Name r10k -Repository $ENV:BUILD_REPOSITORY
|
55
|
+
displayName: Build r10k
|
56
|
+
name: build_r10k
|
57
|
+
- powershell: |
|
58
|
+
. ./docker/ci/build.ps1
|
59
|
+
Invoke-ContainerTest -Name r10k -Repository $ENV:BUILD_REPOSITORY
|
60
|
+
displayName: Test r10k
|
61
|
+
name: test_r10k
|
62
|
+
- task: PublishTestResults@2
|
63
|
+
displayName: Publish r10k test results
|
64
|
+
inputs:
|
65
|
+
testResultsFormat: 'JUnit'
|
66
|
+
testResultsFiles: 'docker/**/TEST-*.xml'
|
67
|
+
testRunTitle: r10k Test Results
|
68
|
+
- powershell: |
|
69
|
+
. ./docker/ci/build.ps1
|
70
|
+
Clear-ContainerBuilds
|
71
|
+
displayName: Container Cleanup
|
72
|
+
condition: always()
|
data/docker/.rspec
ADDED
data/docker/Gemfile
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
source ENV['GEM_SOURCE'] || "https://rubygems.org"
|
2
2
|
|
3
|
-
def location_for(place)
|
3
|
+
def location_for(place, fake_version = nil)
|
4
4
|
if place =~ /^((?:git|https?)[:@][^#]*)#(.*)/
|
5
|
-
[{ :git => $1, :branch => $2, :require => false }]
|
5
|
+
[fake_version, { :git => $1, :branch => $2, :require => false }].compact
|
6
6
|
elsif place =~ /^file:\/\/(.*)/
|
7
7
|
['>= 0', { :path => File.expand_path($1), :require => false }]
|
8
8
|
else
|
@@ -10,4 +10,5 @@ def location_for(place)
|
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
|
-
gem 'puppet_docker_tools', *location_for(ENV['PUPPET_DOCKER_LOCATION'] || '~> 0.
|
13
|
+
gem 'puppet_docker_tools', *location_for(ENV['PUPPET_DOCKER_LOCATION'] || '~> 0.2')
|
14
|
+
gem 'rspec_junit_formatter'
|
data/docker/ci/build
CHANGED
@@ -17,7 +17,7 @@ function build_and_test_image() {
|
|
17
17
|
: === build and test $container_name
|
18
18
|
: ===
|
19
19
|
bundle exec puppet-docker build "$container_name" --no-cache --repository puppet --version "$version"
|
20
|
-
bundle exec puppet-docker spec "$container_name"
|
20
|
+
bundle exec puppet-docker spec "$container_name" --image "puppet/$container_name:$version"
|
21
21
|
}
|
22
22
|
|
23
23
|
function push_image() {
|
data/docker/ci/build.ps1
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
$ErrorActionPreference = 'Stop'
|
2
|
+
|
3
|
+
function Get-CurrentDirectory
|
4
|
+
{
|
5
|
+
$thisName = $MyInvocation.MyCommand.Name
|
6
|
+
[IO.Path]::GetDirectoryName((Get-Content function:$thisName).File)
|
7
|
+
}
|
8
|
+
|
9
|
+
# installs gems for build and test and grabs base images
|
10
|
+
function Invoke-ContainerBuildSetup
|
11
|
+
{
|
12
|
+
Push-Location (Get-CurrentDirectory)
|
13
|
+
bundle install --path '.bundle/gems'
|
14
|
+
bundle exec puppet-docker update-base-images ubuntu:16.04
|
15
|
+
Pop-Location
|
16
|
+
}
|
17
|
+
|
18
|
+
function Build-Container($Name, $Repository = '127.0.0.1')
|
19
|
+
{
|
20
|
+
Push-Location (Join-Path (Get-CurrentDirectory) '..')
|
21
|
+
bundle exec puppet-docker local-lint $Name
|
22
|
+
bundle exec puppet-docker build $Name --no-cache --repository $Repository --build-arg namespace=$Repository
|
23
|
+
Pop-Location
|
24
|
+
}
|
25
|
+
|
26
|
+
function Invoke-ContainerTest($Name, $Repository = '127.0.0.1')
|
27
|
+
{
|
28
|
+
Push-Location (Join-Path (Get-CurrentDirectory) '..')
|
29
|
+
bundle exec puppet-docker spec $Name --image $Repository/$Name
|
30
|
+
Pop-Location
|
31
|
+
}
|
32
|
+
|
33
|
+
# removes any temporary containers / images used during builds
|
34
|
+
function Clear-ContainerBuilds
|
35
|
+
{
|
36
|
+
docker container prune --force
|
37
|
+
docker image prune --filter "dangling=true" --force
|
38
|
+
}
|
@@ -4,13 +4,21 @@ CURRENT_DIRECTORY = File.dirname(File.dirname(__FILE__))
|
|
4
4
|
|
5
5
|
describe 'Dockerfile' do
|
6
6
|
include_context 'with a docker image'
|
7
|
+
include_context 'with a docker container' do
|
8
|
+
def docker_run_options
|
9
|
+
'--entrypoint /bin/bash'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
describe 'uses the correct version of Ubuntu' do
|
14
|
+
it_should_behave_like 'a running container', 'cat /etc/lsb-release', nil, 'Ubuntu 16.04'
|
15
|
+
end
|
7
16
|
|
8
|
-
describe
|
9
|
-
|
17
|
+
describe 'has puppet-agent installed' do
|
18
|
+
it_should_behave_like 'a running container', 'dpkg -l puppet-agent', 0
|
10
19
|
end
|
11
20
|
|
12
|
-
describe
|
13
|
-
|
14
|
-
it { should be_executable }
|
21
|
+
describe 'has /opt/puppetlabs/puppet/bin/r10k' do
|
22
|
+
it_should_behave_like 'a running container', 'stat -L /opt/puppetlabs/puppet/bin/r10k', 0, 'Access: \(0755\/\-rwxr\-xr\-x\)'
|
15
23
|
end
|
16
24
|
end
|
@@ -28,15 +28,15 @@ class R10K::Util::Subprocess::Runner::POSIX < R10K::Util::Subprocess::Runner
|
|
28
28
|
|
29
29
|
@stdout_pump = R10K::Util::Subprocess::Runner::Pump.new(@stdout_r)
|
30
30
|
@stderr_pump = R10K::Util::Subprocess::Runner::Pump.new(@stderr_r)
|
31
|
-
@stdout_pump.start
|
32
|
-
@stderr_pump.start
|
33
|
-
|
34
31
|
pid = fork do
|
35
32
|
exec_r.close
|
36
33
|
execute_child(exec_w)
|
37
34
|
end
|
38
35
|
|
39
36
|
exec_w.close
|
37
|
+
@stdout_pump.start
|
38
|
+
@stderr_pump.start
|
39
|
+
|
40
40
|
execute_parent(exec_r, pid)
|
41
41
|
|
42
42
|
@result
|
data/lib/r10k/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: r10k
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adrien Thebo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colored
|
@@ -160,6 +160,7 @@ executables:
|
|
160
160
|
extensions: []
|
161
161
|
extra_rdoc_files: []
|
162
162
|
files:
|
163
|
+
- ".gitattributes"
|
163
164
|
- ".gitignore"
|
164
165
|
- ".travis.yml"
|
165
166
|
- CHANGELOG.mkd
|
@@ -169,6 +170,7 @@ files:
|
|
169
170
|
- MAINTAINERS
|
170
171
|
- README.mkd
|
171
172
|
- Rakefile
|
173
|
+
- azure-pipelines.yml
|
172
174
|
- bin/r10k
|
173
175
|
- doc/common-patterns.mkd
|
174
176
|
- doc/dynamic-environments.mkd
|
@@ -185,8 +187,10 @@ files:
|
|
185
187
|
- doc/git/providers.mkd
|
186
188
|
- doc/puppetfile.mkd
|
187
189
|
- doc/updating-your-puppetfile.mkd
|
190
|
+
- docker/.rspec
|
188
191
|
- docker/Gemfile
|
189
192
|
- docker/ci/build
|
193
|
+
- docker/ci/build.ps1
|
190
194
|
- docker/distelli-manifest.yml
|
191
195
|
- docker/r10k/Dockerfile
|
192
196
|
- docker/r10k/spec/dockerfile_spec.rb
|