travis-lint 1.7.0 → 1.8.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c90e5a5967d9959dbb6679288e5268f47b9cb9b5
4
+ data.tar.gz: 25d78a63add59c86018b58d2394ba23613656875
5
+ SHA512:
6
+ metadata.gz: 6eed0e5956ff097a76f34fb935612c33101ca3f8f2afe993f62307946f427c7d36eabb824eff32930301dab16234158c1b201c3c6c3271b7fcbe1f79994ce34a
7
+ data.tar.gz: 834b2b41ffd8f1e23d36bca9a864d8e3b0733959f6edeb1cbc2c98327094da3c0af74653606512b41eb13549203662e8cff770636e092098629fc627de6b3126
@@ -2,13 +2,19 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.2
4
4
  - 1.9.3
5
+ - 2.0.0
5
6
  - jruby-18mode
6
7
  - jruby-19mode
7
- - rbx-18mode
8
- - rbx-19mode
8
+ - rbx
9
9
  - jruby-head
10
10
  - ruby-head
11
11
  - 1.8.7
12
+ matrix:
13
+ allow_failures:
14
+ - rvm: jruby-head
15
+ - rvm: ruby-head
16
+ before_install:
17
+ - 'ruby -e ''puts RUBY_VERSION'' | grep ^1\.8 && gem update --system 2.1.11 || true'
12
18
  script: bundle exec rspec -c spec
13
19
  notifications:
14
20
  irc: "irc.freenode.org#travis"
data/Gemfile CHANGED
@@ -2,3 +2,6 @@ source "http://rubygems.org"
2
2
 
3
3
  gemspec
4
4
 
5
+ platforms :rbx do
6
+ gem 'rubysl', '~> 2.0'
7
+ end
data/README.md CHANGED
@@ -1,8 +1,7 @@
1
1
  # What is travis-lint
2
2
 
3
3
  `travis-lint` is a tool that checks your `.travis.yml` file for possible issues, deprecations and so on.
4
- Supporting the gem, there used to be an online version of this tool at [lint.travis-ci.org](http://lint.travis-ci.org),
5
- although it is currently down due to a security issue with the YAML parser. See [issue #17](https://github.com/travis-ci/travis-lint/issues/17) for updates.
4
+ Supporting the gem, there's also an online version of this tool at [lint.travis-ci.org](http://lint.travis-ci.org).
6
5
 
7
6
  [![Continuous Integration status](https://secure.travis-ci.org/travis-ci/travis-lint.png)](http://travis-ci.org/travis-ci/travis-lint)
8
7
 
@@ -34,6 +33,6 @@ Once you are done with your changes, push a branch and submit a pull request.
34
33
 
35
34
  ## License & Copyright
36
35
 
37
- Copyright 2012 (c) Travis CI Development Team.
36
+ Copyright 2014 (c) Travis CI Development Team.
38
37
 
39
38
  Released under the MIT license.
@@ -51,15 +51,15 @@ module Travis
51
51
  hsh[:rvm].is_a?(Array) && hsh[:rvm].include?("jruby")
52
52
  end
53
53
 
54
- validator_for :ruby, :rvm, "Prefer rbx-18mode RVM alias to rbx" do |hsh|
55
- hsh[:rvm].is_a?(Array) && hsh[:rvm].include?("rbx")
54
+ validator_for :ruby, :rvm, "rbx-18mode RVM alias is no longer provide. Please use one of rbx, rbx-X, rbx-X.Y, or rbx-X.Y.Z depending on your desired version" do |hsh|
55
+ hsh[:rvm].is_a?(Array) && hsh[:rvm].include?("rbx-18mode")
56
56
  end
57
57
 
58
- validator_for :ruby, :rvm, "rbx-2.0 RVM alias is no longer provided. Please use rbx-18mode or rbx-19mode instead." do |hsh|
59
- hsh[:rvm].is_a?(Array) && hsh[:rvm].include?("rbx-2.0")
58
+ validator_for :ruby, :rvm, "rbx-19mode RVM alias is no longer provide. Please use one of rbx, rbx-X, rbx-X.Y, or rbx-X.Y.Z depending on your desired version" do |hsh|
59
+ hsh[:rvm].is_a?(Array) && hsh[:rvm].include?("rbx-19mode")
60
60
  end
61
61
 
62
- validator_for :ruby, :rvm, "rbx-2.0.0pre RVM alias is no longer provided. Please use rbx-18mode or rbx-19mode instead." do |hsh|
62
+ validator_for :ruby, :rvm, "rbx-2.0.0pre RVM alias is no longer provided. Please use one of rbx, rbx-X, rbx-X.Y, or rbx-X.Y.Z depending on your desired version" do |hsh|
63
63
  hsh[:rvm].is_a?(Array) && hsh[:rvm].include?("rbx-2.0.0pre")
64
64
  end
65
65
 
@@ -82,12 +82,12 @@ module Travis
82
82
  end
83
83
 
84
84
 
85
- KNOWN_RUBY_VERSIONS = %w(1.8.7 ruby-1.8.7 1.9.2 ruby-1.9.2 1.9.3 ruby-1.9.3 2.0.0 ruby-2.0.0 ruby-head jruby jruby-18mode jruby-19mode rbx rbx-18mode rbx-19mode jruby-head ree ree-1.8.7)
85
+ KNOWN_RUBY_VERSIONS = %w(1.8.7 ruby-1.8.7 1.9.2 ruby-1.9.2 1.9.3 ruby-1.9.3 2.0.0 ruby-2.0.0 2.1.0 ruby-2.1.0 2.1.1 ruby-2.1.1 ruby-head jruby jruby-18mode jruby-19mode rbx rbx-18mode rbx-19mode jruby-head ree ree-1.8.7 2.1.0-preview2 ruby-2.1.0-preview2 2.1.0-preview1 ruby-2.1.0-preview1 ree-1.8.7-2011.12)
86
86
  KNOWN_NODE_VERSIONS = %w(0.6 0.8 0.9 0.10 0.11)
87
- KNOWN_PHP_VERSIONS = %w(5.2 5.3 5.3.3 5.4 5.5)
87
+ KNOWN_PHP_VERSIONS = %w(5.2 5.3 5.3.3 5.4 5.5 5.6 hhvm)
88
88
 
89
- KNOWN_PYTHON_VERSIONS = %w(2.5 2.6 2.7 3.2 3.3 pypy)
90
- KNOWN_PERL_VERSIONS = %w(5.10 5.12 5.14 5.16)
89
+ KNOWN_PYTHON_VERSIONS = %w(2.6 2.7 3.2 3.3 pypy)
90
+ KNOWN_PERL_VERSIONS = %w(5.8 5.10 5.12 5.14 5.16 5.18 5.19)
91
91
 
92
92
 
93
93
  #
@@ -124,11 +124,25 @@ module Travis
124
124
  end
125
125
 
126
126
  validator_for :all, :matrix, "Allowed matrix failures must contain a list of hashes." do |hash|
127
- if hash[:matrix] and hash[:matrix][:allow_failures]
127
+ if hash[:matrix] && hash[:matrix].is_a?(Hash) && hash[:matrix][:allow_failures]
128
128
  !hash[:matrix][:allow_failures].any?{|failure| failure.is_a?(Hash)}
129
129
  end
130
130
  end
131
131
 
132
+ validator_for :all, :matrix, "Matrix includes must be a list of hashes." do |hash|
133
+ if hash[:matrix] && hash[:matrix].is_a?(Hash) && hash[:matrix][:include]
134
+ !hash[:matrix][:include].any?{|failure| failure.is_a?(Hash)}
135
+ end
136
+ end
137
+
138
+ validator_for :all, :matrix, "Matrix must be a hash." do |hash|
139
+ !(hash[:matrix].nil? || hash[:matrix].is_a?(Hash))
140
+ end
141
+
142
+ validator_for :all, :language, "Language must be valid" do |hash|
143
+ hash.has_key?(:language) && validators_for_language(hash[:language]).empty?
144
+ end
145
+
132
146
  protected
133
147
 
134
148
  def self.known_ruby_versions?(ary)
@@ -1,5 +1,5 @@
1
1
  require "pathname"
2
- require "yaml"
2
+ require "safe_yaml"
3
3
 
4
4
  require "travis/lint/linter"
5
5
 
@@ -16,6 +16,8 @@ module Travis
16
16
  end
17
17
  end
18
18
 
19
+ @quiet = !!ENV['QUIET']
20
+
19
21
  @travis_yml_file_paths = []
20
22
  argv.each do |arg|
21
23
  @travis_yml_file_paths << Pathname.new(arg).expand_path
@@ -30,17 +32,20 @@ module Travis
30
32
  check_that_travis_yml_file_is_valid_yaml!(travis_yml_file_path)
31
33
 
32
34
  if (issues = Linter.validate(self.parsed_travis_yml(travis_yml_file_path))).empty?
33
- puts "Hooray, #{travis_yml_file_path} seems to be solid!"
35
+ unless @quiet
36
+ puts "Hooray, #{travis_yml_file_path} seems to be solid!\n"
37
+ end
34
38
  else
35
39
  errors = true
36
- puts "#{travis_yml_file_path} has issues:"
40
+ $stderr.puts "#{travis_yml_file_path} has issues:"
37
41
  issues.each do |issue|
38
- puts " Found an issue with the `#{issue[:key]}:` key:\n #{issue[:issue]}"
42
+ $stderr.puts " Found an issue with the `#{issue[:key]}:` key:\n #{issue[:issue]}"
39
43
  end
44
+ $stderr.puts
40
45
  end
41
- puts
42
46
  end
43
47
  exit(1) if errors
48
+ exit(0)
44
49
  end
45
50
 
46
51
  protected
@@ -53,14 +58,14 @@ module Travis
53
58
 
54
59
  def check_that_travis_yml_file_is_valid_yaml!(travis_yml_file_path)
55
60
  begin
56
- YAML.load_file(travis_yml_file_path)
57
- rescue ArgumentError, Psych::SyntaxError
58
- quit "#{travis_yml_file_path} is not a valid YAML file and thus will be ignored by Travis CI."
61
+ YAML.load_file travis_yml_file_path, :safe => true
62
+ rescue ArgumentError, Psych::SyntaxError => e
63
+ quit "#{travis_yml_file_path} is not a valid YAML file and thus will be ignored by Travis CI.\nError message: #{e.message}"
59
64
  end
60
65
  end
61
66
 
62
67
  def parsed_travis_yml(travis_yml_file_path)
63
- YAML.load_file(travis_yml_file_path)
68
+ YAML.load_file travis_yml_file_path, :safe => true
64
69
  end
65
70
 
66
71
  def show_help
@@ -74,9 +79,7 @@ Usage:
74
79
  end
75
80
 
76
81
  def quit(message, status = 1)
77
- puts message
78
- puts
79
-
82
+ $stderr.puts message
80
83
  exit(status)
81
84
  end
82
85
  end
@@ -1,6 +1,6 @@
1
1
  module Travis
2
2
  module Lint
3
- VERSION = "1.7.0"
3
+ VERSION = "1.8.0"
4
4
  Version = VERSION
5
5
  end
6
6
  end
@@ -0,0 +1,4 @@
1
+ --- !ruby/object
2
+ table:
3
+ :backdoor: !ruby/hash:ExploitableClassBuilder
4
+ "foo; end; raise %(I'm in yr system!); def bar": "baz"
@@ -0,0 +1,17 @@
1
+ language: foo
2
+ rvm:
3
+ - 1.9.3
4
+ - jruby-19mode
5
+ - rbx
6
+ gemfile:
7
+ - Gemfile
8
+ - gemfiles/eventmachine-pre
9
+ notifications:
10
+ recipients:
11
+ - recepient@example.com
12
+ branches:
13
+ only:
14
+ - master
15
+ - 0.9.x-stable
16
+ - 0.8.x-stable
17
+ - 0.7.x-stable
@@ -1,7 +1,7 @@
1
1
  rvm:
2
2
  - 1.9.3
3
3
  - jruby-19mode
4
- - rbx-19mode
4
+ - rbx
5
5
  gemfile:
6
6
  - Gemfile
7
7
  - gemfiles/eventmachine-pre
@@ -1,4 +1,4 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - jruby
4
- - rbx-2.0.0pre
4
+ - rbx-2.0.0
@@ -1,27 +1,100 @@
1
1
  require "spec_helper"
2
2
  require "stringio"
3
3
 
4
- def capture_stdout
5
- $stdout = StringIO.new
6
- yield
7
- ensure
8
- $stdout = STDOUT
4
+ def capture
5
+ status = nil
6
+ $stdout = out = StringIO.new
7
+ $stderr = err = StringIO.new
8
+
9
+ begin
10
+ yield
11
+ rescue SystemExit => e
12
+ status = e.status
13
+ ensure
14
+ $stdout = STDOUT
15
+ $stderr = STDERR
16
+ end
17
+
18
+ err.rewind
19
+ out.rewind
20
+ return out.read || '', err.read || '', status
21
+ end
22
+
23
+ class ExploitableClassBuilder
24
+ def []=(key, value)
25
+ Class.new.class_eval <<-EOS
26
+ def #{key}
27
+ #{value}
28
+ end
29
+ EOS
30
+ end
9
31
  end
10
32
 
11
33
  describe "A .travis.yml" do
12
34
  context "with issues" do
13
35
  it "run should exit with non-zero exit status" do
14
- status = 0
36
+ _, _, status = capture do
37
+ Travis::Lint::Runner.new(["spec/files/uses_unsupported_perl.yml"]).run
38
+ end
39
+
40
+ status.should_not == 0
41
+ end
42
+
43
+ it "run should report errors to $stderr" do
44
+ _, err, _ = capture do
45
+ Travis::Lint::Runner.new(["spec/files/uses_unsupported_perl.yml"]).run
46
+ end
47
+
48
+ err.chomp.should =~ /Found an issue with the `perl:` key:/
49
+ end
50
+
51
+ it "run should not report errors to $stdout" do
52
+ out, _, _ = capture do
53
+ Travis::Lint::Runner.new(["spec/files/uses_unsupported_perl.yml"]).run
54
+ end
15
55
 
16
- begin
17
- capture_stdout do
18
- Travis::Lint::Runner.new(["spec/files/uses_unsupported_perl.yml"]).run()
56
+ out.chomp.should == ''
57
+ end
58
+ end
59
+
60
+ context "without issues" do
61
+ it "run should exit with zero exit status" do
62
+ _, _, status = capture do
63
+ Travis::Lint::Runner.new([".travis.yml"]).run
64
+ end
65
+
66
+ status.should == 0
67
+ end
68
+
69
+ it "run should report success to $stdout" do
70
+ out, _, _ = capture do
71
+ Travis::Lint::Runner.new([".travis.yml"]).run
72
+ end
73
+
74
+ out.chomp.should =~ /Hooray.*\.travis\.yml seems to be solid!/
75
+ end
76
+
77
+ context "with $QUIET set" do
78
+ before { ENV['QUIET'] = '1' }
79
+ after { ENV['QUIET'] = nil }
80
+
81
+ it "run should be silent" do
82
+ out, _, _ = capture do
83
+ Travis::Lint::Runner.new([".travis.yml"]).run
19
84
  end
20
- rescue SystemExit => e
21
- status = e.status
85
+
86
+ out.chomp.should == ''
22
87
  end
88
+ end
89
+ end
23
90
 
24
- status.should_not == 0
91
+ context "with an exploit" do
92
+ it "loads safely" do
93
+ expect {
94
+ capture {
95
+ Travis::Lint::Runner.new(["spec/files/contains_exploit.yml"]).run
96
+ }
97
+ }.to_not raise_error
25
98
  end
26
99
  end
27
100
  end
@@ -13,16 +13,16 @@ describe "A .travis.yml" do
13
13
  { :key => :rvm, :issue => "Prefer jruby-18mode RVM alias to jruby" }
14
14
  end
15
15
 
16
- let(:prefer_rbx18mode_over_rbx) do
17
- { :key => :rvm, :issue => "Prefer rbx-18mode RVM alias to rbx" }
16
+ let(:rbx18mode_is_no_longer_provided) do
17
+ { :key => :rvm, :issue => "rbx-18mode RVM alias is no longer provide. Please use one of rbx, rbx-X, rbx-X.Y, or rbx-X.Y.Z depending on your desired version" }
18
18
  end
19
19
 
20
- let(:rbx20_is_no_longer_provided) do
21
- { :key => :rvm, :issue => "rbx-2.0 RVM alias is no longer provided. Please use rbx-18mode or rbx-19mode instead." }
20
+ let(:rbx19mode_is_no_longer_provided) do
21
+ { :key => :rvm, :issue => "rbx-19mode RVM alias is no longer provide. Please use one of rbx, rbx-X, rbx-X.Y, or rbx-X.Y.Z depending on your desired version" }
22
22
  end
23
23
 
24
24
  let(:rbx200pre_is_no_longer_provided) do
25
- { :key => :rvm, :issue => "rbx-2.0.0pre RVM alias is no longer provided. Please use rbx-18mode or rbx-19mode instead." }
25
+ { :key => :rvm, :issue => "rbx-2.0.0pre RVM alias is no longer provided. Please use one of rbx, rbx-X, rbx-X.Y, or rbx-X.Y.Z depending on your desired version" }
26
26
  end
27
27
 
28
28
  let(:otp_release_key_is_required) do
@@ -34,7 +34,7 @@ describe "A .travis.yml" do
34
34
  def content_of_sample_file(name)
35
35
  path = Pathname.new(File.join("spec", "files", name)).expand_path
36
36
 
37
- YAML.load_file(path.to_s)
37
+ YAML.load_file path.to_s, :safe => true
38
38
  end
39
39
 
40
40
  context "that is blank" do
@@ -45,6 +45,12 @@ describe "A .travis.yml" do
45
45
  end
46
46
  end
47
47
 
48
+ context "with invalid language" do
49
+ it "is invalid" do
50
+ Travis::Lint::Linter.valid?(content_of_sample_file("invalid_language_key.yml")).should be_false
51
+ end
52
+ end
53
+
48
54
  context "using String keys" do
49
55
  it "is validates as with Symbol keys" do
50
56
  Travis::Lint::Linter.validate({ "language" => "ruby" }).should include(rvm_key_is_recommended)
@@ -70,34 +76,34 @@ describe "A .travis.yml" do
70
76
  end
71
77
  end
72
78
 
73
- context "and uses rbx instead of rbx-18mode" do
79
+ context "and uses rbx-18mode" do
74
80
  let(:travis_yml) do
75
- { :language => "ruby", :rvm => ["rbx", "1.9.3"] }
81
+ { :language => "ruby", :rvm => ["rbx-18mode", "1.9.3"] }
76
82
  end
77
83
 
78
84
  it "is invalid" do
79
- Travis::Lint::Linter.validate(travis_yml).should include(prefer_rbx18mode_over_rbx)
85
+ Travis::Lint::Linter.validate(travis_yml).should include(rbx18mode_is_no_longer_provided)
80
86
  end
81
87
  end
82
88
 
83
- context "and uses rbx-2.0 instead of rbx-18mode" do
89
+ context "and uses rbx-19mode" do
84
90
  let(:travis_yml) do
85
- { :language => "ruby", :rvm => ["rbx-2.0", "1.9.3"] }
91
+ { :language => "ruby", :rvm => ["rbx-19mode", "1.9.3"] }
86
92
  end
87
93
 
88
94
  it "is invalid" do
89
- Travis::Lint::Linter.validate(travis_yml).should include(rbx20_is_no_longer_provided)
90
- Travis::Lint::Linter.valid?(content_of_sample_file("uses_old_rbx_aliases.yml")).should be_false
95
+ Travis::Lint::Linter.validate(travis_yml).should include(rbx19mode_is_no_longer_provided)
91
96
  end
92
97
  end
93
98
 
94
- context "and uses rbx-2.0.0pre instead of rbx-18mode" do
99
+ context "and uses rbx-2.0.0pre" do
95
100
  let(:travis_yml) do
96
101
  { :language => "ruby", :rvm => ["rbx-2.0.0pre", "1.9.3"] }
97
102
  end
98
103
 
99
104
  it "is invalid" do
100
105
  Travis::Lint::Linter.validate(travis_yml).should include(rbx200pre_is_no_longer_provided)
106
+ Travis::Lint::Linter.valid?(content_of_sample_file("uses_old_rbx_aliases.yml")).should be_false
101
107
  end
102
108
  end
103
109
 
@@ -205,6 +211,19 @@ describe "A .travis.yml" do
205
211
  end
206
212
 
207
213
  context "with a build matrix" do
214
+ let(:invalid_array_matrix) {
215
+ {:matrix => ['foo', 'bar', 'baz']}
216
+ }
217
+
218
+ let(:build_matrix_is_not_hash) {
219
+ {:key => :matrix, :issue => "Matrix must be a hash."}
220
+ }
221
+
222
+ it "is invalid unless the build matrix is a hash" do
223
+ Travis::Lint::Linter.valid?(invalid_array_matrix).should eq(false)
224
+ Travis::Lint::Linter.validate(invalid_array_matrix).should include(build_matrix_is_not_hash)
225
+ end
226
+
208
227
  let(:build_matrix_is_not_list_of_hashes) {
209
228
  {:key => :matrix, :issue => "Allowed matrix failures must contain a list of hashes."}
210
229
  }
@@ -226,5 +245,31 @@ describe "A .travis.yml" do
226
245
  Travis::Lint::Linter.valid?(valid_matrix).should == true
227
246
  end
228
247
  end
248
+ context "with include" do
249
+ let(:include_is_a_hash) {
250
+ {:matrix => {:include => {"jdk"=> 'openjdk6', 'script' => 'mvn dostuff'}}}
251
+ }
252
+
253
+ let(:include_is_an_array_of_arrays) {
254
+ {:matrix => {:include => [[{"jdk"=> 'openjdk6', 'script' => 'mvn dostuff'}]]}}
255
+ }
256
+
257
+ let(:valid_matrix) {
258
+ {:matrix => {:include => [{"jdk"=> 'openjdk6', 'script' => 'mvn dostuff'}]}}
259
+ }
260
+
261
+ let(:include_is_not_list_of_hashes) {
262
+ {:key => :matrix, :issue => "Matrix includes must be a list of hashes."}
263
+ }
264
+ it "is invalid when the include is not a list of hashes" do
265
+ Travis::Lint::Linter.validate(include_is_a_hash).should include(include_is_not_list_of_hashes)
266
+ Travis::Lint::Linter.valid?(include_is_a_hash).should == false
267
+ Travis::Lint::Linter.validate(include_is_an_array_of_arrays).should include(include_is_not_list_of_hashes)
268
+ Travis::Lint::Linter.valid?(include_is_an_array_of_arrays).should == false
269
+ end
270
+ it "is valid when allowed include is a list of hashes" do
271
+ Travis::Lint::Linter.valid?(valid_matrix).should == true
272
+ end
273
+ end
229
274
  end
230
275
  end
@@ -16,7 +16,8 @@ Gem::Specification.new do |s|
16
16
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
17
  s.require_paths = ["lib"]
18
18
 
19
- s.add_dependency("hashr", "~> 0.0.22")
19
+ s.add_dependency "hashr", "~> 0.0.22"
20
+ s.add_dependency "safe_yaml", '~> 0.9.0'
20
21
 
21
- s.add_development_dependency("rspec", "~> 2.8")
22
+ s.add_development_dependency "rspec", "~> 2.8"
22
23
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: travis-lint
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
5
- prerelease:
4
+ version: 1.8.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Michael S. Klishin
@@ -10,38 +9,48 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-04-17 00:00:00.000000000 Z
12
+ date: 2014-03-13 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: hashr
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ~>
18
+ - - "~>"
21
19
  - !ruby/object:Gem::Version
22
20
  version: 0.0.22
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ~>
25
+ - - "~>"
29
26
  - !ruby/object:Gem::Version
30
27
  version: 0.0.22
28
+ - !ruby/object:Gem::Dependency
29
+ name: safe_yaml
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: 0.9.0
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: 0.9.0
31
42
  - !ruby/object:Gem::Dependency
32
43
  name: rspec
33
44
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
45
  requirements:
36
- - - ~>
46
+ - - "~>"
37
47
  - !ruby/object:Gem::Version
38
48
  version: '2.8'
39
49
  type: :development
40
50
  prerelease: false
41
51
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
52
  requirements:
44
- - - ~>
53
+ - - "~>"
45
54
  - !ruby/object:Gem::Version
46
55
  version: '2.8'
47
56
  description: travis-lint is a tool that check your .travis.yml for possible issues,
@@ -54,9 +63,9 @@ executables:
54
63
  extensions: []
55
64
  extra_rdoc_files: []
56
65
  files:
57
- - .gitignore
58
- - .rspec
59
- - .travis.yml
66
+ - ".gitignore"
67
+ - ".rspec"
68
+ - ".travis.yml"
60
69
  - Gemfile
61
70
  - LICENSE
62
71
  - README.md
@@ -67,6 +76,8 @@ files:
67
76
  - lib/travis/lint/runner.rb
68
77
  - lib/travis/lint/validator.rb
69
78
  - lib/travis/lint/version.rb
79
+ - spec/files/contains_exploit.yml
80
+ - spec/files/invalid_language_key.yml
70
81
  - spec/files/no_language_key.yml
71
82
  - spec/files/no_rvm_key.yml
72
83
  - spec/files/uses_jruby_instead_of_jruby_in_specific_mode.yml
@@ -83,29 +94,30 @@ files:
83
94
  - travis-lint.gemspec
84
95
  homepage: http://github.com/travis-ci
85
96
  licenses: []
97
+ metadata: {}
86
98
  post_install_message:
87
99
  rdoc_options: []
88
100
  require_paths:
89
101
  - lib
90
102
  required_ruby_version: !ruby/object:Gem::Requirement
91
- none: false
92
103
  requirements:
93
- - - ! '>='
104
+ - - ">="
94
105
  - !ruby/object:Gem::Version
95
106
  version: '0'
96
107
  required_rubygems_version: !ruby/object:Gem::Requirement
97
- none: false
98
108
  requirements:
99
- - - ! '>='
109
+ - - ">="
100
110
  - !ruby/object:Gem::Version
101
111
  version: '0'
102
112
  requirements: []
103
113
  rubyforge_project:
104
- rubygems_version: 1.8.25
114
+ rubygems_version: 2.2.2
105
115
  signing_key:
106
- specification_version: 3
116
+ specification_version: 4
107
117
  summary: Checks your .travis.yml for possible issues, deprecations and so on
108
118
  test_files:
119
+ - spec/files/contains_exploit.yml
120
+ - spec/files/invalid_language_key.yml
109
121
  - spec/files/no_language_key.yml
110
122
  - spec/files/no_rvm_key.yml
111
123
  - spec/files/uses_jruby_instead_of_jruby_in_specific_mode.yml