heroku_hatchet 1.3.7 → 1.4.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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -2
  3. data/CHANGELOG.md +5 -0
  4. data/hatchet.gemspec +2 -0
  5. data/hatchet.json +2 -1
  6. data/lib/hatchet.rb +1 -1
  7. data/lib/hatchet/app.rb +4 -3
  8. data/lib/hatchet/version.rb +1 -1
  9. data/test/hatchet/allow_failure_anvil_test.rb +0 -29
  10. data/test/hatchet/anvil_test.rb +0 -16
  11. data/test/hatchet/app_test.rb +9 -0
  12. data/test/hatchet/config_test.rb +9 -6
  13. data/test/hatchet/edit_repo_test.rb +3 -3
  14. data/test/hatchet/heroku_api_test.rb +7 -2
  15. data/test/hatchet/multi_cmd_runner_test.rb +2 -6
  16. data/test/hatchet/runner_test.rb +2 -2
  17. metadata +33 -65
  18. data/test/fixtures/buildpacks/heroku-buildpack-ruby/.gitignore +0 -4
  19. data/test/fixtures/buildpacks/heroku-buildpack-ruby/CHANGELOG.md +0 -378
  20. data/test/fixtures/buildpacks/heroku-buildpack-ruby/Gemfile +0 -10
  21. data/test/fixtures/buildpacks/heroku-buildpack-ruby/LICENSE +0 -9
  22. data/test/fixtures/buildpacks/heroku-buildpack-ruby/README.md +0 -192
  23. data/test/fixtures/buildpacks/heroku-buildpack-ruby/Rakefile +0 -358
  24. data/test/fixtures/buildpacks/heroku-buildpack-ruby/bin/compile +0 -13
  25. data/test/fixtures/buildpacks/heroku-buildpack-ruby/bin/detect +0 -12
  26. data/test/fixtures/buildpacks/heroku-buildpack-ruby/bin/release +0 -9
  27. data/test/fixtures/buildpacks/heroku-buildpack-ruby/hatchet.json +0 -25
  28. data/test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack.rb +0 -27
  29. data/test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/base.rb +0 -175
  30. data/test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/bundler_lockfile.rb +0 -19
  31. data/test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/disable_deploys.rb +0 -17
  32. data/test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/no_lockfile.rb +0 -16
  33. data/test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/rack.rb +0 -43
  34. data/test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/rails2.rb +0 -91
  35. data/test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/rails3.rb +0 -86
  36. data/test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/rails4.rb +0 -66
  37. data/test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/ruby.rb +0 -681
  38. data/test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/shell_helpers.rb +0 -62
  39. data/test/fixtures/buildpacks/heroku-buildpack-ruby/spec/bugs_spec.rb +0 -11
  40. data/test/fixtures/buildpacks/heroku-buildpack-ruby/spec/no_lockfile_spec.rb +0 -10
  41. data/test/fixtures/buildpacks/heroku-buildpack-ruby/spec/rails23_spec.rb +0 -11
  42. data/test/fixtures/buildpacks/heroku-buildpack-ruby/spec/rails3_spec.rb +0 -22
  43. data/test/fixtures/buildpacks/heroku-buildpack-ruby/spec/rails4_spec.rb +0 -12
  44. data/test/fixtures/buildpacks/heroku-buildpack-ruby/spec/rubies_spec.rb +0 -38
  45. data/test/fixtures/buildpacks/heroku-buildpack-ruby/spec/spec_helper.rb +0 -35
  46. data/test/fixtures/buildpacks/heroku-buildpack-ruby/support/s3/hmac +0 -79
  47. data/test/fixtures/buildpacks/heroku-buildpack-ruby/support/s3/s3 +0 -223
  48. data/test/fixtures/buildpacks/heroku-buildpack-ruby/vendor/syck_hack.rb +0 -64
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c74757094475d36e22da978d34262c77a17782ba
4
- data.tar.gz: ed32e6db14808f5902877e150f80825a1ac3f228
3
+ metadata.gz: 85641de59bccc166a11c79ae67676af865b3be63
4
+ data.tar.gz: 1d72d1da0c070b24cea2025a77e31365c61a52fa
5
5
  SHA512:
6
- metadata.gz: 71523ba20d417cbb299d2593a57dd64267cd5b147bc3c572bdf5485094756aef6a074fb37248863422982d33d9e34ba1176c3cf66493f3eb51c5286fb3d879b8
7
- data.tar.gz: deb75b66c51d9279f0b9e71c8ff395967379d02e69efe06196e01215831908ada536992068dbe3aaf5f0af29f1295e517fb002cf675ef5e61417a08c572105db
6
+ metadata.gz: 815178819199dc926155789f1495b89042c7e4ff42493780f9f664401a8691cc8fdb53e65755daa74c7ed7d60fe88cf8717598b584565cd0f4d933c833102a9a
7
+ data.tar.gz: ecbdce8901244371372846eb96435082c41f70d6d3fce9b2565516bd2d32a3675d2435a9ebde28bb50bd20b99c5f53ace8c2cfad08ba1561ea6bdef86cf0a42f
@@ -6,6 +6,7 @@ script: bundle exec parallel_test test/hatchet -n 9
6
6
  after_script: bundle exec rake hatchet:teardown_travis
7
7
  env:
8
8
  global:
9
- - HATCHET_RETRIES=3
10
9
  - HATCHET_BUILDPACK_BRANCH=master
11
- - secure: QP6PJWH/0loXYyeecwpg47ydV3cWFM/7+kQ3qnB37YB8d1VeADbi5+38Lv3PUVayKT52j1CELRfVPSjexlvGElqk4tvZm/wjN2utvUp6U2WuKuP2UloHXBtK/7DsFe2ZEdG8UWmFx+bEUElwpOY2pVcWZOc83rXWI/G1mJNvbK0=
10
+ - HATCHET_RETRIES=3
11
+ - HATCHET_APP_LIMIT=80
12
+ - secure: IuwT8MLmcdWIZvuD+XgHE9jh/49NcZ5Q6Wh7M2ROIQPsNjQ9jPHFpTTdL6p0/63eq948WUKrrPqDFRm/jh/JKyJPmQfDgWq4ScoPdurhgLlGg1CH81gi22t9VwO5QeoYLufMyueqazGbQCAl+xsa+hsKcs6nb836yDHsmBud6z0=
@@ -1,5 +1,10 @@
1
1
  ## HEAD
2
2
 
3
+ ## 1.4.0
4
+
5
+ - The App#setup! method now automatically tries to reap unused apps if the request fails.
6
+ - Default app deploy type is now :git
7
+
3
8
  ## 1.3.7
4
9
 
5
10
  - Return self from setup!
@@ -28,9 +28,11 @@ Gem::Specification.new do |gem|
28
28
  gem.add_dependency "threaded", "~> 0"
29
29
 
30
30
 
31
+ gem.add_development_dependency "test-unit", "~> 3.0"
31
32
  gem.add_development_dependency "minitest", "~> 4.0"
32
33
  gem.add_development_dependency "rake", "~> 10"
33
34
  gem.add_development_dependency "mocha", "~> 1"
34
35
  gem.add_development_dependency "parallel_tests", "~> 0"
36
+ gem.add_development_dependency "travis", "~> 1"
35
37
  end
36
38
 
@@ -2,5 +2,6 @@
2
2
  "hatchet": {"directory": "test/fixtures"},
3
3
  "rails3": ["sharpstone/rails3_mri_193"],
4
4
  "rails2": ["sharpstone/rails2blog"],
5
- "bundler": ["sharpstone/no_lockfile"]
5
+ "bundler": ["sharpstone/no_lockfile"],
6
+ "default": ["sharpstone/default_ruby"]
6
7
  }
@@ -24,7 +24,7 @@ module Hatchet
24
24
  end
25
25
 
26
26
  def self.set_deploy_strategy!
27
- deploy_strat = (ENV['HATCHET_DEPLOY_STRATEGY'] || :anvil).to_sym
27
+ deploy_strat = (ENV['HATCHET_DEPLOY_STRATEGY'] || :git).to_sym
28
28
  case Hatchet::const_set("DEPLOY_STRATEGY", deploy_strat)
29
29
  when :anvil
30
30
  Hatchet.const_set("Runner", Hatchet::AnvilApp)
@@ -1,6 +1,6 @@
1
1
  module Hatchet
2
2
  class App
3
- attr_reader :name, :directory, :repo_name
3
+ attr_reader :name, :stack, :directory, :repo_name
4
4
 
5
5
  class FailedDeploy < StandardError
6
6
  def initialize(app, output)
@@ -16,6 +16,7 @@ module Hatchet
16
16
  @repo_name = repo_name
17
17
  @directory = config.path_for_name(@repo_name)
18
18
  @name = options[:name] || "hatchet-t-#{SecureRandom.hex(10)}"
19
+ @stack = options[:stack]
19
20
  @debug = options[:debug] || options[:debugging]
20
21
  @allow_failure = options[:allow_failure] || false
21
22
  @labs = ([] << options[:labs]).flatten.compact
@@ -99,7 +100,7 @@ module Hatchet
99
100
  def create_app
100
101
  3.times.retry do
101
102
  begin
102
- heroku.post_app(name: name)
103
+ heroku.post_app({ name: name, stack: stack }.delete_if {|k,v| v.nil? })
103
104
  rescue Heroku::API::Errors::RequestFailed => e
104
105
  @reaper.cycle if e.message.match(/app limit/)
105
106
  raise e
@@ -111,7 +112,7 @@ module Hatchet
111
112
  def setup!
112
113
  return self if @app_is_setup
113
114
  puts "Hatchet setup: #{name.inspect} for #{repo_name.inspect}"
114
- heroku.post_app(name: name)
115
+ create_app
115
116
  set_labs!
116
117
  @app_is_setup = true
117
118
  self
@@ -1,3 +1,3 @@
1
1
  module Hatchet
2
- VERSION = "1.3.7"
2
+ VERSION = "1.4.0"
3
3
  end
@@ -1,33 +1,4 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class AllowFailureAnvilTest < Test::Unit::TestCase
4
-
5
- def setup
6
- @buildpack_path = File.expand_path 'test/fixtures/buildpacks/heroku-buildpack-ruby'
7
- end
8
-
9
- def test_allowed_failure
10
- Hatchet::AnvilApp.new("no_lockfile", buildpack: @buildpack_path, allow_failure: true).deploy do |app, heroku, output|
11
- refute app.deployed?
12
- assert_match "Gemfile.lock required", output
13
- end
14
- end
15
-
16
- def test_failure_with_no_flag
17
- assert_raise(Anvil::Builder::BuildError) do
18
- Hatchet::AnvilApp.new("no_lockfile", buildpack: @buildpack_path).deploy
19
- end
20
- end
21
-
22
- def test_retries
23
- orig_retries = Hatchet::RETRIES
24
- Hatchet.const_set(:RETRIES, 2)
25
- assert_raise(Anvil::Builder::BuildError) do
26
- app = Hatchet::AnvilApp.new("no_lockfile", buildpack: @buildpack_path)
27
- app.expects(:push_without_retry!).twice.raises(Anvil::Builder::BuildError)
28
- app.deploy
29
- end
30
- ensure
31
- Hatchet.const_set(:RETRIES, orig_retries)
32
- end
33
4
  end
@@ -4,20 +4,4 @@ class AnvilTest < Test::Unit::TestCase
4
4
  def setup
5
5
  @buildpack_path = File.expand_path 'test/fixtures/buildpacks/heroku-buildpack-ruby'
6
6
  end
7
-
8
- def test_deploy
9
- Hatchet::AnvilApp.new("rails3_mri_193", buildpack: @buildpack_path).deploy do |app, heroku, output|
10
- assert true
11
-
12
- assert_match '1.9.3', app.run("ruby -v")
13
- app.run("bash") do |cmd|
14
- cmd.run("cat Gemfile") {|r| assert_match "gem 'pg'", r}
15
- cmd.run("ls public/assets") {|r| assert_match "application.css", r}
16
- end
17
-
18
- app.run(:irb, "rails c") do |cmd|
19
- cmd.run("1+1") {|r| assert_match "2", r }
20
- end
21
- end
22
- end
23
7
  end
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ class AppTest < Test::Unit::TestCase
4
+ def test_create_app_with_stack
5
+ app = Hatchet::App.new("rails3_mri_193", stack: "cedar")
6
+ app.create_app
7
+ assert_equal 'cedar', app.heroku.get_app(app.name).body["stack"]
8
+ end
9
+ end
@@ -11,16 +11,19 @@ class ConfigTest < Test::Unit::TestCase
11
11
  end
12
12
 
13
13
  def test_config_dirs
14
- expected_dirs = { "test/fixtures/repos/rails3/rails3_mri_193" => "git://github.com/sharpstone/rails3_mri_193.git",
15
- "test/fixtures/repos/rails2/rails2blog" => "git://github.com/sharpstone/rails2blog.git",
16
- "test/fixtures/repos/bundler/no_lockfile" => "git://github.com/sharpstone/no_lockfile.git" }
14
+ expected_dirs = {"test/fixtures/repos/bundler/no_lockfile" => "git://github.com/sharpstone/no_lockfile.git",
15
+ "test/fixtures/repos/default/default_ruby" => "git://github.com/sharpstone/default_ruby.git",
16
+ "test/fixtures/repos/default/default_ruby" => "git://github.com/sharpstone/default_ruby.git",
17
+ "test/fixtures/repos/rails2/rails2blog" => "git://github.com/sharpstone/rails2blog.git",
18
+ "test/fixtures/repos/rails3/rails3_mri_193" => "git://github.com/sharpstone/rails3_mri_193.git"}
17
19
  assert_equal expected_dirs, @config.dirs
18
20
  end
19
21
 
20
22
  def test_config_repos
21
- expected_repos = { "rails3_mri_193" => "test/fixtures/repos/rails3/rails3_mri_193",
22
- "rails2blog" => "test/fixtures/repos/rails2/rails2blog",
23
- "no_lockfile" => "test/fixtures/repos/bundler/no_lockfile"}
23
+ expected_repos = {"default_ruby" => "test/fixtures/repos/default/default_ruby",
24
+ "no_lockfile" => "test/fixtures/repos/bundler/no_lockfile",
25
+ "rails2blog" => "test/fixtures/repos/rails2/rails2blog",
26
+ "rails3_mri_193" => "test/fixtures/repos/rails3/rails3_mri_193"}
24
27
  assert_equal expected_repos, @config.repos
25
28
  end
26
29
 
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
 
3
3
  class EditRepoTest < Test::Unit::TestCase
4
4
  def test_can_deploy_git_app
5
- Hatchet::GitApp.new("rails3_mri_193").in_directory do |app|
5
+ Hatchet::GitApp.new("default_ruby").in_directory do |app|
6
6
  msg = `touch foo`
7
7
  assert $?.success?, msg
8
8
 
@@ -12,8 +12,8 @@ class EditRepoTest < Test::Unit::TestCase
12
12
  assert_match "foo", `ls`
13
13
  end
14
14
 
15
- Hatchet::GitApp.new("rails3_mri_193").in_directory do |app|
16
- refute_match "foo", `ls`
15
+ Hatchet::GitApp.new("default_ruby").in_directory do |app|
16
+ refute_match /foo/, `ls`
17
17
  end
18
18
  end
19
19
  end
@@ -5,10 +5,15 @@ class HerokuApiTest < Test::Unit::TestCase
5
5
  def test_config_vars
6
6
  runner = Hatchet::Runner.new("no_lockfile").setup!
7
7
  expected = {}
8
- assert_equal expected, runner.get_config
8
+ actual = runner.get_config
9
+ actual.delete("BUILDPACK_URL")
10
+ assert_equal expected, actual
11
+
9
12
  runner.set_config("foo" => "bar")
10
13
  expected = {"foo" => "bar"}
11
- assert_equal expected, runner.get_config
14
+ actual = runner.get_config
15
+ actual.delete("BUILDPACK_URL")
16
+ assert_equal expected, actual
12
17
  ensure
13
18
  runner.teardown! if runner
14
19
  end
@@ -1,14 +1,10 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class MultiCmdRunnerTest < Test::Unit::TestCase
4
- def setup
5
- @buildpack_path = File.expand_path 'test/fixtures/buildpacks/heroku-buildpack-ruby'
6
- end
7
-
8
4
  # slow but needed, there are ghosts in the machine
9
5
  # by running common command multiple times we can find them
10
6
  def test_multi_repl_commands
11
- Hatchet::AnvilApp.new("rails3_mri_193", buildpack: @buildpack_path).deploy do |app|
7
+ Hatchet::GitApp.new("default_ruby").deploy do |app|
12
8
  app.add_database
13
9
 
14
10
  assert_raise ReplRunner::UnregisteredCommand do
@@ -18,7 +14,7 @@ class MultiCmdRunnerTest < Test::Unit::TestCase
18
14
  end
19
15
 
20
16
  rand(3..7).times do
21
- app.run("rails console") do |console|
17
+ app.run("irb") do |console|
22
18
  console.run("`ls`")
23
19
  console.run("'foo' * 5") {|r| assert_match "foofoofoofoofoo", r }
24
20
  console.run("'hello ' + 'world'") {|r| assert_match "hello world", r }
@@ -13,8 +13,8 @@ class HatchetRunnerTest < Test::Unit::TestCase
13
13
 
14
14
  def test_defaults
15
15
  assert_equal nil, ENV['HATCHET_DEPLOY_STRATEGY']
16
- assert_equal :anvil, Hatchet::DEPLOY_STRATEGY
17
- assert_equal Hatchet::AnvilApp, Hatchet::Runner
16
+ assert_equal :git, Hatchet::DEPLOY_STRATEGY
17
+ assert_equal Hatchet::GitApp, Hatchet::Runner
18
18
  end
19
19
 
20
20
  def test_change_deploy_strat
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heroku_hatchet
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.7
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Schneeman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-05 00:00:00.000000000 Z
11
+ date: 2015-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: heroku-api
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: test-unit
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '3.0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '3.0'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: minitest
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -178,6 +192,20 @@ dependencies:
178
192
  - - "~>"
179
193
  - !ruby/object:Gem::Version
180
194
  version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: travis
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '1'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '1'
181
209
  description: Hatchet is a an integration testing library for developing Heroku buildpacks.
182
210
  email:
183
211
  - richard.schneeman+rubygems@gmail.com
@@ -204,37 +232,6 @@ files:
204
232
  - lib/hatchet/reaper.rb
205
233
  - lib/hatchet/tasks.rb
206
234
  - lib/hatchet/version.rb
207
- - test/fixtures/buildpacks/heroku-buildpack-ruby/.gitignore
208
- - test/fixtures/buildpacks/heroku-buildpack-ruby/CHANGELOG.md
209
- - test/fixtures/buildpacks/heroku-buildpack-ruby/Gemfile
210
- - test/fixtures/buildpacks/heroku-buildpack-ruby/LICENSE
211
- - test/fixtures/buildpacks/heroku-buildpack-ruby/README.md
212
- - test/fixtures/buildpacks/heroku-buildpack-ruby/Rakefile
213
- - test/fixtures/buildpacks/heroku-buildpack-ruby/bin/compile
214
- - test/fixtures/buildpacks/heroku-buildpack-ruby/bin/detect
215
- - test/fixtures/buildpacks/heroku-buildpack-ruby/bin/release
216
- - test/fixtures/buildpacks/heroku-buildpack-ruby/hatchet.json
217
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack.rb
218
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/base.rb
219
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/bundler_lockfile.rb
220
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/disable_deploys.rb
221
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/no_lockfile.rb
222
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/rack.rb
223
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/rails2.rb
224
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/rails3.rb
225
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/rails4.rb
226
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/ruby.rb
227
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/shell_helpers.rb
228
- - test/fixtures/buildpacks/heroku-buildpack-ruby/spec/bugs_spec.rb
229
- - test/fixtures/buildpacks/heroku-buildpack-ruby/spec/no_lockfile_spec.rb
230
- - test/fixtures/buildpacks/heroku-buildpack-ruby/spec/rails23_spec.rb
231
- - test/fixtures/buildpacks/heroku-buildpack-ruby/spec/rails3_spec.rb
232
- - test/fixtures/buildpacks/heroku-buildpack-ruby/spec/rails4_spec.rb
233
- - test/fixtures/buildpacks/heroku-buildpack-ruby/spec/rubies_spec.rb
234
- - test/fixtures/buildpacks/heroku-buildpack-ruby/spec/spec_helper.rb
235
- - test/fixtures/buildpacks/heroku-buildpack-ruby/support/s3/hmac
236
- - test/fixtures/buildpacks/heroku-buildpack-ruby/support/s3/s3
237
- - test/fixtures/buildpacks/heroku-buildpack-ruby/vendor/syck_hack.rb
238
235
  - test/fixtures/buildpacks/null-buildpack/bin/compile
239
236
  - test/fixtures/buildpacks/null-buildpack/bin/detect
240
237
  - test/fixtures/buildpacks/null-buildpack/bin/release
@@ -243,6 +240,7 @@ files:
243
240
  - test/hatchet/allow_failure_anvil_test.rb
244
241
  - test/hatchet/allow_failure_git_test.rb
245
242
  - test/hatchet/anvil_test.rb
243
+ - test/hatchet/app_test.rb
246
244
  - test/hatchet/config_test.rb
247
245
  - test/hatchet/edit_repo_test.rb
248
246
  - test/hatchet/git_test.rb
@@ -272,42 +270,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
272
270
  version: '0'
273
271
  requirements: []
274
272
  rubyforge_project:
275
- rubygems_version: 2.2.2
273
+ rubygems_version: 2.4.1
276
274
  signing_key:
277
275
  specification_version: 4
278
276
  summary: Hatchet is a an integration testing library for developing Heroku buildpacks.
279
277
  test_files:
280
- - test/fixtures/buildpacks/heroku-buildpack-ruby/.gitignore
281
- - test/fixtures/buildpacks/heroku-buildpack-ruby/CHANGELOG.md
282
- - test/fixtures/buildpacks/heroku-buildpack-ruby/Gemfile
283
- - test/fixtures/buildpacks/heroku-buildpack-ruby/LICENSE
284
- - test/fixtures/buildpacks/heroku-buildpack-ruby/README.md
285
- - test/fixtures/buildpacks/heroku-buildpack-ruby/Rakefile
286
- - test/fixtures/buildpacks/heroku-buildpack-ruby/bin/compile
287
- - test/fixtures/buildpacks/heroku-buildpack-ruby/bin/detect
288
- - test/fixtures/buildpacks/heroku-buildpack-ruby/bin/release
289
- - test/fixtures/buildpacks/heroku-buildpack-ruby/hatchet.json
290
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack.rb
291
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/base.rb
292
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/bundler_lockfile.rb
293
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/disable_deploys.rb
294
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/no_lockfile.rb
295
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/rack.rb
296
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/rails2.rb
297
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/rails3.rb
298
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/rails4.rb
299
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/ruby.rb
300
- - test/fixtures/buildpacks/heroku-buildpack-ruby/lib/language_pack/shell_helpers.rb
301
- - test/fixtures/buildpacks/heroku-buildpack-ruby/spec/bugs_spec.rb
302
- - test/fixtures/buildpacks/heroku-buildpack-ruby/spec/no_lockfile_spec.rb
303
- - test/fixtures/buildpacks/heroku-buildpack-ruby/spec/rails23_spec.rb
304
- - test/fixtures/buildpacks/heroku-buildpack-ruby/spec/rails3_spec.rb
305
- - test/fixtures/buildpacks/heroku-buildpack-ruby/spec/rails4_spec.rb
306
- - test/fixtures/buildpacks/heroku-buildpack-ruby/spec/rubies_spec.rb
307
- - test/fixtures/buildpacks/heroku-buildpack-ruby/spec/spec_helper.rb
308
- - test/fixtures/buildpacks/heroku-buildpack-ruby/support/s3/hmac
309
- - test/fixtures/buildpacks/heroku-buildpack-ruby/support/s3/s3
310
- - test/fixtures/buildpacks/heroku-buildpack-ruby/vendor/syck_hack.rb
311
278
  - test/fixtures/buildpacks/null-buildpack/bin/compile
312
279
  - test/fixtures/buildpacks/null-buildpack/bin/detect
313
280
  - test/fixtures/buildpacks/null-buildpack/bin/release
@@ -316,6 +283,7 @@ test_files:
316
283
  - test/hatchet/allow_failure_anvil_test.rb
317
284
  - test/hatchet/allow_failure_git_test.rb
318
285
  - test/hatchet/anvil_test.rb
286
+ - test/hatchet/app_test.rb
319
287
  - test/hatchet/config_test.rb
320
288
  - test/hatchet/edit_repo_test.rb
321
289
  - test/hatchet/git_test.rb
@@ -1,4 +0,0 @@
1
- repos/*
2
- .DS_Store
3
- vendor/bundler/*
4
- vendor/bundle/*
@@ -1,378 +0,0 @@
1
- ## v61 (4/18/2013)
2
-
3
- Features:
4
-
5
- * Start caching the rubygems version used.
6
-
7
- Bugfixes:
8
-
9
- * Rebuild bundler cache if rubygems 2 is detected. Bugfixes in later rubygems.
10
-
11
- ## v60 (4/17/2013)
12
-
13
- Security:
14
-
15
- * Disable Java RMI Remote Classloading for CVE-2013-1537, <https://bugzilla.redhat.com/show_bug.cgi?id=952387>
16
-
17
- ## v59 (4/4/2013)
18
-
19
- Bugfixes:
20
-
21
- * Change JVM S3 bucket
22
-
23
- ## v58 (3/19/2013)
24
-
25
- Bugfixes:
26
-
27
- * Fix ruby 1.8.7 not being able to compile native extensions
28
-
29
- ## v57 (3/18/2013)
30
-
31
- Bugfixes:
32
-
33
- * Fix git gemspec bug in bundler
34
-
35
- ## v56 (3/11/2013)
36
-
37
- Bugfixes:
38
-
39
- * Upgrade bundler to 1.3.2 to fix --dry-clean/Would have removed bug in bundle clean, part 2.
40
-
41
- ## v55 (3/7/2013)
42
-
43
- Bugfixes:
44
-
45
- * Revert back to Bundler 1.3.0.pre.5, see https://gist.github.com/mattonrails/e063caf86962995e7ba0
46
-
47
- ## v54 (3/7/2013)
48
-
49
- Bugfixes:
50
-
51
- * Upgrade bundler to 1.3.2 to fix --dry-clean/Would have removed bug in bundle clean
52
-
53
- ## v53 (3/6/2013)
54
-
55
- Bugfixes:
56
-
57
- * bin/detect for Rails 3 and 4 will use railties for detection vs the rails gem
58
- * bin/detect does not error out when Gemfile + Gemfile.lock are missing
59
-
60
- ## v52 (2/25/2013)
61
-
62
- Bugfixes:
63
-
64
- * Revert back to 1.3.0.pre.5 due to bundler warnings
65
-
66
- ## v51 (2/25/2013)
67
-
68
- Features:
69
-
70
- * Initial Rails 4 beta support
71
- * Upgrade bundler to 1.3.0
72
-
73
- Bugfixes:
74
-
75
- * Better buildpack detection through Gemfile.lock gems
76
-
77
- ## v50 (1/31/2013)
78
-
79
- Features:
80
-
81
- * Restore ruby deploys back to normal
82
-
83
- ## v49 (1/30/2013)
84
-
85
- Features:
86
-
87
- * Re-enable ruby deploys for apps just using the heroku cache
88
- * Display ruby version change when busting the cache
89
-
90
- ## v48 (1/30/2013)
91
-
92
- Features:
93
-
94
- * Update deploy error message copy to link to status incident.
95
-
96
- ## v47 (1/30/2013)
97
-
98
- Features:
99
-
100
- * Disable ruby deploys due to rubygems.org compromise
101
-
102
- ## v46 (1/10/2013)
103
-
104
- Features:
105
-
106
- * Upgrade Bundler to 1.3.0.pre.5
107
- * bundler binstubs now go in vendor/bundle/bin
108
-
109
- ## v45 (12/14/2012)
110
-
111
- Features:
112
-
113
- * Stop setting env vars in bin/release now that login-shell is released
114
- * Enable Invoke Dynamic on JRuby by default
115
- * GEM_PATH is now updated on each push
116
-
117
- ## v44 (12/14/2012)
118
-
119
- Faulty Release
120
-
121
- ## v43 (12/13/2012)
122
-
123
- Features:
124
-
125
- * Upgrade Bundler to 1.3.0.pre.2
126
-
127
- ## v42 (11/26/2012)
128
-
129
- Features:
130
-
131
- * Upgrade Bundler to 1.2.2 to fix Ruby 2.0.0/YAML issues
132
-
133
- ## v41 (11/1/2012)
134
-
135
- Features:
136
-
137
- * Enable ruby 2.0.0 support for testing
138
-
139
- ## v40 (10/14/2012)
140
-
141
- Features:
142
-
143
- * Cache version of the buildpack we used to deploy
144
- * Purge cache when v38 is detected
145
-
146
- ## v39 (10/14/2012)
147
-
148
- Bugfixes:
149
-
150
- * Don't display cache clearing message for new apps
151
- * Actually clear bundler cache on ruby version change
152
-
153
- ## v38 (10/14/2012)
154
-
155
- Bugfixes:
156
-
157
- * Stop bundle cache from continually growing
158
-
159
- ## v37 (10/12/2012)
160
-
161
- Bugfixes:
162
-
163
- * Remove temporary workaround from v36.
164
- * Clear bundler cache upon Ruby version change
165
-
166
- ## v36 (10/12/2012)
167
-
168
- Bugfixes:
169
-
170
- * Always clear the cache for ruby 1.9.3 as a temporary workaround due to the security upgrade
171
-
172
- ## v35 (9/19/2012)
173
-
174
- Features:
175
-
176
- * Upgrade to Bundler 1.2.1
177
- * Display bundle clean output
178
- * More resilent to rubygems.org API outages
179
-
180
- Bugfixes:
181
-
182
- * `bundle clean` works again
183
-
184
- ## v34 (8/30/2012)
185
-
186
- Features:
187
-
188
- * Upgrade to Bundler 1.2.0
189
-
190
- ## v33 (8/9/2012)
191
-
192
- Features:
193
-
194
- * Upgrade to Bundler 1.2.0.rc.2
195
- * vendor JDK7 for JRuby, but disable invoke dynamic
196
-
197
- ## v29 (7/19/2012)
198
-
199
- Features:
200
-
201
- * support .profile.d/ruby.sh
202
- * sync stdout so that the buildpack streams even in non-interactive shells
203
- * Upgrade to Bundler 1.2.0.rc
204
-
205
- ## v28 (7/16/2012)
206
-
207
- Features:
208
-
209
- * Vendor OpenJDK6 into slug when using JRuby
210
- * ruby version support for ruby 1.8.7 via bundler's ruby DSL
211
-
212
- Bugfixes:
213
-
214
- * sqlite3 error gets displayed again
215
-
216
- ## v27 (6/14/2012)
217
-
218
- Bugfixes:
219
-
220
- * Remove `vendor/bundle` message only appears when dir actually exists
221
-
222
- ## v26 (6/14/2012)
223
-
224
- Features:
225
-
226
- * print message when assets:precompile finishes successfully
227
- * Remove `vendor/bundle` if user commits it to their git repo.
228
-
229
- ## v25 (6/12/2012)
230
-
231
- Features:
232
-
233
- * support "ruby-xxx-jruby-yyy" for jruby detection packages
234
-
235
- ## v24 (6/7/2012)
236
-
237
- Features:
238
-
239
- * removes bundler cache in the slug, to minimize slug size (@stevenh512, #16)
240
- * optimize push time with caching
241
-
242
- ## v23 (5/8/2012)
243
-
244
- Bugfixes:
245
-
246
- * fix ruby version bug with "fatal:-Not-a-git-repository"
247
-
248
- ## v22 (5/7/2012)
249
-
250
- Features:
251
-
252
- * bundler 1.2.0.pre
253
- * ruby version support for ruby 1.9.2/1.9.3 via bundler's ruby DSL
254
-
255
- Deprecation:
256
-
257
- * ENV['RUBY_VERSION'] in favor of bundler's ruby DSL
258
-
259
- ## v21 (3/21/2012)
260
-
261
- Features:
262
-
263
- * bundler 1.1.2
264
-
265
- ## v20 (3/12/2012)
266
-
267
- Features:
268
-
269
- * bundler 1.1.0 \o/
270
-
271
- ## v19 (1/25/2012)
272
-
273
- Bugfixes:
274
-
275
- * fix native extension building for rbx 2.0.0dev
276
-
277
- ## v18 (1/18/2012)
278
-
279
- Features:
280
-
281
- * JRuby support
282
- * rbx 2.0.0dev support
283
-
284
- Bugfixes:
285
-
286
- * force db password to be a string in the yaml file
287
-
288
- ## v17 (12/29/2011)
289
-
290
- Features:
291
-
292
- * bundler 1.1.rc.7
293
-
294
- ## v16 (12/29/2011)
295
-
296
- Features:
297
-
298
- * pass DATABASE_URL to rails 3.1 assets:precompile rake task detection
299
-
300
- ## v15 (12/27/2011)
301
-
302
- Features:
303
-
304
- * bundler 1.1.rc.6
305
-
306
- ## v14 (12/22/2011)
307
-
308
- Bugfixes:
309
-
310
- * stop freedom patching syck in ruby 1.9.3+
311
-
312
- ## v13 (12/15/2011)
313
-
314
- Features:
315
-
316
- * bundler 1.1.rc.5
317
-
318
- ## v12 (12/13/2011)
319
-
320
- Bugfixes:
321
-
322
- * syck workaround for yaml/psych issues
323
-
324
- ## v11 (12/12/2011)
325
-
326
- Features:
327
-
328
- * bundler 1.1.rc.3
329
-
330
- ## v10 (11/23/2011)
331
-
332
- Features:
333
-
334
- * bundler binstubs
335
- * dynamic slug_vendor_base detection
336
-
337
- Bugfixes:
338
-
339
- * don't show sqlite3 error if it's in a bundle without group on failed bundle install
340
-
341
- ## v9 (11/14/2011)
342
-
343
- Features:
344
-
345
- * rbx 1.2.4 support
346
- * print out RUBY_VERSION being used
347
-
348
- Bugfixes:
349
-
350
- * don't leave behind ruby_versions.yml
351
-
352
- ## v8 (11/8/2011)
353
-
354
- Features:
355
-
356
- * use vm as part of RUBY_VERSION
357
-
358
- ## v7 (11/8/2011)
359
-
360
- Features:
361
-
362
- * ruby 1.9.3 support
363
- * specify ruby versions using RUBY_VERSION build var
364
-
365
- Bugfixes:
366
-
367
- * move "bin/" to the front of the PATH, so apps can override existing bins
368
-
369
- ## v6 (11/2/2011)
370
-
371
- Features:
372
-
373
- * add sqlite3 warning when detected on bundle install error
374
-
375
- Bugfixes:
376
-
377
- * Change gem detection to use lockfile parser
378
- * use `$RACK_ENV` when thin is detected for rack apps