heroku_hatchet 8.0.2 → 8.0.4
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/CODEOWNERS +1 -0
- data/.github/workflows/ci.yml +1 -1
- data/CHANGELOG.md +8 -0
- data/etc/ci_setup.rb +1 -1
- data/lib/hatchet/reaper.rb +3 -11
- data/lib/hatchet/version.rb +1 -1
- data/spec/hatchet/app_spec.rb +0 -13
- data/spec/hatchet/ci_spec.rb +2 -45
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e8d54466a86a51ed1f418e8786e18aa62c97439dbdc1836f74e3455ea1e0542f
|
4
|
+
data.tar.gz: 938be3cf7fe5b3c985c430350cca348c3390b80d3eb19544f2249b7c9b2cdc9a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5117cc22b180827b704ddb83dfb16a160706a8f27132ab85660066785574c0bb20d1fcffbffc83acbad1ee01f646bb200832b547d29fa8b0c7aa148be15809e9
|
7
|
+
data.tar.gz: c25a47e3778c54ab8f17a79b97e6567ae577e0ec1e09a1eabef72606047bd2e1e14a11354987401a9d270e74609437a6e01b26c9be7625bf521c471c0c75b294
|
data/.github/CODEOWNERS
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
* @heroku/languages
|
data/.github/workflows/ci.yml
CHANGED
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
data/lib/hatchet/reaper.rb
CHANGED
@@ -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
|
-
|
190
|
+
rescue Excon::Error::NotFound, Excon::Error::Forbidden => e
|
191
|
+
status = e.response.status
|
192
192
|
request_id = e.response.headers["Request-Id"]
|
193
|
-
|
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
|
data/lib/hatchet/version.rb
CHANGED
data/spec/hatchet/app_spec.rb
CHANGED
@@ -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
|
data/spec/hatchet/ci_spec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
describe "
|
4
|
-
it "
|
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.
|
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:
|
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.
|
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.
|