r10k 3.15.4 → 3.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +17 -0
  3. data/.github/workflows/docker.yml +4 -4
  4. data/.github/workflows/release.yml +2 -2
  5. data/.github/workflows/rspec_tests.yml +7 -7
  6. data/.github/workflows/stale.yml +1 -1
  7. data/CHANGELOG.mkd +8 -0
  8. data/Gemfile +2 -2
  9. data/integration/files/pre-suite/git_config.pp.erb +1 -1
  10. data/integration/pre-suite/10_git_config.rb +0 -3
  11. data/integration/tests/Puppetfile/HTTP_PROXY_affects_git_source.rb +5 -4
  12. data/integration/tests/basic_functionality/proxy_specified_in_configuration.rb +1 -1
  13. data/integration/tests/basic_functionality/proxy_with_puppetfile.rb +1 -1
  14. data/integration/tests/command_line/deploy_env_without_mod_update.rb +0 -3
  15. data/integration/tests/command_line/negative/neg_deploy_env_with_module_update.rb +0 -3
  16. data/integration/tests/git_source/HTTP_proxy_and_git_source.rb +5 -10
  17. data/integration/tests/git_source/git_source_git.rb +0 -3
  18. data/integration/tests/git_source/git_source_repeated_remote.rb +0 -3
  19. data/integration/tests/git_source/negative/neg_git_unauthorized_ssh.rb +1 -1
  20. data/integration/tests/purging/content_not_purged_at_root.rb +0 -3
  21. data/integration/tests/purging/default_purging.rb +0 -3
  22. data/integration/tests/purging/does_not_purge_files_on_white_list.rb +0 -3
  23. data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module.rb +0 -3
  24. data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module_static.rb +0 -3
  25. data/integration/tests/user_scenario/basic_workflow/multi_source_custom_forge_git_module.rb +0 -3
  26. data/integration/tests/user_scenario/basic_workflow/negative/neg_bad_forge_module.rb +0 -3
  27. data/integration/tests/user_scenario/basic_workflow/negative/neg_duplicate_module_names.rb +0 -3
  28. data/integration/tests/user_scenario/basic_workflow/negative/neg_inaccessible_forge.rb +3 -2
  29. data/integration/tests/user_scenario/basic_workflow/negative/neg_specify_deleted_forge_module.rb +1 -5
  30. data/integration/tests/user_scenario/basic_workflow/single_env_custom_forge_git_module.rb +0 -3
  31. data/integration/tests/user_scenario/basic_workflow/single_env_custom_forge_module.rb +0 -3
  32. data/integration/tests/user_scenario/basic_workflow/single_env_module_already_installed.rb +0 -3
  33. data/integration/tests/user_scenario/basic_workflow/single_env_purge_unmanaged_modules.rb +0 -3
  34. data/integration/tests/user_scenario/basic_workflow/single_env_switch_forge_git_module.rb +0 -3
  35. data/integration/tests/user_scenario/basic_workflow/single_env_upgrade_forge_mod_revert_change.rb +0 -3
  36. data/integration/tests/user_scenario/complex_workflow/multi_env_add_change_remove.rb +0 -3
  37. data/lib/r10k/content_synchronizer.rb +7 -2
  38. data/lib/r10k/git/rugged/bare_repository.rb +4 -3
  39. data/lib/r10k/git/rugged/working_repository.rb +6 -4
  40. data/lib/r10k/puppetfile.rb +1 -1
  41. data/lib/r10k/version.rb +1 -1
  42. data/locales/r10k.pot +10 -6
  43. data/r10k.gemspec +1 -1
  44. metadata +11 -22
  45. data/docker/.gitignore +0 -1
  46. data/docker/.rspec +0 -4
  47. data/docker/Gemfile +0 -11
  48. data/docker/Makefile +0 -99
  49. data/docker/README.md +0 -28
  50. data/docker/docker-compose.yml +0 -18
  51. data/docker/r10k/Dockerfile +0 -68
  52. data/docker/r10k/adduser.sh +0 -13
  53. data/docker/r10k/docker-entrypoint.d/10-analytics.sh +0 -30
  54. data/docker/r10k/docker-entrypoint.sh +0 -10
  55. data/docker/r10k/release.Dockerfile +0 -55
  56. data/docker/spec/dockerfile_spec.rb +0 -37
  57. data/docker/spec/fixtures/Puppetfile +0 -2
  58. data/integration/tests/basic_functionality/install_pe_only_module_with_puppetfile.rb +0 -83
  59. data/integration/tests/basic_functionality/proxy_with_pe_only_module.rb +0 -128
  60. data/integration/tests/purging/invalid_whitelist_types.rb +0 -63
  61. data/integration/tests/user_scenario/basic_workflow/negative/neg_module_specified_at_deleted_release.rb +0 -49
  62. data/integration/tests/user_scenario/basic_workflow/single_env_module_last_release_deleted.rb +0 -68
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2300d770bc6d49649bacd705ec99dfb416ac7ab7ca2a0b59246ba12623622253
4
- data.tar.gz: bf8e2b45aa052d46b8abe55cc8e1364e48aa4d9f70621280ec7d114c94f1a95e
3
+ metadata.gz: 13267460bb0dfdd1adb733c146be3b61db8505fdf33f35eab7f6ab4e719b9643
4
+ data.tar.gz: 2fffbce0bc5b07fe8dfe3809c4e7d57ff0c3acafcaa7ad8fdec74bcf03634744
5
5
  SHA512:
6
- metadata.gz: 7544a56bf9f5e135b899c95dca1f7dc12ecd0aefa006ccc847a5407dd10d53945d5a58b16220d6fe228a596c853323b7c49da05e530ddf49388759bc7b88309e
7
- data.tar.gz: 394171c0c00105467c9a23af8444f36935f2042c1f67c1359fa36c3e856dbcdea50f1440a4a8593339314d6783c673994728a1150547e4c4f4faeb2253107300
6
+ metadata.gz: 36d4032b4fce66c180bbe1ae4ccf2cc323aa7236337e869b8bcb23fe557202948a91c8a8a4dcd40fd7cb8c67002ca4b2a01c1dd5d742a41f0470b5574489dd7f
7
+ data.tar.gz: 297399b426133749fec9b4b2e89c5bde44c9c507af47ed52c083e890eae5880edd7619ba324c031342f7ecc0f31b5052a2ed8f00ee1b497550953f0910e0cec4
@@ -0,0 +1,17 @@
1
+ version: 2
2
+ updates:
3
+ # raise PRs for gem updates
4
+ - package-ecosystem: bundler
5
+ directory: "/"
6
+ schedule:
7
+ interval: daily
8
+ time: "13:00"
9
+ open-pull-requests-limit: 10
10
+
11
+ # Maintain dependencies for GitHub Actions
12
+ - package-ecosystem: github-actions
13
+ directory: "/"
14
+ schedule:
15
+ interval: daily
16
+ time: "13:00"
17
+ open-pull-requests-limit: 10
@@ -17,7 +17,7 @@ jobs:
17
17
  runs-on: ubuntu-latest
18
18
 
19
19
  steps:
20
- - uses: actions/checkout@master
20
+ - uses: actions/checkout@v3
21
21
  - uses: azure/docker-login@v1
22
22
  with: # This doesn't seem to work unless we point directly to the secrets
23
23
  username: ${{ secrets.DOCKERHUB_USERNAME }}
@@ -27,11 +27,11 @@ jobs:
27
27
  with:
28
28
  ruby-version: 2.6.x
29
29
  - run: gem install bundler
30
- - uses: actions/checkout@v2
30
+ - uses: actions/checkout@v3
31
31
  - name: Set up QEMU
32
- uses: docker/setup-qemu-action@v1
32
+ uses: docker/setup-qemu-action@v2
33
33
  - name: Set up Docker Buildx
34
- uses: docker/setup-buildx-action@v1
34
+ uses: docker/setup-buildx-action@v2
35
35
  - name: Build container
36
36
  working-directory: docker
37
37
  run: |
@@ -11,11 +11,11 @@ jobs:
11
11
  release:
12
12
  runs-on: ubuntu-latest
13
13
  steps:
14
- - uses: actions/checkout@v2
14
+ - uses: actions/checkout@v3
15
15
  with:
16
16
  fetch-depth: '0'
17
17
  - name: Bump version and push tag
18
- uses: anothrNick/github-tag-action@1.35.0
18
+ uses: anothrNick/github-tag-action@1.67.0
19
19
  env:
20
20
  GITHUB_TOKEN: ${{ secrets.PUPPET_RELEASE_GH_TOKEN }}
21
21
  DEFAULT_BUMP: patch
@@ -11,12 +11,12 @@ jobs:
11
11
  strategy:
12
12
  matrix:
13
13
  cfg:
14
- - {os: ubuntu-18.04, ruby: 2.4}
15
- - {os: ubuntu-18.04, ruby: 2.5}
16
- - {os: ubuntu-18.04, ruby: 2.6}
17
- - {os: ubuntu-18.04, ruby: 2.7}
18
- - {os: ubuntu-18.04, ruby: 3.1}
19
- - {os: ubuntu-18.04, ruby: jruby-9.2.10.0}
14
+ - {os: ubuntu-latest, ruby: 2.4}
15
+ - {os: ubuntu-latest, ruby: 2.5}
16
+ - {os: ubuntu-latest, ruby: 2.6}
17
+ - {os: ubuntu-latest, ruby: 2.7}
18
+ - {os: ubuntu-latest, ruby: 3.2}
19
+ - {os: ubuntu-latest, ruby: jruby-9.2.10.0}
20
20
  - {os: windows-2019, ruby: 2.5}
21
21
  - {os: windows-2019, ruby: 2.6}
22
22
  - {os: windows-2019, ruby: 2.7}
@@ -24,7 +24,7 @@ jobs:
24
24
  runs-on: ${{ matrix.cfg.os }}
25
25
  steps:
26
26
  - name: Checkout current PR
27
- uses: actions/checkout@v2
27
+ uses: actions/checkout@v3
28
28
 
29
29
  - name: Install ruby version ${{ matrix.cfg.ruby }}
30
30
  uses: ruby/setup-ruby@v1
@@ -8,7 +8,7 @@ jobs:
8
8
  stale:
9
9
  runs-on: ubuntu-latest
10
10
  steps:
11
- - uses: actions/stale@v3
11
+ - uses: actions/stale@v8
12
12
  with:
13
13
  repo-token: ${{ secrets.GITHUB_TOKEN }}
14
14
  days-before-stale: 60
data/CHANGELOG.mkd CHANGED
@@ -4,6 +4,14 @@ CHANGELOG
4
4
  Unreleased
5
5
  ----------
6
6
 
7
+
8
+ 3.16.0
9
+ ------
10
+ - Emit more debug output when modules fail to sync [#1347](https://github.com/puppetlabs/r10k/pull/1347)
11
+ - Update GitHub Actions & introduce dependabot [#1337](https://github.com/puppetlabs/r10k/pull/1337)
12
+ - Update R10K proxy usage to follow newer rugged best practices [PE-35980](https://tickets.puppet.com/browse/PE-35980)
13
+ - Update Acceptance tests to be compatible with Puppet 8 [#1349](https://github.com/puppetlabs/r10k/pull/1349)
14
+
7
15
  3.15.4
8
16
  ------
9
17
  - Pin dependencies to maintain support for old Ruby versions [#1329](https://github.com/puppetlabs/r10k/pull/1329)
data/Gemfile CHANGED
@@ -6,10 +6,10 @@ group :extra do
6
6
  end
7
7
 
8
8
  group :development do
9
- gem 'simplecov', '~> 0.9.1'
9
+ gem 'simplecov', '~> 0.17.1'
10
10
  gem 'ruby-prof', :platforms => :ruby
11
11
  end
12
12
 
13
- if File.exists? "#{__FILE__}.local"
13
+ if File.exist? "#{__FILE__}.local"
14
14
  eval(File.read("#{__FILE__}.local"), binding)
15
15
  end
@@ -1,4 +1,4 @@
1
- $git_package = $osfamily ? {
1
+ $git_package = $facts['os']['family'] ? {
2
2
  'Debian' => 'git-core',
3
3
  default => 'git'
4
4
  }
@@ -23,9 +23,6 @@ pe_version = get_puppet_version(master)
23
23
  fail_test('This pre-suite requires PE 3.7 or above!') if pe_version < 3.7
24
24
 
25
25
  #Setup
26
- step 'Stub Forge on Master'
27
- stub_forge_on(master)
28
-
29
26
  step 'Read module path'
30
27
  on(master, puppet('config print basemodulepath')) do |result|
31
28
  (result.stdout.include? ':') ? separator = ':' : separator = ';'
@@ -19,7 +19,7 @@ r10k_config_bak_path = "#{r10k_config_path}.bak"
19
19
 
20
20
  puppetfile =<<-EOS
21
21
  mod 'motd',
22
- :git => 'https://github.com/puppetlabs/puppetlabs-motd'
22
+ :git => 'https://github.com/puppetlabs/puppetlabs-motd', :branch => 'main'
23
23
  EOS
24
24
 
25
25
  proxy_env_value = 'http://ferritsarebest.net:3219'
@@ -36,7 +36,7 @@ sources:
36
36
  CONF
37
37
 
38
38
  teardown do
39
- master.clear_env_var('HTTP_PROXY')
39
+ master.clear_env_var('HTTPS_PROXY')
40
40
 
41
41
  step 'Restore Original "r10k" Config'
42
42
  on(master, "mv #{r10k_config_bak_path} #{r10k_config_path}")
@@ -45,7 +45,7 @@ teardown do
45
45
  clean_up_r10k(master, last_commit, git_environments_path)
46
46
  end
47
47
 
48
- master.add_env_var('HTTP_PROXY', proxy_env_value)
48
+ master.add_env_var('HTTPS_PROXY', proxy_env_value)
49
49
 
50
50
  step 'Backup Current "r10k" Config'
51
51
  on(master, "mv #{r10k_config_path} #{r10k_config_bak_path}")
@@ -64,7 +64,8 @@ git_add_commit_push(master, 'production', 'add Puppetfile', git_environments_pat
64
64
 
65
65
  #test
66
66
  on(master, "#{r10k_fqp} deploy environment -p", :accept_all_exit_codes => true) do |r|
67
- regex = /(Couldn't|Could not) resolve proxy.*ferritsarebest\.net/i
67
+ # Rugged as of 0.28 has a different error message than shellgit
68
+ regex = /((failed to resolve address for)|(Could not resolve proxy:)) ferritsarebest\.net/
68
69
  assert(r.exit_code == 1, 'expected error code was not observed')
69
70
  assert_match(regex, r.stderr, 'The expected error message was not observed' )
70
71
  end
@@ -50,7 +50,7 @@ forge:
50
50
  CONF
51
51
 
52
52
  #Verification
53
- squid_log_regex = /CONNECT forgeapi.puppetlabs.com:443/
53
+ squid_log_regex = /CONNECT forgeapi.puppet(labs)?.com:443/
54
54
 
55
55
  #Teardown
56
56
  teardown do
@@ -21,7 +21,7 @@ remove_squid = "#{pkg_manager} remove -y squid"
21
21
  squid_log = "/var/log/squid/access.log"
22
22
 
23
23
  #Verification
24
- squid_log_regex = /CONNECT forgeapi.puppetlabs.com:443/
24
+ squid_log_regex = /CONNECT forgeapi.puppet(labs)?.com:443/
25
25
 
26
26
  #Teardown
27
27
  teardown do
@@ -46,9 +46,6 @@ teardown do
46
46
  end
47
47
 
48
48
  #Setup
49
- step 'Stub Forge on Master'
50
- stub_forge_on(master)
51
-
52
49
  step 'Inject New "site.pp" to the "production" Environment'
53
50
  inject_site_pp(master, site_pp_path, site_pp)
54
51
 
@@ -47,9 +47,6 @@ teardown do
47
47
  end
48
48
 
49
49
  #Setup
50
- step 'Stub Forge on Master'
51
- stub_forge_on(master)
52
-
53
50
  step 'Inject New "site.pp" to the "production" Environment'
54
51
  inject_site_pp(master, site_pp_path, site_pp)
55
52
 
@@ -16,28 +16,24 @@ r10k_config_bak_path = "#{r10k_config_path}.bak"
16
16
 
17
17
  puppetfile =<<-EOS
18
18
  mod 'motd',
19
- :git => 'https://github.com/puppetlabs/puppetlabs-motd'
19
+ :git => 'https://github.com/puppetlabs/puppetlabs-motd', :branch => 'main'
20
20
  EOS
21
21
 
22
- proxy_env_value = 'http://cattastic.net:3219'
23
-
24
22
  #In-line files
25
23
  r10k_conf = <<-CONF
26
24
  cachedir: '/var/cache/r10k'
27
25
  git:
28
26
  provider: '#{git_provider}'
29
27
  repositories:
30
- - remote: 'http://example.com/fake_git_source.git'
28
+ - remote: 'https://something.else/repo'
31
29
  proxy: 'http://foooooooo.unresolvable:3128'
32
30
  sources:
33
31
  control:
34
32
  basedir: "#{env_path}"
35
- remote: "http://example.com/fake_git_source.git"
33
+ remote: 'https://something.else/repo'
36
34
  CONF
37
35
 
38
36
  teardown do
39
- master.clear_env_var('HTTP_PROXY')
40
-
41
37
  step 'Restore Original "r10k" Config'
42
38
  on(master, "mv #{r10k_config_bak_path} #{r10k_config_path}")
43
39
 
@@ -45,8 +41,6 @@ teardown do
45
41
  clean_up_r10k(master, last_commit, git_environments_path)
46
42
  end
47
43
 
48
- master.add_env_var('HTTP_PROXY', proxy_env_value)
49
-
50
44
  step 'Backup Current "r10k" Config'
51
45
  on(master, "mv #{r10k_config_path} #{r10k_config_bak_path}")
52
46
 
@@ -64,7 +58,8 @@ git_add_commit_push(master, 'production', 'add Puppetfile', git_environments_pat
64
58
 
65
59
  #test
66
60
  on(master, "#{r10k_fqp} deploy environment -p", :accept_all_exit_codes => true) do |r|
67
- regex = /proxy.*foooooooo\.unresolvable/
61
+ # Rugged as of 0.28 has a different error message than shellgit
62
+ regex = /((failed to resolve address for)|(Could not resolve proxy:)) foooooooo\.unresolvable/
68
63
  assert(r.exit_code == 1, 'expected error code was not observed')
69
64
  assert_match(regex, r.stderr, 'The expected error message was not observed' )
70
65
  end
@@ -84,9 +84,6 @@ teardown do
84
84
  end
85
85
 
86
86
  #Setup
87
- step 'Stub Forge on Master'
88
- stub_forge_on(master)
89
-
90
87
  step 'Backup Current "r10k" Config'
91
88
  on(master, "mv #{r10k_config_path} #{r10k_config_bak_path}")
92
89
 
@@ -44,9 +44,6 @@ teardown do
44
44
  clean_up_r10k(master, last_commit, git_environments_path)
45
45
  end
46
46
 
47
- step 'Stub the forge'
48
- stub_forge_on(master)
49
-
50
47
  step 'Backup Current "r10k" Config'
51
48
  on(master, "mv #{r10k_config_path} #{r10k_config_bak_path}")
52
49
 
@@ -68,6 +68,6 @@ on(master, "chmod 600 #{ssh_private_key_path}")
68
68
 
69
69
  #Tests
70
70
  step 'Attempt to Deploy via r10k'
71
- on(master, "#{r10k_fqp} deploy environment -v", :acceptable_exit_codes => 1) do |result|
71
+ on(master, "SSH_AUTH_SOCK= SSH_CONNECTION= SSH_CLIENT= #{r10k_fqp} deploy environment -v", :acceptable_exit_codes => 1) do |result|
72
72
  assert_match(error_message_regex, result.stderr, 'Expected message not found!')
73
73
  end
@@ -50,9 +50,6 @@ teardown do
50
50
  clean_up_r10k(master, last_commit, git_environments_path)
51
51
  end
52
52
 
53
- step 'Stub the forge'
54
- stub_forge_on(master)
55
-
56
53
  step 'Backup Current "r10k" Config'
57
54
  on(master, "mv #{r10k_config_path} #{r10k_config_bak_path}")
58
55
 
@@ -51,9 +51,6 @@ fake_file_b_to_be_left_alone = "#{fake_environment_path_b}/fakefile2.txt"
51
51
  fake_file_c_to_be_purged = "#{fake_environment_path_c}/fakefile3.txt"
52
52
 
53
53
  # initalize file content
54
- step 'Stub the forge'
55
- stub_forge_on(master)
56
-
57
54
  step 'Backup Current "r10k" Config'
58
55
  on(master, "mv #{r10k_config_path} #{r10k_config_bak_path}")
59
56
 
@@ -26,9 +26,6 @@ teardown do
26
26
  end
27
27
 
28
28
  # initalize file content
29
- step 'Stub the forge'
30
- stub_forge_on(master)
31
-
32
29
  step 'Backup Current "r10k" Config'
33
30
  on(master, "mv #{r10k_config_path} #{r10k_config_bak_path}")
34
31
 
@@ -62,9 +62,6 @@ teardown do
62
62
  end
63
63
 
64
64
  #Setup
65
- step 'Stub Forge on Master'
66
- stub_forge_on(master)
67
-
68
65
  env_names.each do |env|
69
66
  if env == 'production'
70
67
  step "Checkout \"#{env}\" Branch"
@@ -66,9 +66,6 @@ teardown do
66
66
  end
67
67
 
68
68
  #Setup
69
- step 'Stub Forge on Master'
70
- stub_forge_on(master)
71
-
72
69
  env_names.each do |env|
73
70
  if env == 'production'
74
71
  step "Checkout \"#{env}\" Branch"
@@ -102,9 +102,6 @@ teardown do
102
102
  end
103
103
 
104
104
  #Setup
105
- step 'Stub Forge on Master'
106
- stub_forge_on(master)
107
-
108
105
  step 'Backup Current "r10k" Config'
109
106
  on(master, "mv #{r10k_config_path} #{r10k_config_bak_path}")
110
107
 
@@ -29,9 +29,6 @@ teardown do
29
29
  end
30
30
 
31
31
  #Setup
32
- step 'Stub Forge on Master'
33
- stub_forge_on(master)
34
-
35
32
  step 'Checkout "production" Branch'
36
33
  git_on(master, 'checkout production', git_environments_path)
37
34
 
@@ -25,9 +25,6 @@ teardown do
25
25
  end
26
26
 
27
27
  #Setup
28
- step 'Stub Forge on Master'
29
- stub_forge_on(master)
30
-
31
28
  step 'Checkout "production" Branch'
32
29
  git_on(master, 'checkout production', git_environments_path)
33
30
 
@@ -19,7 +19,7 @@ PUPPETFILE
19
19
  puppet_file_path = File.join(git_environments_path, 'Puppetfile')
20
20
 
21
21
  #Verification
22
- error_message_regex = /Error: Could not connect via HTTPS to https:\/\/forgeapi.puppetlabs.com/
22
+ error_message_regex = /Error: Could not connect via HTTPS to https:\/\/forgeapi.puppet(labs)?.com/
23
23
 
24
24
  #Teardown
25
25
  teardown do
@@ -34,7 +34,8 @@ step 'Backup "/etc/hosts" File on Master'
34
34
  on(master, "mv #{hosts_file_path} #{hosts_file_path}.bak")
35
35
 
36
36
  step 'Point Forge Hostname to Localhost'
37
- on(master, "echo '127.0.0.1 forgeapi.puppetlabs.com' > #{hosts_file_path}")
37
+ on(master, "echo '127.0.0.1 forgeapi.puppet.com' > #{hosts_file_path}")
38
+ on(master, "echo '127.0.0.1 forgeapi.puppetlabs.com' >> #{hosts_file_path}")
38
39
 
39
40
  step 'Checkout "production" Branch'
40
41
  git_on(master, 'checkout production', git_environments_path)
@@ -10,7 +10,7 @@ last_commit = git_last_commit(master, git_environments_path)
10
10
  r10k_fqp = get_r10k_fqp(master)
11
11
 
12
12
  #Verification
13
- error_notification_regex = /The module puppetlabs-regret does not appear to have any published releases/
13
+ error_notification_regex = /(The module puppetlabs-regret does not appear to have any published releases)|(module puppetlabs-regret does not exist on)/
14
14
 
15
15
  #File
16
16
  puppet_file = <<-PUPPETFILE
@@ -24,10 +24,6 @@ teardown do
24
24
  clean_up_r10k(master, last_commit, git_environments_path)
25
25
  end
26
26
 
27
- #Setup
28
- step 'Stub Forge on Master'
29
- stub_forge_on(master)
30
-
31
27
  #Tests
32
28
  step 'Checkout "production" Branch'
33
29
  git_on(master, 'checkout production', git_environments_path)
@@ -64,9 +64,6 @@ teardown do
64
64
  end
65
65
 
66
66
  #Setup
67
- step 'Stub Forge on Master'
68
- stub_forge_on(master)
69
-
70
67
  step 'Checkout "production" Branch'
71
68
  git_on(master, 'checkout production', git_environments_path)
72
69
 
@@ -45,9 +45,6 @@ teardown do
45
45
  end
46
46
 
47
47
  #Setup
48
- step 'Stub Forge on Master'
49
- stub_forge_on(master)
50
-
51
48
  step 'Checkout "production" Branch'
52
49
  git_on(master, 'checkout production', git_environments_path)
53
50
 
@@ -44,9 +44,6 @@ teardown do
44
44
  end
45
45
 
46
46
  #Setup
47
- step 'Stub Forge on Master'
48
- stub_forge_on(master)
49
-
50
47
  step 'Add motd module from the forge using the PMT'
51
48
  on(master, puppet('module', 'install', 'puppetlabs-motd', '--modulepath', forge_module_path))
52
49
 
@@ -43,9 +43,6 @@ teardown do
43
43
  end
44
44
 
45
45
  #Setup
46
- step 'Stub Forge on Master'
47
- stub_forge_on(master)
48
-
49
46
  step 'Checkout "production" Branch'
50
47
  git_on(master, 'checkout production', git_remote_environments_path)
51
48
 
@@ -57,9 +57,6 @@ teardown do
57
57
  end
58
58
 
59
59
  #Setup
60
- step 'Stub Forge on Master'
61
- stub_forge_on(master)
62
-
63
60
  step 'Checkout "production" Branch'
64
61
  git_on(master, 'checkout production', git_environments_path)
65
62
 
@@ -60,9 +60,6 @@ teardown do
60
60
  end
61
61
 
62
62
  #Setup
63
- step 'Stub Forge on Master'
64
- stub_forge_on(master)
65
-
66
63
  step 'Checkout "production" Branch'
67
64
  git_on(master, 'checkout production', git_environments_path)
68
65
 
@@ -65,9 +65,6 @@ teardown do
65
65
  end
66
66
 
67
67
  #Setup
68
- step 'Stub Forge on Master'
69
- stub_forge_on(master)
70
-
71
68
  initial_env_names.each do |env|
72
69
  if env == 'production'
73
70
  step "Checkout \"#{env}\" Branch"
@@ -79,8 +79,13 @@ module R10K
79
79
  begin
80
80
  while mods = mods_queue.pop(true) do
81
81
  mods.each do |mod|
82
- updated = mod.sync
83
- updated_modules << mod.name if updated
82
+ begin
83
+ updated = mod.sync
84
+ updated_modules << mod.name if updated
85
+ rescue Exception => e
86
+ logger.error _("Module %{mod_name} failed to synchronize due to %{message}") % {mod_name: mod.name, message: e.message}
87
+ raise e
88
+ end
84
89
  end
85
90
  end
86
91
  rescue ThreadError => e
@@ -56,11 +56,12 @@ class R10K::Git::Rugged::BareRepository < R10K::Git::Rugged::BaseRepository
56
56
  logger.warn { _("Rugged versions prior to 0.24.0 do not support pruning stale branches during fetch, please upgrade your \'rugged\' gem. (Current version is: %{version})") % {version: Rugged::Version} }
57
57
  end
58
58
 
59
- options = {:credentials => credentials, :prune => true}
60
- refspecs = ['+refs/*:refs/*']
61
-
62
59
  remote = remotes[remote_name]
63
60
  proxy = R10K::Git.get_proxy_for_remote(remote)
61
+
62
+ options = {:credentials => credentials, :prune => true, :proxy_url => proxy}
63
+ refspecs = ['+refs/*:refs/*']
64
+
64
65
  results = nil
65
66
 
66
67
  R10K::Git.with_proxy(proxy) do
@@ -27,6 +27,7 @@ class R10K::Git::Rugged::WorkingRepository < R10K::Git::Rugged::BaseRepository
27
27
  def clone(remote, opts = {})
28
28
  logger.debug1 { _("Cloning '%{remote}' into %{path}") % {remote: remote, path: @path } }
29
29
 
30
+ proxy = R10K::Git.get_proxy_for_remote(remote)
30
31
  # libgit2/rugged doesn't support cloning a repository and providing an
31
32
  # alternate object database, making the handling of :alternates a noop.
32
33
  # Unfortunately this means that this method can't really use alternates
@@ -34,10 +35,9 @@ class R10K::Git::Rugged::WorkingRepository < R10K::Git::Rugged::BaseRepository
34
35
  # repository. However alternate databases can be handled when an existing
35
36
  # repository is loaded, so loading a cloned repo will correctly use
36
37
  # alternate object database.
37
- options = {:credentials => credentials}
38
+ options = {:credentials => credentials, :proxy_url => proxy}
38
39
  options.merge!(:alternates => [File.join(opts[:reference], 'objects')]) if opts[:reference]
39
40
 
40
- proxy = R10K::Git.get_proxy_for_remote(remote)
41
41
 
42
42
  R10K::Git.with_proxy(proxy) do
43
43
  @_rugged_repo = ::Rugged::Repository.clone_at(remote, @path.to_s, options)
@@ -85,11 +85,13 @@ class R10K::Git::Rugged::WorkingRepository < R10K::Git::Rugged::BaseRepository
85
85
 
86
86
  def fetch(remote_name = 'origin')
87
87
  logger.debug1 { _("Fetching remote '%{remote}' at %{path}") % {remote: remote_name, path: @path} }
88
- options = {:credentials => credentials}
89
- refspecs = ["+refs/heads/*:refs/remotes/#{remote_name}/*"]
90
88
 
91
89
  remote = remotes[remote_name]
92
90
  proxy = R10K::Git.get_proxy_for_remote(remote)
91
+
92
+ options = {:credentials => credentials, :proxy_url => proxy}
93
+ refspecs = ["+refs/heads/*:refs/remotes/#{remote_name}/*"]
94
+
93
95
  results = nil
94
96
 
95
97
  R10K::Git.with_proxy(proxy) do
@@ -72,7 +72,7 @@ class Puppetfile
72
72
  @overrides = options.delete(:overrides) || {}
73
73
  @default_branch_override = @overrides.dig(:environments, :default_branch_override)
74
74
 
75
- @forge = 'forgeapi.puppetlabs.com'
75
+ @forge = 'forgeapi.puppet.com'
76
76
 
77
77
  @loader = ::R10K::ModuleLoader::Puppetfile.new(
78
78
  basedir: @basedir,
data/lib/r10k/version.rb CHANGED
@@ -2,5 +2,5 @@ module R10K
2
2
  # When updating to a new major (X) or minor (Y) version, include `#major` or
3
3
  # `#minor` (respectively) in your commit message to trigger the appropriate
4
4
  # release. Otherwise, a new patch (Z) version will be released.
5
- VERSION = '3.15.4'
5
+ VERSION = '3.16.0'
6
6
  end
data/locales/r10k.pot CHANGED
@@ -1,16 +1,16 @@
1
1
  # SOME DESCRIPTIVE TITLE.
2
- # Copyright (C) 2022 Puppet, Inc.
2
+ # Copyright (C) 2023 Puppet, Inc.
3
3
  # This file is distributed under the same license as the r10k package.
4
- # FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
5
5
  #
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: r10k 3.9.3-265-gcb0a3463\n"
9
+ "Project-Id-Version: r10k 3.9.3-289-g2f5deb72\n"
10
10
  "\n"
11
11
  "Report-Msgid-Bugs-To: docs@puppetlabs.com\n"
12
- "POT-Creation-Date: 2022-12-08 22:58+0000\n"
13
- "PO-Revision-Date: 2022-12-08 22:58+0000\n"
12
+ "POT-Creation-Date: 2023-06-27 17:39+0000\n"
13
+ "PO-Revision-Date: 2023-06-27 17:39+0000\n"
14
14
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
15
15
  "Language-Team: LANGUAGE <LL@li.org>\n"
16
16
  "Language: \n"
@@ -95,7 +95,11 @@ msgstr ""
95
95
  msgid "Error during concurrent deploy of a module: %{message}"
96
96
  msgstr ""
97
97
 
98
- #: ../lib/r10k/content_synchronizer.rb:87
98
+ #: ../lib/r10k/content_synchronizer.rb:86
99
+ msgid "Module %{mod_name} failed to synchronize due to %{message}"
100
+ msgstr ""
101
+
102
+ #: ../lib/r10k/content_synchronizer.rb:92
99
103
  msgid "Module thread %{id} exiting: %{message}"
100
104
  msgstr ""
101
105