heroku_hatchet 8.0.2 → 8.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c72d006f643f893a0347e7c7ce5fae2e128d4a94fea501d957afb6738cc9374f
4
- data.tar.gz: a507cd401042cf6e245b63824b9cbb30b79aa56541bc604f2c92b54d23413cbd
3
+ metadata.gz: e8d54466a86a51ed1f418e8786e18aa62c97439dbdc1836f74e3455ea1e0542f
4
+ data.tar.gz: 938be3cf7fe5b3c985c430350cca348c3390b80d3eb19544f2249b7c9b2cdc9a
5
5
  SHA512:
6
- metadata.gz: 6ba49829178ac76fe6a62faf32afbef57a828dc4fd390d50887f2b2c50f30a8359ad6f9639ad34b258a2594a885333e8a704b59f93e3bdf80cb87ce897f5a4c1
7
- data.tar.gz: a54f637129f9b57f296f405e374082573b584b3c960bab387723f19f87bf8ee63562022a94ee08aa9e75bf3badffd63fdeec805897b71db30e15b74aaf5384c6
6
+ metadata.gz: 5117cc22b180827b704ddb83dfb16a160706a8f27132ab85660066785574c0bb20d1fcffbffc83acbad1ee01f646bb200832b547d29fa8b0c7aa148be15809e9
7
+ data.tar.gz: c25a47e3778c54ab8f17a79b97e6567ae577e0ec1e09a1eabef72606047bd2e1e14a11354987401a9d270e74609437a6e01b26c9be7625bf521c471c0c75b294
@@ -0,0 +1 @@
1
+ * @heroku/languages
@@ -14,7 +14,7 @@ jobs:
14
14
  strategy:
15
15
  fail-fast: false
16
16
  matrix:
17
- ruby-version: ["2.7", "3.0", "3.1"]
17
+ ruby-version: ["2.7", "3.0", "3.1", "3.2", "3.3"]
18
18
  runs-on: ubuntu-22.04
19
19
  env:
20
20
  HATCHET_APP_LIMIT: 100
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  ## HEAD
2
2
 
3
+ ## 8.0.4
4
+
5
+ - Any 404 when trying to delete an application will be considered duplicate (https://github.com/heroku/hatchet/pull/210)
6
+
7
+ ## 8.0.3
8
+
9
+ - Add support for Ruby 3.2 and 3.3 (https://github.com/heroku/hatchet/pull/203 and https://github.com/heroku/hatchet/pull/208)
10
+
3
11
  ## 8.0.2
4
12
 
5
13
  - Bugfix: Allow nested deploy blocks with new teardown logic (https://github.com/heroku/hatchet/pull/201)
data/etc/ci_setup.rb CHANGED
@@ -12,7 +12,7 @@ end
12
12
  puts "== Setting Up CI =="
13
13
 
14
14
  netrc_file = "#{ENV['HOME']}/.netrc"
15
- unless File.exists?(netrc_file)
15
+ unless File.exist?(netrc_file)
16
16
  File.open(netrc_file, 'w') do |file|
17
17
  file.write <<-EOF
18
18
  machine git.heroku.com
@@ -187,18 +187,10 @@ module Hatchet
187
187
  @api_rate_limit.call.app.delete(id)
188
188
 
189
189
  io.puts message
190
- rescue Excon::Error::NotFound => e
191
- body = e.response.body
190
+ rescue Excon::Error::NotFound, Excon::Error::Forbidden => e
191
+ status = e.response.status
192
192
  request_id = e.response.headers["Request-Id"]
193
- if body =~ /Couldn\'t find that app./
194
- message = "Duplicate destroy attempted #{name.inspect}: #{id}, status: 404, request_id: #{request_id}"
195
- raise AlreadyDeletedError.new(message)
196
- else
197
- raise e
198
- end
199
- rescue Excon::Error::Forbidden => e
200
- request_id = e.response.headers["Request-Id"]
201
- message = "Duplicate destroy attempted #{name.inspect}: #{id}, status: 403, request_id: #{request_id}"
193
+ message = "Possible duplicate destroy attempted #{name.inspect}: #{id}, status: #{status}, request_id: #{request_id}"
202
194
  raise AlreadyDeletedError.new(message)
203
195
  end
204
196
  end
@@ -1,3 +1,3 @@
1
1
  module Hatchet
2
- VERSION = "8.0.2"
2
+ VERSION = "8.0.4"
3
3
  end
@@ -29,19 +29,6 @@ describe "AppTest" do
29
29
  expect(app.platform_api.app.info(app.name)["build_stack"]["name"]).to eq(stack)
30
30
  end
31
31
 
32
- it "create app with HATCHET_DEFAULT_STACK set" do
33
- begin
34
- original_default_stack = ENV["HATCHET_DEFAULT_STACK"]
35
- default_stack = "heroku-18"
36
- ENV["HATCHET_DEFAULT_STACK"] = default_stack
37
- app = Hatchet::App.new("default_ruby")
38
- app.create_app
39
- expect(app.platform_api.app.info(app.name)["build_stack"]["name"]).to eq(default_stack)
40
- ensure
41
- ENV["HATCHET_DEFAULT_STACK"] = original_default_stack
42
- end
43
- end
44
-
45
32
  describe "before deploy" do
46
33
  it "dir" do
47
34
  @called = false
@@ -1,7 +1,7 @@
1
1
  require "spec_helper"
2
2
 
3
- describe "CIFourTest" do
4
- it "error with bad app" do
3
+ describe "CI" do
4
+ it "runs rakefile contents" do
5
5
  string = SecureRandom.hex
6
6
 
7
7
  app = Hatchet::GitApp.new("default_ruby")
@@ -17,47 +17,4 @@ describe "CIFourTest" do
17
17
  expect(test_run.output).to_not match("Installing rake")
18
18
  end
19
19
  end
20
-
21
- it "error with bad app" do
22
- pending("upgrade rails 5 app to newer")
23
-
24
- expect {
25
- Hatchet::GitApp.new("rails5_ci_fails_no_database", stack: "heroku-18").run_ci { }
26
- }.to raise_error(/PG::ConnectionBad: could not connect to server/)
27
- end
28
-
29
- it "error with bad app" do
30
- @before_deploy_called = false
31
- @before_deploy_dir_pwd = nil
32
-
33
- before_deploy = -> do
34
- @before_deploy_called = true
35
- @before_deploy_dir_pwd = Dir.pwd
36
- end
37
-
38
- Hatchet::GitApp.new("rails5_ci_fails_no_database", stack: "heroku-18", allow_failure: true, before_deploy: before_deploy).run_ci do |test_run|
39
- expect(test_run.status).to eq(:errored)
40
- expect(@before_deploy_dir_pwd).to eq(Dir.pwd)
41
- expect(@before_deploy_called).to be_truthy
42
- end
43
-
44
- expect(@before_deploy_dir_pwd).to_not eq(Dir.pwd)
45
- end
46
-
47
- it "ci create app with stack" do
48
- pending("upgrade rails 5 app to newer")
49
-
50
- app = Hatchet::GitApp.new("rails5_ruby_schema_format")
51
- app.run_ci do |test_run|
52
- expect(test_run.output).to match("Ruby buildpack tests completed successfully")
53
- expect(test_run.status).to eq(:succeeded)
54
- expect(app.pipeline_id).to_not be_nil
55
-
56
- api_rate_limit = app.api_rate_limit.call
57
- couplings = api_rate_limit.pipeline_coupling.list_by_pipeline(app.pipeline_id)
58
- coupled_app = api_rate_limit.app.info(couplings.first["app"]["id"])
59
- expect(coupled_app["name"]).to eq(app.name)
60
- end
61
- expect(app.pipeline_id).to be_nil
62
- end
63
20
  end
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: 8.0.2
4
+ version: 8.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Schneeman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-06 00:00:00.000000000 Z
11
+ date: 2024-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: platform-api
@@ -158,6 +158,7 @@ executables:
158
158
  extensions: []
159
159
  extra_rdoc_files: []
160
160
  files:
161
+ - ".github/CODEOWNERS"
161
162
  - ".github/workflows/check_changelog.yml"
162
163
  - ".github/workflows/ci.yml"
163
164
  - ".github/workflows/hatchet_app_cleaner.yml"
@@ -233,7 +234,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
233
234
  - !ruby/object:Gem::Version
234
235
  version: '0'
235
236
  requirements: []
236
- rubygems_version: 3.3.26
237
+ rubygems_version: 3.5.9
237
238
  signing_key:
238
239
  specification_version: 4
239
240
  summary: Hatchet is a an integration testing library for developing Heroku buildpacks.