r10k 3.14.0 → 3.15.0
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 +4 -4
- data/.github/workflows/docker.yml +5 -0
- data/.github/workflows/rspec_tests.yml +4 -3
- data/.github/workflows/stale.yml +2 -0
- data/.gitignore +1 -0
- data/CHANGELOG.mkd +22 -0
- data/README.mkd +2 -2
- data/doc/dynamic-environments/configuration.mkd +44 -16
- data/doc/dynamic-environments/usage.mkd +4 -0
- data/doc/dynamic-environments/workflow-guide.mkd +3 -3
- data/doc/faq.mkd +1 -1
- data/doc/git/providers.mkd +22 -0
- data/docker/Makefile +18 -11
- data/docker/r10k/Dockerfile +1 -1
- data/docker/r10k/release.Dockerfile +1 -1
- data/integration/tests/git_source/HTTP_proxy_and_git_source.rb +1 -1
- data/integration/tests/git_source/git_source_repeated_remote.rb +2 -2
- data/integration/tests/purging/content_not_purged_at_root.rb +2 -2
- data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module.rb +1 -1
- data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module_static.rb +1 -1
- data/integration/tests/user_scenario/basic_workflow/multi_source_custom_forge_git_module.rb +1 -1
- data/integration/tests/user_scenario/basic_workflow/negative/neg_bad_git_module.rb +1 -1
- data/integration/tests/user_scenario/basic_workflow/negative/neg_bad_git_module_ref.rb +1 -1
- data/integration/tests/user_scenario/basic_workflow/single_env_custom_forge_git_module.rb +1 -1
- data/integration/tests/user_scenario/basic_workflow/single_env_switch_forge_git_module.rb +1 -1
- data/lib/r10k/environment/with_modules.rb +25 -2
- data/lib/r10k/git/rugged/bare_repository.rb +1 -1
- data/lib/r10k/git/rugged/credentials.rb +1 -1
- data/lib/r10k/git/rugged/thin_repository.rb +7 -0
- data/lib/r10k/git/rugged/working_repository.rb +8 -4
- data/lib/r10k/git/shellgit/thin_repository.rb +4 -0
- data/lib/r10k/git/shellgit/working_repository.rb +3 -2
- data/lib/r10k/git/stateful_repository.rb +4 -4
- data/lib/r10k/module/base.rb +6 -2
- data/lib/r10k/module/forge.rb +10 -10
- data/lib/r10k/module/git.rb +2 -4
- data/lib/r10k/module/local.rb +1 -1
- data/lib/r10k/module_loader/puppetfile/dsl.rb +1 -1
- data/lib/r10k/module_loader/puppetfile.rb +11 -6
- data/lib/r10k/settings/container.rb +1 -0
- data/lib/r10k/version.rb +1 -1
- data/locales/r10k.pot +23 -15
- data/r10k.gemspec +5 -7
- data/spec/fixtures/unit/puppetfile/various-modules/modules/apt/.gitkeep +1 -0
- data/spec/fixtures/unit/puppetfile/various-modules/modules/baz/.gitkeep +1 -0
- data/spec/fixtures/unit/puppetfile/various-modules/modules/buzz/.gitkeep +1 -0
- data/spec/fixtures/unit/puppetfile/various-modules/modules/canary/.gitkeep +1 -0
- data/spec/fixtures/unit/puppetfile/various-modules/modules/fizz/.gitkeep +1 -0
- data/spec/fixtures/unit/puppetfile/various-modules/modules/rpm/.gitkeep +1 -0
- data/spec/integration/git/stateful_repository_spec.rb +16 -0
- data/spec/unit/action/deploy/module_spec.rb +7 -7
- data/spec/unit/environment/git_spec.rb +2 -2
- data/spec/unit/environment/with_modules_spec.rb +47 -0
- data/spec/unit/git/alternates_spec.rb +28 -28
- data/spec/unit/git/cache_spec.rb +1 -1
- data/spec/unit/git/rugged/cache_spec.rb +2 -2
- data/spec/unit/git/shellgit/cache_spec.rb +1 -1
- data/spec/unit/git/stateful_repository_spec.rb +1 -1
- data/spec/unit/module/forge_spec.rb +9 -7
- data/spec/unit/module/git_spec.rb +5 -5
- data/spec/unit/module_loader/puppetfile_spec.rb +18 -5
- data/spec/unit/module_spec.rb +14 -7
- data/spec/unit/util/cacheable_spec.rb +2 -2
- metadata +24 -13
- data/.travis.yml +0 -42
@@ -33,21 +33,17 @@ describe R10K::Module::Forge do
|
|
33
33
|
|
34
34
|
describe "implementing the Puppetfile spec" do
|
35
35
|
it "should implement 'branan/eight_hundred', '8.0.0'" do
|
36
|
-
expect(described_class).to be_implement('branan/eight_hundred', { version: '8.0.0' })
|
36
|
+
expect(described_class).to be_implement('branan/eight_hundred', { type: 'forge', version: '8.0.0' })
|
37
37
|
end
|
38
38
|
|
39
39
|
it "should implement 'branan-eight_hundred', '8.0.0'" do
|
40
|
-
expect(described_class).to be_implement('branan-eight_hundred', { version: '8.0.0' })
|
41
|
-
end
|
42
|
-
|
43
|
-
it "should fail with an invalid title" do
|
44
|
-
expect(described_class).to_not be_implement('branan!eight_hundred', { version: '8.0.0' })
|
40
|
+
expect(described_class).to be_implement('branan-eight_hundred', { type: 'forge', version: '8.0.0' })
|
45
41
|
end
|
46
42
|
end
|
47
43
|
|
48
44
|
describe "implementing the standard options interface" do
|
49
45
|
it "should implement {type: forge}" do
|
50
|
-
expect(described_class).to be_implement('branan-eight_hundred', {type: 'forge', version: '8.0.0', source: 'not implemented'})
|
46
|
+
expect(described_class).to be_implement('branan-eight_hundred', { type: 'forge', version: '8.0.0', source: 'not implemented' })
|
51
47
|
end
|
52
48
|
end
|
53
49
|
|
@@ -71,6 +67,12 @@ describe R10K::Module::Forge do
|
|
71
67
|
end
|
72
68
|
end
|
73
69
|
|
70
|
+
describe "invalid attributes" do
|
71
|
+
it "errors on invalid versions" do
|
72
|
+
expect { described_class.new('branan/eight_hundred', '/moduledir', { version: '_8.0.0_' }) }.to raise_error ArgumentError, /version/
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
74
76
|
describe "properties" do
|
75
77
|
subject { described_class.new('branan/eight_hundred', fixture_modulepath, { version: '8.0.0' }) }
|
76
78
|
|
@@ -44,7 +44,7 @@ describe R10K::Module::Git do
|
|
44
44
|
described_class.new(
|
45
45
|
'branan/eight_hundred',
|
46
46
|
'/moduledir',
|
47
|
-
{ :git => '
|
47
|
+
{ :git => 'https://git-server.site/branan/puppet-eight_hundred' }
|
48
48
|
)
|
49
49
|
end
|
50
50
|
|
@@ -66,7 +66,7 @@ describe R10K::Module::Git do
|
|
66
66
|
described_class.new(
|
67
67
|
'eight_hundred',
|
68
68
|
'/moduledir',
|
69
|
-
{ :git => '
|
69
|
+
{ :git => 'https://git-server.site/branan/puppet-eight_hundred' }
|
70
70
|
)
|
71
71
|
end
|
72
72
|
|
@@ -86,7 +86,7 @@ describe R10K::Module::Git do
|
|
86
86
|
|
87
87
|
describe "properties" do
|
88
88
|
subject do
|
89
|
-
described_class.new('boolean', '/moduledir', {:git => '
|
89
|
+
described_class.new('boolean', '/moduledir', {:git => 'https://git.example.com/adrienthebo/puppet-boolean'})
|
90
90
|
end
|
91
91
|
|
92
92
|
before(:each) do
|
@@ -154,7 +154,7 @@ describe R10K::Module::Git do
|
|
154
154
|
described_class.new(
|
155
155
|
'boolean',
|
156
156
|
'/moduledir',
|
157
|
-
{ :git => '
|
157
|
+
{ :git => 'https://git.example.com/adrienthebo/puppet-boolean' }
|
158
158
|
)
|
159
159
|
end
|
160
160
|
|
@@ -171,7 +171,7 @@ describe R10K::Module::Git do
|
|
171
171
|
described_class.new('boolean', '/moduledir', base_opts.merge(extra_opts), env)
|
172
172
|
end
|
173
173
|
|
174
|
-
let(:base_opts) { { git: '
|
174
|
+
let(:base_opts) { { git: 'https://git.example.com/adrienthebo/puppet-boolean' } }
|
175
175
|
|
176
176
|
before(:each) do
|
177
177
|
allow(mock_repo).to receive(:head).and_return('abc123')
|
@@ -12,7 +12,7 @@ describe R10K::ModuleLoader::Puppetfile do
|
|
12
12
|
environment: R10K::Environment::Git.new('env',
|
13
13
|
'/test/basedir/',
|
14
14
|
'env',
|
15
|
-
{ remote: '
|
15
|
+
{ remote: 'https://foo/remote',
|
16
16
|
ref: 'env' })
|
17
17
|
}
|
18
18
|
end
|
@@ -80,7 +80,8 @@ describe R10K::ModuleLoader::Puppetfile do
|
|
80
80
|
describe 'adding modules' do
|
81
81
|
let(:basedir) { '/test/basedir' }
|
82
82
|
|
83
|
-
subject { R10K::ModuleLoader::Puppetfile.new(basedir: basedir
|
83
|
+
subject { R10K::ModuleLoader::Puppetfile.new(basedir: basedir,
|
84
|
+
overrides: {modules: {exclude_spec: true}}) }
|
84
85
|
|
85
86
|
it 'should transform Forge modules with a string arg to have a version key' do
|
86
87
|
expect(R10K::Module).to receive(:from_metadata).with('puppet/test_module', subject.moduledir, hash_including(version: '1.2.3'), anything).and_call_original
|
@@ -94,11 +95,23 @@ describe R10K::ModuleLoader::Puppetfile do
|
|
94
95
|
|
95
96
|
expect {
|
96
97
|
subject.add_module('puppet/test_module', '< 1.2.0')
|
97
|
-
}.to raise_error(
|
98
|
+
}.to raise_error(ArgumentError, /module version .* is not a valid forge module version/i)
|
98
99
|
|
99
100
|
expect(subject.modules.collect(&:name)).not_to include('test_module')
|
100
101
|
end
|
101
102
|
|
103
|
+
it 'should not modify the overrides when adding modules' do
|
104
|
+
module_opts = { git: 'git@example.com:puppet/test_module.git' }
|
105
|
+
subject.add_module('puppet/test_module', module_opts)
|
106
|
+
expect(subject.instance_variable_get("@overrides")[:modules]).to eq({exclude_spec: true})
|
107
|
+
end
|
108
|
+
|
109
|
+
it 'should read the `exclude_spec` setting in the module definition and override the overrides' do
|
110
|
+
module_opts = { git: 'git@example.com:puppet/test_module.git', exclude_spec: false }
|
111
|
+
subject.add_module('puppet/test_module', module_opts)
|
112
|
+
expect(subject.modules[0].instance_variable_get("@exclude_spec")).to be false
|
113
|
+
end
|
114
|
+
|
102
115
|
it 'should set :spec_deletable to true for modules in the basedir' do
|
103
116
|
module_opts = { git: 'git@example.com:puppet/test_module.git' }
|
104
117
|
subject.add_module('puppet/test_module', module_opts)
|
@@ -372,7 +385,7 @@ describe R10K::ModuleLoader::Puppetfile do
|
|
372
385
|
expect(metadata['canary']).to eq('0.0.0')
|
373
386
|
end
|
374
387
|
|
375
|
-
it 'does not load module implementations for static
|
388
|
+
it 'does not load module implementations for static versions unless the module install path does not exist on disk' do
|
376
389
|
@path = File.join(PROJECT_ROOT, 'spec', 'fixtures', 'unit', 'puppetfile', 'various-modules')
|
377
390
|
subject.load_metadata
|
378
391
|
modules = subject.load[:modules].map { |mod| [ mod.name, mod ] }.to_h
|
@@ -381,7 +394,7 @@ describe R10K::ModuleLoader::Puppetfile do
|
|
381
394
|
expect(modules['concat']).to be_a_kind_of(R10K::Module::Forge)
|
382
395
|
expect(modules['rpm']).to be_a_kind_of(R10K::Module::Definition)
|
383
396
|
expect(modules['foo']).to be_a_kind_of(R10K::Module::Git)
|
384
|
-
expect(modules['bar']).to be_a_kind_of(R10K::Module::
|
397
|
+
expect(modules['bar']).to be_a_kind_of(R10K::Module::Git)
|
385
398
|
expect(modules['baz']).to be_a_kind_of(R10K::Module::Definition)
|
386
399
|
expect(modules['fizz']).to be_a_kind_of(R10K::Module::Definition)
|
387
400
|
expect(modules['buzz']).to be_a_kind_of(R10K::Module::Git)
|
data/spec/unit/module_spec.rb
CHANGED
@@ -31,12 +31,11 @@ describe R10K::Module do
|
|
31
31
|
'bar-quux',
|
32
32
|
].each do |scenario|
|
33
33
|
it "accepts a name matching #{scenario} and version nil" do
|
34
|
-
obj = R10K::Module.new(scenario, '/modulepath', { version: nil })
|
34
|
+
obj = R10K::Module.new(scenario, '/modulepath', { type: 'forge', version: nil })
|
35
35
|
expect(obj).to be_a_kind_of(R10K::Module::Forge)
|
36
36
|
end
|
37
37
|
end
|
38
|
-
[ {version: '8.0.0'},
|
39
|
-
{type: 'forge', version: '8.0.0'},
|
38
|
+
[ {type: 'forge', version: '8.0.0'},
|
40
39
|
].each do |scenario|
|
41
40
|
it "accepts a name matching bar-quux and args #{scenario.inspect}" do
|
42
41
|
obj = R10K::Module.new('bar-quux', '/modulepath', scenario)
|
@@ -65,7 +64,7 @@ describe R10K::Module do
|
|
65
64
|
end
|
66
65
|
|
67
66
|
it 'sets the expected version to what is found in the metadata' do
|
68
|
-
obj = R10K::Module.new(@title, @dirname, {version: nil})
|
67
|
+
obj = R10K::Module.new(@title, @dirname, {type: 'forge', version: nil})
|
69
68
|
expect(obj.send(:instance_variable_get, :'@expected_version')).to eq('1.2.0')
|
70
69
|
end
|
71
70
|
end
|
@@ -82,7 +81,6 @@ describe R10K::Module do
|
|
82
81
|
['name', {type: 'git', source: 'git url'}],
|
83
82
|
['name', {svn: 'svn url'}],
|
84
83
|
['name', {type: 'svn', source: 'svn url'}],
|
85
|
-
['namespace-name', {version: '8.0.0'}],
|
86
84
|
['namespace-name', {type: 'forge', version: '8.0.0'}]
|
87
85
|
].each do |(name, options)|
|
88
86
|
it 'can handle the default_branch_override option' do
|
@@ -92,12 +90,21 @@ describe R10K::Module do
|
|
92
90
|
}.not_to raise_error
|
93
91
|
end
|
94
92
|
describe 'the exclude_spec setting' do
|
93
|
+
it 'sets the exclude_spec instance variable to false by default' do
|
94
|
+
obj = R10K::Module.new(name, '/modulepath', options)
|
95
|
+
expect(obj.instance_variable_get("@exclude_spec")).to eq(false)
|
96
|
+
end
|
95
97
|
it 'sets the exclude_spec instance variable' do
|
96
98
|
obj = R10K::Module.new(name, '/modulepath', options.merge({exclude_spec: true}))
|
97
99
|
expect(obj.instance_variable_get("@exclude_spec")).to eq(true)
|
98
100
|
end
|
99
|
-
it '
|
100
|
-
options = options.merge({exclude_spec:
|
101
|
+
it 'cannot be overridden by the settings from the cli, r10k.yaml, or settings default' do
|
102
|
+
options = options.merge({exclude_spec: true, overrides: {modules: {exclude_spec: false}}})
|
103
|
+
obj = R10K::Module.new(name, '/modulepath', options)
|
104
|
+
expect(obj.instance_variable_get("@exclude_spec")).to eq(true)
|
105
|
+
end
|
106
|
+
it 'reads the setting from the cli, r10k.yaml, or settings default when not provided directly' do
|
107
|
+
options = options.merge({overrides: {modules: {exclude_spec: true}}})
|
101
108
|
obj = R10K::Module.new(name, '/modulepath', options)
|
102
109
|
expect(obj.instance_variable_get("@exclude_spec")).to eq(true)
|
103
110
|
end
|
@@ -6,10 +6,10 @@ RSpec.describe R10K::Util::Cacheable do
|
|
6
6
|
subject { Object.new.extend(R10K::Util::Cacheable) }
|
7
7
|
|
8
8
|
describe "dirname sanitization" do
|
9
|
-
let(:input) { '
|
9
|
+
let(:input) { 'https://some/git/remote' }
|
10
10
|
|
11
11
|
it 'sanitizes URL to directory name' do
|
12
|
-
expect(subject.sanitized_dirname(input)).to eq('
|
12
|
+
expect(subject.sanitized_dirname(input)).to eq('https---some-git-remote')
|
13
13
|
end
|
14
14
|
|
15
15
|
context 'with username and password' do
|
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.
|
4
|
+
version: 3.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adrien Thebo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-04-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colored2
|
@@ -28,14 +28,14 @@ dependencies:
|
|
28
28
|
name: cri
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 2.15.10
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 2.15.10
|
41
41
|
- !ruby/object:Gem::Dependency
|
@@ -70,14 +70,14 @@ dependencies:
|
|
70
70
|
name: puppet_forge
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 2.3.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 2.3.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
@@ -98,16 +98,22 @@ dependencies:
|
|
98
98
|
name: fast_gettext
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: 1.1.0
|
104
|
+
- - "<"
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 3.0.0
|
104
107
|
type: :runtime
|
105
108
|
prerelease: false
|
106
109
|
version_requirements: !ruby/object:Gem::Requirement
|
107
110
|
requirements:
|
108
|
-
- - "
|
111
|
+
- - ">="
|
109
112
|
- !ruby/object:Gem::Version
|
110
113
|
version: 1.1.0
|
114
|
+
- - "<"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: 3.0.0
|
111
117
|
- !ruby/object:Gem::Dependency
|
112
118
|
name: gettext
|
113
119
|
requirement: !ruby/object:Gem::Requirement
|
@@ -117,7 +123,7 @@ dependencies:
|
|
117
123
|
version: 3.0.2
|
118
124
|
- - "<"
|
119
125
|
- !ruby/object:Gem::Version
|
120
|
-
version:
|
126
|
+
version: 4.0.0
|
121
127
|
type: :runtime
|
122
128
|
prerelease: false
|
123
129
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -127,7 +133,7 @@ dependencies:
|
|
127
133
|
version: 3.0.2
|
128
134
|
- - "<"
|
129
135
|
- !ruby/object:Gem::Version
|
130
|
-
version:
|
136
|
+
version: 4.0.0
|
131
137
|
- !ruby/object:Gem::Dependency
|
132
138
|
name: jwt
|
133
139
|
requirement: !ruby/object:Gem::Requirement
|
@@ -148,14 +154,14 @@ dependencies:
|
|
148
154
|
requirements:
|
149
155
|
- - "~>"
|
150
156
|
- !ruby/object:Gem::Version
|
151
|
-
version: 0.9
|
157
|
+
version: '0.9'
|
152
158
|
type: :runtime
|
153
159
|
prerelease: false
|
154
160
|
version_requirements: !ruby/object:Gem::Requirement
|
155
161
|
requirements:
|
156
162
|
- - "~>"
|
157
163
|
- !ruby/object:Gem::Version
|
158
|
-
version: 0.9
|
164
|
+
version: '0.9'
|
159
165
|
- !ruby/object:Gem::Dependency
|
160
166
|
name: rspec
|
161
167
|
requirement: !ruby/object:Gem::Requirement
|
@@ -215,7 +221,6 @@ files:
|
|
215
221
|
- ".github/workflows/rspec_tests.yml"
|
216
222
|
- ".github/workflows/stale.yml"
|
217
223
|
- ".gitignore"
|
218
|
-
- ".travis.yml"
|
219
224
|
- CHANGELOG.mkd
|
220
225
|
- CODEOWNERS
|
221
226
|
- CONTRIBUTING.mkd
|
@@ -487,6 +492,12 @@ files:
|
|
487
492
|
- spec/fixtures/unit/puppetfile/valid-forge-without-version/Puppetfile
|
488
493
|
- spec/fixtures/unit/puppetfile/various-modules/Puppetfile
|
489
494
|
- spec/fixtures/unit/puppetfile/various-modules/Puppetfile.new
|
495
|
+
- spec/fixtures/unit/puppetfile/various-modules/modules/apt/.gitkeep
|
496
|
+
- spec/fixtures/unit/puppetfile/various-modules/modules/baz/.gitkeep
|
497
|
+
- spec/fixtures/unit/puppetfile/various-modules/modules/buzz/.gitkeep
|
498
|
+
- spec/fixtures/unit/puppetfile/various-modules/modules/canary/.gitkeep
|
499
|
+
- spec/fixtures/unit/puppetfile/various-modules/modules/fizz/.gitkeep
|
500
|
+
- spec/fixtures/unit/puppetfile/various-modules/modules/rpm/.gitkeep
|
490
501
|
- spec/fixtures/unit/util/purgeable/managed_one/expected_1
|
491
502
|
- spec/fixtures/unit/util/purgeable/managed_one/managed_subdir_1/managed_symlink_file
|
492
503
|
- spec/fixtures/unit/util/purgeable/managed_one/managed_subdir_1/subdir_allowlisted_2/ignored_1
|
data/.travis.yml
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
---
|
2
|
-
language: ruby
|
3
|
-
bundler_args: "--without system"
|
4
|
-
script: "bundle exec rspec --color --format documentation spec"
|
5
|
-
notifications:
|
6
|
-
email: false
|
7
|
-
sudo: false
|
8
|
-
jdk:
|
9
|
-
- openjdk11
|
10
|
-
before_install: gem install bundler -v '< 2' --no-document
|
11
|
-
matrix:
|
12
|
-
include:
|
13
|
-
- stage: r10k tests
|
14
|
-
rvm: 2.3.0
|
15
|
-
- stage: r10k container tests
|
16
|
-
dist: focal
|
17
|
-
language: ruby
|
18
|
-
services:
|
19
|
-
- docker
|
20
|
-
rvm: 2.6.6
|
21
|
-
env:
|
22
|
-
- DOCKER_COMPOSE_VERSION=1.28.6
|
23
|
-
- DOCKER_BUILDX_VERSION=0.5.1
|
24
|
-
# necessary to prevent overwhelming TravisCI build output limits
|
25
|
-
- DOCKER_BUILD_FLAGS="--progress plain"
|
26
|
-
before_install:
|
27
|
-
- sudo rm /usr/local/bin/docker-compose
|
28
|
-
- curl --location https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname --kernel-name`-`uname --machine` > docker-compose
|
29
|
-
- chmod +x docker-compose
|
30
|
-
- sudo mv docker-compose /usr/local/bin
|
31
|
-
- mkdir -vp ~/.docker/cli-plugins
|
32
|
-
- curl --location https://github.com/docker/buildx/releases/download/v${DOCKER_BUILDX_VERSION}/buildx-v${DOCKER_BUILDX_VERSION}.linux-amd64 > ~/.docker/cli-plugins/docker-buildx
|
33
|
-
- chmod +x ~/.docker/cli-plugins/docker-buildx
|
34
|
-
- docker buildx create --name travis_builder --use
|
35
|
-
script:
|
36
|
-
- set -e
|
37
|
-
- cd docker
|
38
|
-
- make lint
|
39
|
-
- make build
|
40
|
-
- make test
|
41
|
-
after_script:
|
42
|
-
- docker buildx rm travis_builder
|