shipit-engine 0.28.1 → 0.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/concerns/shipit/active_model_serializers_patch.rb +12 -0
- data/app/controllers/shipit/stacks_controller.rb +1 -1
- data/app/jobs/shipit/{mark_deploy_healty_job.rb → mark_deploy_healthy_job.rb} +0 -0
- data/app/jobs/shipit/perform_task_job.rb +3 -1
- data/app/models/shipit/deploy_spec/bundler_discovery.rb +1 -1
- data/app/models/shipit/pull_request.rb +7 -2
- data/app/models/shipit/stack.rb +2 -2
- data/lib/shipit/command.rb +1 -3
- data/lib/shipit/engine.rb +4 -0
- data/lib/shipit/github_app.rb +2 -1
- data/lib/shipit/stack_commands.rb +3 -1
- data/lib/shipit/version.rb +1 -1
- data/lib/tasks/shipit.rake +1 -3
- data/test/controllers/api/outputs_controller_test.rb +1 -1
- data/test/controllers/deploys_controller_test.rb +1 -1
- data/test/controllers/tasks_controller_test.rb +1 -1
- data/test/dummy/config/application.rb +1 -1
- data/test/dummy/db/schema.rb +5 -5
- data/test/dummy/db/seeds.rb +9 -9
- data/test/models/commits_test.rb +1 -1
- data/test/models/hook_test.rb +2 -6
- data/test/models/pull_request_test.rb +13 -7
- data/test/test_helper.rb +1 -1
- data/test/unit/command_test.rb +6 -2
- metadata +24 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 842f0db76bf2cd73d310aebd6b3abed371658c76731c383573e4a061de4e64bd
|
4
|
+
data.tar.gz: 2c640e960809d4a29d441f0bc20f2724d406f60d4f13573aad9f1b7d234b547e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: faaeb16d6eb385ab64d1035c6d1a08e4d6646482bf4e87bdfe1031edb2955e52a0daa73b1dc5757e6b9253d4c51c3538db7aca388eddc8c20f1b683ee5dcfa67
|
7
|
+
data.tar.gz: b31c919542c163a44dd30338acdfe19b61cdd5b3bac87a9b3ed87f57e3d0f0b82602869b681e59b5401d1206f8941b44a4599e4859745a6a1dda772fcd40d2d3
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Shipit
|
2
|
+
module ActiveModelSerializersPatch
|
3
|
+
private
|
4
|
+
|
5
|
+
def namespace_for_serializer
|
6
|
+
# TODO: This is a monkey patch for active_model_serializers 0.9.7.
|
7
|
+
# It's really outdated and newer versions aren't really a suitable replacement.
|
8
|
+
# We should look into simply getting rid of it.
|
9
|
+
@namespace_for_serializer ||= self.class.module_parent unless self.class.module_parent == Object
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -9,7 +9,7 @@ module Shipit
|
|
9
9
|
def index
|
10
10
|
@user_stacks = current_user.stacks_contributed_to
|
11
11
|
|
12
|
-
@stacks = Stack.order('(undeployed_commits_count > 0) desc', tasks_count: :desc).to_a
|
12
|
+
@stacks = Stack.order(Arel.sql('(undeployed_commits_count > 0) desc'), tasks_count: :desc).to_a
|
13
13
|
end
|
14
14
|
|
15
15
|
def show
|
File without changes
|
@@ -63,7 +63,9 @@ module Shipit
|
|
63
63
|
def checkout_repository
|
64
64
|
unless @commands.fetched?(@task.until_commit).tap(&:run).success?
|
65
65
|
@task.acquire_git_cache_lock do
|
66
|
-
|
66
|
+
unless @commands.fetched?(@task.until_commit).tap(&:run).success?
|
67
|
+
capture! @commands.fetch
|
68
|
+
end
|
67
69
|
end
|
68
70
|
end
|
69
71
|
capture_all! @commands.clone
|
@@ -31,7 +31,7 @@ module Shipit
|
|
31
31
|
|
32
32
|
def remove_ruby_version_from_gemfile
|
33
33
|
# Heroku apps often specify a ruby version.
|
34
|
-
if /darwin/
|
34
|
+
if /darwin/i.match?(RUBY_PLATFORM)
|
35
35
|
# OSX is nitpicky about the -i.
|
36
36
|
%q(/usr/bin/sed -i '' '/^ruby\s/d' Gemfile)
|
37
37
|
else
|
@@ -6,7 +6,7 @@ module Shipit
|
|
6
6
|
|
7
7
|
WAITING_STATUSES = %w(fetching pending).freeze
|
8
8
|
QUEUED_STATUSES = %w(pending revalidating).freeze
|
9
|
-
REJECTION_REASONS = %w(ci_failing merge_conflict requires_rebase).freeze
|
9
|
+
REJECTION_REASONS = %w(ci_missing ci_failing merge_conflict requires_rebase).freeze
|
10
10
|
InvalidTransition = Class.new(StandardError)
|
11
11
|
NotReady = Class.new(StandardError)
|
12
12
|
|
@@ -149,6 +149,7 @@ module Shipit
|
|
149
149
|
|
150
150
|
def reject_unless_mergeable!
|
151
151
|
return reject!('merge_conflict') if merge_conflict?
|
152
|
+
return reject!('ci_missing') if any_status_checks_missing?
|
152
153
|
return reject!('ci_failing') if any_status_checks_failed?
|
153
154
|
return reject!('requires_rebase') if stale?
|
154
155
|
false
|
@@ -190,7 +191,11 @@ module Shipit
|
|
190
191
|
|
191
192
|
def any_status_checks_failed?
|
192
193
|
status = StatusChecker.new(head, head.statuses_and_check_runs, stack.cached_deploy_spec)
|
193
|
-
status.failure? || status.error?
|
194
|
+
status.failure? || status.error?
|
195
|
+
end
|
196
|
+
|
197
|
+
def any_status_checks_missing?
|
198
|
+
StatusChecker.new(head, head.statuses_and_check_runs, stack.cached_deploy_spec).missing?
|
194
199
|
end
|
195
200
|
|
196
201
|
def waiting?
|
data/app/models/shipit/stack.rb
CHANGED
@@ -66,7 +66,7 @@ module Shipit
|
|
66
66
|
after_commit :sync_github, on: :create
|
67
67
|
after_commit :schedule_merges_if_necessary, on: :update
|
68
68
|
|
69
|
-
validates :repo_name, uniqueness: {scope: %i(repo_owner environment),
|
69
|
+
validates :repo_name, uniqueness: {scope: %i(repo_owner environment), case_sensitive: false,
|
70
70
|
message: 'cannot be used more than once with this environment'}
|
71
71
|
validates :repo_owner, :repo_name, :environment, presence: true, ascii_only: true
|
72
72
|
validates :repo_owner, format: {with: /\A[a-z0-9_\-\.]+\z/}, length: {maximum: REPO_OWNER_MAX_SIZE}
|
@@ -354,8 +354,8 @@ module Shipit
|
|
354
354
|
|
355
355
|
def clear_git_cache!
|
356
356
|
tmp_path = "#{git_path}-#{SecureRandom.hex}"
|
357
|
+
return unless File.exist?(git_path)
|
357
358
|
acquire_git_cache_lock do
|
358
|
-
return unless File.exist?(git_path)
|
359
359
|
File.rename(git_path, tmp_path)
|
360
360
|
end
|
361
361
|
FileUtils.rm_rf(tmp_path)
|
data/lib/shipit/command.rb
CHANGED
@@ -149,18 +149,16 @@ module Shipit
|
|
149
149
|
def read_stream(io)
|
150
150
|
touch_last_output_at
|
151
151
|
loop do
|
152
|
-
begin
|
153
152
|
yield_control
|
154
153
|
yield io.read_nonblock(MAX_READ)
|
155
154
|
touch_last_output_at
|
156
|
-
|
155
|
+
rescue IO::WaitReadable
|
157
156
|
if output_timed_out?
|
158
157
|
@timed_out = true
|
159
158
|
raise TimedOut
|
160
159
|
end
|
161
160
|
IO.select([io], nil, nil, 1)
|
162
161
|
retry
|
163
|
-
end
|
164
162
|
end
|
165
163
|
rescue EOFError
|
166
164
|
end
|
data/lib/shipit/engine.rb
CHANGED
data/lib/shipit/github_app.rb
CHANGED
@@ -125,7 +125,8 @@ module Shipit
|
|
125
125
|
end
|
126
126
|
|
127
127
|
def new_client(options = {})
|
128
|
-
|
128
|
+
options.reverse_merge(api_endpoint: api_endpoint) if api_endpoint
|
129
|
+
client = Octokit::Client.new(options)
|
129
130
|
client.middleware = faraday_stack
|
130
131
|
client
|
131
132
|
end
|
data/lib/shipit/version.rb
CHANGED
data/lib/tasks/shipit.rake
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
namespace :shipit do
|
2
2
|
desc "Deploy from a running instance. "
|
3
3
|
task deploy: :environment do
|
4
|
-
begin
|
5
4
|
stack = ENV['stack']
|
6
5
|
revision = ENV['revision']
|
7
6
|
|
@@ -18,10 +17,9 @@ namespace :shipit do
|
|
18
17
|
end
|
19
18
|
|
20
19
|
Shipit::Stack.run_deploy_in_foreground(stack: stack, revision: revision)
|
21
|
-
|
20
|
+
rescue ArgumentError
|
22
21
|
p "Use this command as follows:"
|
23
22
|
p "bundle exec rake shipit:deploy stack='shopify/shipit/production' revision='$SHA'"
|
24
23
|
raise
|
25
|
-
end
|
26
24
|
end
|
27
25
|
end
|
@@ -13,7 +13,7 @@ module Shipit
|
|
13
13
|
|
14
14
|
get :show, params: {stack_id: @stack.to_param, task_id: task.id}
|
15
15
|
assert_response :ok
|
16
|
-
assert_equal 'text/plain', response.
|
16
|
+
assert_equal 'text/plain', response.media_type
|
17
17
|
assert_equal task.chunk_output, response.body
|
18
18
|
end
|
19
19
|
end
|
@@ -19,7 +19,7 @@ module Shipit
|
|
19
19
|
test "deploys can be observed as raw text" do
|
20
20
|
get :show, params: {stack_id: @stack, id: @deploy.id, format: 'txt'}
|
21
21
|
assert_response :success
|
22
|
-
assert_equal("text/plain", @response.
|
22
|
+
assert_equal("text/plain", @response.media_type)
|
23
23
|
end
|
24
24
|
|
25
25
|
test ":new is success" do
|
@@ -59,7 +59,7 @@ module Shipit
|
|
59
59
|
test "triggered tasks can be observed as raw text" do
|
60
60
|
get :show, params: {stack_id: @stack, id: @task.id}, format: 'txt'
|
61
61
|
assert_response :success
|
62
|
-
assert_equal("text/plain", @response.
|
62
|
+
assert_equal("text/plain", @response.media_type)
|
63
63
|
end
|
64
64
|
|
65
65
|
test ":abort call abort! on the deploy" do
|
data/test/dummy/db/schema.rb
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
# of editing this file, please use the migrations feature of Active Record to
|
3
3
|
# incrementally modify your database, and then regenerate this schema definition.
|
4
4
|
#
|
5
|
-
#
|
6
|
-
#
|
7
|
-
#
|
8
|
-
# from scratch.
|
9
|
-
#
|
5
|
+
# This file is the source Rails uses to define your schema when running `rails
|
6
|
+
# db:schema:load`. When creating a new database, `rails db:schema:load` tends to
|
7
|
+
# be faster and is potentially less error prone than running all of your
|
8
|
+
# migrations from scratch. Old migrations may fail to apply correctly if those
|
9
|
+
# migrations use external dependencies or application code.
|
10
10
|
#
|
11
11
|
# It's strongly recommended that you check this file into your version control system.
|
12
12
|
|
data/test/dummy/db/seeds.rb
CHANGED
@@ -112,8 +112,8 @@ module Shipit
|
|
112
112
|
message: Faker::Company.catch_phrase,
|
113
113
|
authored_at: Time.now,
|
114
114
|
committed_at: Time.now,
|
115
|
-
additions: Faker::Number.number(3),
|
116
|
-
deletions: Faker::Number.number(3),
|
115
|
+
additions: Faker::Number.number(digits: 3),
|
116
|
+
deletions: Faker::Number.number(digits: 3),
|
117
117
|
)
|
118
118
|
|
119
119
|
if (i % 4) != 0
|
@@ -144,19 +144,19 @@ module Shipit
|
|
144
144
|
end
|
145
145
|
|
146
146
|
stack.pull_requests.create!(
|
147
|
-
number: Faker::Number.number(3),
|
147
|
+
number: Faker::Number.number(digits: 3),
|
148
148
|
title: Faker::Company.catch_phrase,
|
149
149
|
merge_status: 'pending',
|
150
150
|
merge_requested_at: 5.minute.ago,
|
151
151
|
merge_requested_by: users.sample,
|
152
|
-
github_id: Faker::Number.number(8),
|
152
|
+
github_id: Faker::Number.number(digits: 8),
|
153
153
|
api_url: 'https://api.github.com/repos/shopify/shipit-engine/pulls/62',
|
154
154
|
state: 'open',
|
155
|
-
branch: "feature-#{Faker::Number.number(3)}",
|
155
|
+
branch: "feature-#{Faker::Number.number(digits: 3)}",
|
156
156
|
head_id: nil,
|
157
157
|
mergeable: true,
|
158
|
-
additions: Faker::Number.number(3),
|
159
|
-
deletions: Faker::Number.number(3),
|
158
|
+
additions: Faker::Number.number(digits: 3),
|
159
|
+
deletions: Faker::Number.number(digits: 3),
|
160
160
|
)
|
161
161
|
end
|
162
162
|
|
@@ -173,8 +173,8 @@ module Shipit
|
|
173
173
|
since_commit_id: commits.first.id,
|
174
174
|
until_commit_id: commits.last.id,
|
175
175
|
status: "success",
|
176
|
-
additions: Faker::Number.number(3),
|
177
|
-
deletions: Faker::Number.number(3),
|
176
|
+
additions: Faker::Number.number(digits: 3),
|
177
|
+
deletions: Faker::Number.number(digits: 3),
|
178
178
|
started_at: Random.rand(15.minutes.to_i).seconds.ago,
|
179
179
|
ended_at: Time.now.utc,
|
180
180
|
user: users.sample,
|
data/test/models/commits_test.rb
CHANGED
@@ -143,7 +143,7 @@ module Shipit
|
|
143
143
|
|
144
144
|
test "updating broadcasts an update event" do
|
145
145
|
expect_event(@stack)
|
146
|
-
@commit.
|
146
|
+
@commit.update(message: "toto")
|
147
147
|
end
|
148
148
|
|
149
149
|
test "updating state to success triggers new deploy when stack has continuous deployment" do
|
data/test/models/hook_test.rb
CHANGED
@@ -50,26 +50,22 @@ module Shipit
|
|
50
50
|
end
|
51
51
|
|
52
52
|
test ".emit calls #deliver on internal hooks" do
|
53
|
-
begin
|
54
53
|
original_receivers = Shipit.internal_hook_receivers
|
55
54
|
FakeReceiver = Module.new
|
56
55
|
FakeReceiver.expects(:deliver).with(:deploy, @stack, 'foo' => 42)
|
57
56
|
|
58
57
|
Shipit.internal_hook_receivers << FakeReceiver
|
59
58
|
Hook.emit(:deploy, @stack, 'foo' => 42)
|
60
|
-
|
59
|
+
ensure
|
61
60
|
Shipit.internal_hook_receivers = original_receivers
|
62
|
-
end
|
63
61
|
end
|
64
62
|
|
65
63
|
test ".emit calls no internal hooks if there are no internal_hook_receivers" do
|
66
|
-
begin
|
67
64
|
original_receivers = Shipit.internal_hook_receivers
|
68
65
|
Shipit.internal_hook_receivers = nil
|
69
66
|
Hook.emit(:deploy, @stack, 'foo' => 42)
|
70
|
-
|
67
|
+
ensure
|
71
68
|
Shipit.internal_hook_receivers = original_receivers
|
72
|
-
end
|
73
69
|
end
|
74
70
|
end
|
75
71
|
end
|
@@ -183,23 +183,29 @@ module Shipit
|
|
183
183
|
refute_predicate @pr, :rejected?
|
184
184
|
end
|
185
185
|
|
186
|
-
test "#reject_unless_mergeable! reject the PR if it has a missing CI status" do
|
186
|
+
test "#reject_unless_mergeable! reject the PR if it has a missing required CI status" do
|
187
|
+
@pr.stack.cached_deploy_spec.stubs(:required_statuses).returns(['ci/circle'])
|
187
188
|
@pr.head.statuses.where(context: 'ci/circle').delete_all
|
188
189
|
|
189
|
-
|
190
|
+
refute_predicate @pr, :all_status_checks_passed?
|
190
191
|
refute_predicate @pr, :any_status_checks_failed?
|
191
|
-
|
192
|
-
|
192
|
+
assert_predicate @pr, :any_status_checks_missing?
|
193
|
+
assert_equal true, @pr.reject_unless_mergeable!
|
194
|
+
assert_predicate @pr, :rejected?
|
195
|
+
assert_equal 'ci_missing', @pr.rejection_reason
|
193
196
|
end
|
194
197
|
|
195
198
|
test "#reject_unless_mergeable! reject the PR if it has a missing CI status (multi-status)" do
|
199
|
+
@pr.stack.cached_deploy_spec.stubs(:required_statuses).returns(['ci/circle'])
|
196
200
|
@pr.head.statuses.where(context: 'ci/circle').delete_all
|
197
201
|
@pr.head.statuses.create!(stack: @pr.stack, state: 'success', context: 'ci/travis')
|
198
202
|
|
199
|
-
|
203
|
+
refute_predicate @pr, :all_status_checks_passed?
|
200
204
|
refute_predicate @pr, :any_status_checks_failed?
|
201
|
-
|
202
|
-
|
205
|
+
assert_predicate @pr, :any_status_checks_missing?
|
206
|
+
assert_equal true, @pr.reject_unless_mergeable!
|
207
|
+
assert_predicate @pr, :rejected?
|
208
|
+
assert_equal 'ci_missing', @pr.rejection_reason
|
203
209
|
end
|
204
210
|
|
205
211
|
test "#reject_unless_mergeable! rejects the PR if it is stale" do
|
data/test/test_helper.rb
CHANGED
data/test/unit/command_test.rb
CHANGED
@@ -25,8 +25,12 @@ module Shipit
|
|
25
25
|
end
|
26
26
|
|
27
27
|
test "#interpolate_environment_variables fallback to ENV" do
|
28
|
-
|
29
|
-
|
28
|
+
previous = ENV['SHIPIT_TEST']
|
29
|
+
ENV['SHIPIT_TEST'] = 'quux'
|
30
|
+
command = Command.new('cap $SHIPIT_TEST deploy', env: {'ENVIRONMENT' => 'production'}, chdir: '.')
|
31
|
+
assert_equal [%(cap quux deploy)], command.interpolated_arguments
|
32
|
+
ensure
|
33
|
+
ENV['SHIPIT_TEST'] = previous
|
30
34
|
end
|
31
35
|
|
32
36
|
test "#timeout is 5 minutes by default" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shipit-engine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.29.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jean Boussier
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-09-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active_model_serializers
|
@@ -72,42 +72,42 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '5.0'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '5.0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: explicit-parameters
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 0.4.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 0.4.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: faraday
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.
|
103
|
+
version: '0.15'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
110
|
+
version: '0.15'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: faraday-http-cache
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -170,14 +170,14 @@ dependencies:
|
|
170
170
|
requirements:
|
171
171
|
- - "~>"
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: 4.
|
173
|
+
version: '4.14'
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
178
|
- - "~>"
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: 4.
|
180
|
+
version: '4.14'
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: omniauth-github
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -198,28 +198,28 @@ dependencies:
|
|
198
198
|
requirements:
|
199
199
|
- - "~>"
|
200
200
|
- !ruby/object:Gem::Version
|
201
|
-
version: 0.
|
201
|
+
version: 0.2.0
|
202
202
|
type: :runtime
|
203
203
|
prerelease: false
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
205
205
|
requirements:
|
206
206
|
- - "~>"
|
207
207
|
- !ruby/object:Gem::Version
|
208
|
-
version: 0.
|
208
|
+
version: 0.2.0
|
209
209
|
- !ruby/object:Gem::Dependency
|
210
210
|
name: rails
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
212
212
|
requirements:
|
213
213
|
- - "~>"
|
214
214
|
- !ruby/object:Gem::Version
|
215
|
-
version:
|
215
|
+
version: 6.0.0
|
216
216
|
type: :runtime
|
217
217
|
prerelease: false
|
218
218
|
version_requirements: !ruby/object:Gem::Requirement
|
219
219
|
requirements:
|
220
220
|
- - "~>"
|
221
221
|
- !ruby/object:Gem::Version
|
222
|
-
version:
|
222
|
+
version: 6.0.0
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
224
|
name: rails-timeago
|
225
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -268,42 +268,42 @@ dependencies:
|
|
268
268
|
requirements:
|
269
269
|
- - "~>"
|
270
270
|
- !ruby/object:Gem::Version
|
271
|
-
version: 1.
|
271
|
+
version: 1.6.0
|
272
272
|
type: :runtime
|
273
273
|
prerelease: false
|
274
274
|
version_requirements: !ruby/object:Gem::Requirement
|
275
275
|
requirements:
|
276
276
|
- - "~>"
|
277
277
|
- !ruby/object:Gem::Version
|
278
|
-
version: 1.
|
278
|
+
version: 1.6.0
|
279
279
|
- !ruby/object:Gem::Dependency
|
280
280
|
name: redis-objects
|
281
281
|
requirement: !ruby/object:Gem::Requirement
|
282
282
|
requirements:
|
283
283
|
- - "~>"
|
284
284
|
- !ruby/object:Gem::Version
|
285
|
-
version: 1.
|
285
|
+
version: 1.4.3
|
286
286
|
type: :runtime
|
287
287
|
prerelease: false
|
288
288
|
version_requirements: !ruby/object:Gem::Requirement
|
289
289
|
requirements:
|
290
290
|
- - "~>"
|
291
291
|
- !ruby/object:Gem::Version
|
292
|
-
version: 1.
|
292
|
+
version: 1.4.3
|
293
293
|
- !ruby/object:Gem::Dependency
|
294
294
|
name: responders
|
295
295
|
requirement: !ruby/object:Gem::Requirement
|
296
296
|
requirements:
|
297
297
|
- - "~>"
|
298
298
|
- !ruby/object:Gem::Version
|
299
|
-
version:
|
299
|
+
version: '3.0'
|
300
300
|
type: :runtime
|
301
301
|
prerelease: false
|
302
302
|
version_requirements: !ruby/object:Gem::Requirement
|
303
303
|
requirements:
|
304
304
|
- - "~>"
|
305
305
|
- !ruby/object:Gem::Version
|
306
|
-
version:
|
306
|
+
version: '3.0'
|
307
307
|
- !ruby/object:Gem::Dependency
|
308
308
|
name: safe_yaml
|
309
309
|
requirement: !ruby/object:Gem::Requirement
|
@@ -366,14 +366,14 @@ dependencies:
|
|
366
366
|
requirements:
|
367
367
|
- - "~>"
|
368
368
|
- !ruby/object:Gem::Version
|
369
|
-
version: 0.
|
369
|
+
version: 0.6.0
|
370
370
|
type: :runtime
|
371
371
|
prerelease: false
|
372
372
|
version_requirements: !ruby/object:Gem::Requirement
|
373
373
|
requirements:
|
374
374
|
- - "~>"
|
375
375
|
- !ruby/object:Gem::Version
|
376
|
-
version: 0.
|
376
|
+
version: 0.6.0
|
377
377
|
- !ruby/object:Gem::Dependency
|
378
378
|
name: validate_url
|
379
379
|
requirement: !ruby/object:Gem::Requirement
|
@@ -469,6 +469,7 @@ files:
|
|
469
469
|
- app/assets/webfonts/CheckoutSymbols-Regular.svg
|
470
470
|
- app/assets/webfonts/CheckoutSymbols-Regular.ttf
|
471
471
|
- app/assets/webfonts/CheckoutSymbols-Regular.woff
|
472
|
+
- app/controllers/concerns/shipit/active_model_serializers_patch.rb
|
472
473
|
- app/controllers/concerns/shipit/api/cacheable.rb
|
473
474
|
- app/controllers/concerns/shipit/api/paginable.rb
|
474
475
|
- app/controllers/concerns/shipit/api/rendering.rb
|
@@ -522,7 +523,7 @@ files:
|
|
522
523
|
- app/jobs/shipit/fetch_commit_stats_job.rb
|
523
524
|
- app/jobs/shipit/fetch_deployed_revision_job.rb
|
524
525
|
- app/jobs/shipit/github_sync_job.rb
|
525
|
-
- app/jobs/shipit/
|
526
|
+
- app/jobs/shipit/mark_deploy_healthy_job.rb
|
526
527
|
- app/jobs/shipit/merge_pull_requests_job.rb
|
527
528
|
- app/jobs/shipit/perform_commit_checks_job.rb
|
528
529
|
- app/jobs/shipit/perform_task_job.rb
|