travis-lint 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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