r10k 2.6.4 → 2.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 57e5c32f14eddc3386bb26d91697fcce47f1a3bc
4
- data.tar.gz: 94d053fc19eb6cc38561571193e05a205613a444
3
+ metadata.gz: 2e316da30e6d2243053c1dbcfd77b1035119a2dc
4
+ data.tar.gz: 1e7389b26a3ed22b5aad90d913fa56f5d015fe8e
5
5
  SHA512:
6
- metadata.gz: abb8f5c18eff9074b2b66c2121cd3b74d5205536a78e9bfe8e50afd0c3fd02e34cbcee16e03a30e601bfa05af63b40163373a5970712accda38d43cee542a527
7
- data.tar.gz: 4b4238d221dd262c5b86c939b228221e01989fbfc8bbe88bd1eda0afd0d7792e9de1548729730fa90031bc68498dc827e7cbd9b75af52cb8d1c2c37088a5a9a8
6
+ metadata.gz: 19d33447cf4ea83af051fe1edda24b84631c3b03160c02594d857799825665f13edbb23727be187f2ae102e4fc57cdcf889e55e564c423306b3e3b45ac6e471e
7
+ data.tar.gz: a0b7bdb7c82df31ad3afe81ceff091e023137a17dfaec775cd6dad3d0ca29da449bc6d21197e442109519ce65e2dab5f63db2982df5da543c61efb7da2665852
@@ -0,0 +1 @@
1
+ docker/r10k/* text eol=lf
@@ -1,5 +1,19 @@
1
1
  CHANGELOG
2
2
  =========
3
+ 2.6.5
4
+ ----
5
+
6
+ ## Bug Fix
7
+
8
+ (RK-324) Fix Ruby pipe bug affecting Ubuntu
9
+
10
+ 2.6.4
11
+ ----
12
+
13
+ ## Changes
14
+
15
+ Numerous test fixes.
16
+
3
17
  2.6.3
4
18
  ----
5
19
  ## Changes
@@ -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()
@@ -0,0 +1,3 @@
1
+ --format RspecJunitFormatter
2
+ --out TEST-rspec.xml
3
+ --format documentation
@@ -0,0 +1,14 @@
1
+ source ENV['GEM_SOURCE'] || "https://rubygems.org"
2
+
3
+ def location_for(place, fake_version = nil)
4
+ if place =~ /^((?:git|https?)[:@][^#]*)#(.*)/
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
+
13
+ gem 'puppet_docker_tools', *location_for(ENV['PUPPET_DOCKER_LOCATION'] || '~> 0.2')
14
+ gem 'rspec_junit_formatter'
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -eux
4
+
5
+ PATH=$PATH:/usr/local/bin
6
+ BUNDLER_PATH=.bundle/gems
7
+
8
+ function build_and_test_image() {
9
+ container_name="$1"
10
+
11
+ : ===
12
+ : === run linter on the docker files
13
+ : ===
14
+ bundle exec puppet-docker local-lint "$container_name"
15
+
16
+ : ===
17
+ : === build and test $container_name
18
+ : ===
19
+ bundle exec puppet-docker build "$container_name" --no-cache --repository puppet --version "$version" --no-latest
20
+ bundle exec puppet-docker spec "$container_name" --image "puppet/$container_name:$version"
21
+ }
22
+
23
+ function push_image() {
24
+ container_name="$1"
25
+ container_version="$2"
26
+ : ===
27
+ : === push $container_name
28
+ : ===
29
+ bundle exec puppet-docker push "$container_name" --repository puppet --version "$container_version" --no-latest
30
+ }
31
+
32
+ : ===
33
+ : === bundle install to get ready
34
+ : ===
35
+ bundle install --path "$BUNDLER_PATH"
36
+
37
+ : ===
38
+ : === If we do not git pull --unshallow we get really weird results with git describe
39
+ : ===
40
+ git pull --unshallow
41
+
42
+ : ===
43
+ : === make sure we fetch tags for versioning
44
+ : ===
45
+ git fetch origin 'refs/tags/*:refs/tags/*'
46
+ git_describe=`git describe`
47
+ version="${git_describe%%-*}"
48
+
49
+ : ===
50
+ : === pull updated base images
51
+ : ===
52
+ bundle exec puppet-docker update-base-images ubuntu:16.04
53
+
54
+ container_list=(r10k)
55
+
56
+ : ===
57
+ : === build and test all the images before we push anything
58
+ : ===
59
+ for container in "${container_list[@]}"; do
60
+ build_and_test_image "$container"
61
+ done
62
+
63
+ : ===
64
+ : === push all the images
65
+ : ===
66
+ for container in "${container_list[@]}"; do
67
+ push_image "$container" "$version"
68
+ done
69
+
70
+ : ===
71
+ : === SUCCESS
72
+ : ===
@@ -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
+ }
@@ -0,0 +1,4 @@
1
+ pe-and-platform/r10k:
2
+ Build:
3
+ - docker login -u "$DISTELLI_DOCKER_USERNAME" -p "$DISTELLI_DOCKER_PW" "$DISTELLI_DOCKER_ENDPOINT"
4
+ - /bin/bash -x ./ci/build
@@ -0,0 +1,41 @@
1
+ FROM ubuntu:16.04
2
+
3
+ ARG vcs_ref
4
+ ARG build_date
5
+ ARG version="2.6.4"
6
+ ENV R10K_VERSION="$version"
7
+ ENV UBUNTU_CODENAME="xenial"
8
+
9
+ LABEL org.label-schema.maintainer="Puppet Release Team <release@puppet.com>" \
10
+ org.label-schema.vendor="Puppet" \
11
+ org.label-schema.url="https://github.com/puppetlabs/r10k" \
12
+ org.label-schema.name="r10k" \
13
+ org.label-schema.license="Apache-2.0" \
14
+ org.label-schema.version="$R10K_VERSION" \
15
+ org.label-schema.vcs-url="https://github.com/puppetlabs/r10k" \
16
+ org.label-schema.vcs-ref="$vcs_ref" \
17
+ org.label-schema.build-date="$build_date" \
18
+ org.label-schema.schema-version="1.0" \
19
+ org.label-schema.dockerfile="/Dockerfile"
20
+
21
+ RUN apt-get update && \
22
+ apt-get install --no-install-recommends -y wget ca-certificates lsb-release && \
23
+ wget https://apt.puppetlabs.com/puppet5-release-"$UBUNTU_CODENAME".deb && \
24
+ dpkg -i puppet5-release-"$UBUNTU_CODENAME".deb && \
25
+ rm puppet5-release-"$UBUNTU_CODENAME".deb && \
26
+ apt-get update && \
27
+ apt-get install --no-install-recommends -y puppet-agent && \
28
+ apt-get install --no-install-recommends -y git openssh-client && \
29
+ apt-get remove --purge -y wget && \
30
+ apt-get autoremove -y && \
31
+ apt-get clean && \
32
+ rm -rf /var/lib/apt/lists/*
33
+
34
+ RUN /opt/puppetlabs/puppet/bin/gem install r10k:"$R10K_VERSION"
35
+
36
+ ENV PATH=/opt/puppetlabs/server/bin:/opt/puppetlabs/puppet/bin:/opt/puppetlabs/bin:$PATH
37
+
38
+ ENTRYPOINT ["/opt/puppetlabs/puppet/bin/r10k"]
39
+ CMD ["help"]
40
+
41
+ COPY Dockerfile /
@@ -0,0 +1,24 @@
1
+ require 'puppet_docker_tools/spec_helper'
2
+
3
+ CURRENT_DIRECTORY = File.dirname(File.dirname(__FILE__))
4
+
5
+ describe 'Dockerfile' do
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
16
+
17
+ describe 'has puppet-agent installed' do
18
+ it_should_behave_like 'a running container', 'dpkg -l puppet-agent', 0
19
+ end
20
+
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\)'
23
+ end
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
@@ -1,3 +1,3 @@
1
1
  module R10K
2
- VERSION = '2.6.4'
2
+ VERSION = '2.6.5'
3
3
  end
data/test CHANGED
@@ -1 +1 @@
1
- ./integration
1
+ integration
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: 2.6.4
4
+ version: 2.6.5
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-08-22 00:00:00.000000000 Z
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,6 +187,13 @@ files:
185
187
  - doc/git/providers.mkd
186
188
  - doc/puppetfile.mkd
187
189
  - doc/updating-your-puppetfile.mkd
190
+ - docker/.rspec
191
+ - docker/Gemfile
192
+ - docker/ci/build
193
+ - docker/ci/build.ps1
194
+ - docker/distelli-manifest.yml
195
+ - docker/r10k/Dockerfile
196
+ - docker/r10k/spec/dockerfile_spec.rb
188
197
  - integration/Gemfile
189
198
  - integration/README.mkd
190
199
  - integration/Rakefile
@@ -512,7 +521,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
512
521
  version: '0'
513
522
  requirements: []
514
523
  rubyforge_project:
515
- rubygems_version: 2.6.11
524
+ rubygems_version: 2.5.1
516
525
  signing_key:
517
526
  specification_version: 4
518
527
  summary: Puppet environment and module deployment