shipit-engine 0.7.0 → 0.8.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.
- checksums.yaml +4 -4
- data/README.md +50 -2
- data/app/assets/stylesheets/_pages/_deploy.scss +3 -2
- data/app/controllers/shipit/api/base_controller.rb +5 -0
- data/app/controllers/shipit/api/deploys_controller.rb +2 -1
- data/app/controllers/shipit/api/tasks_controller.rb +4 -1
- data/app/controllers/shipit/deploys_controller.rb +1 -1
- data/app/controllers/shipit/github_authentication_controller.rb +4 -2
- data/app/controllers/shipit/rollbacks_controller.rb +1 -1
- data/app/controllers/shipit/tasks_controller.rb +14 -2
- data/app/helpers/shipit/github_url_helper.rb +4 -2
- data/app/helpers/shipit/stacks_helper.rb +3 -3
- data/app/jobs/shipit/continuous_delivery_job.rb +12 -0
- data/app/jobs/shipit/create_on_github_job.rb +11 -0
- data/app/jobs/shipit/fetch_deployed_revision_job.rb +1 -1
- data/app/models/shipit/anonymous_user.rb +4 -0
- data/app/models/shipit/commit.rb +8 -10
- data/app/models/shipit/commit_deployment.rb +56 -0
- data/app/models/shipit/commit_deployment_status.rb +57 -0
- data/app/models/shipit/deploy.rb +32 -6
- data/app/models/shipit/deploy_spec.rb +8 -0
- data/app/models/shipit/deploy_spec/rubygems_discovery.rb +1 -1
- data/app/models/shipit/rollback.rb +10 -0
- data/app/models/shipit/stack.rb +30 -12
- data/app/models/shipit/status_group.rb +1 -1
- data/app/models/shipit/task.rb +1 -0
- data/app/models/shipit/task_definition.rb +20 -1
- data/app/models/shipit/user.rb +10 -2
- data/app/models/shipit/variable_definition.rb +2 -4
- data/app/serializers/shipit/commit_serializer.rb +19 -1
- data/app/serializers/shipit/deploy_serializer.rb +7 -1
- data/app/serializers/shipit/short_commit_serializer.rb +1 -1
- data/app/serializers/shipit/task_serializer.rb +17 -1
- data/app/views/shipit/_variables.html.erb +15 -0
- data/app/views/shipit/deploys/_concurrent_deploy_warning.html.erb +1 -1
- data/app/views/shipit/deploys/_deploy.html.erb +2 -2
- data/app/views/shipit/deploys/new.html.erb +3 -17
- data/app/views/shipit/deploys/rollback.html.erb +3 -17
- data/app/views/shipit/tasks/new.html.erb +12 -4
- data/config/locales/en.yml +11 -0
- data/db/migrate/20160210183823_add_allow_concurrency_to_tasks.rb +5 -0
- data/db/migrate/20160303163611_create_shipit_commit_deployments.rb +14 -0
- data/db/migrate/20160303170913_create_shipit_commit_deployment_statuses.rb +12 -0
- data/db/migrate/20160303203940_add_encrypted_token_to_users.rb +6 -0
- data/lib/shipit.rb +7 -1
- data/lib/shipit/engine.rb +3 -1
- data/lib/shipit/environment_variables.rb +34 -0
- data/lib/shipit/simple_message_verifier.rb +0 -1
- data/lib/shipit/task_commands.rb +1 -0
- data/lib/shipit/version.rb +1 -1
- data/test/controllers/api/deploys_controller_test.rb +15 -0
- data/test/controllers/api/tasks_controller_test.rb +15 -0
- data/test/controllers/github_authentication_controller_test.rb +23 -5
- data/test/controllers/tasks_controller_test.rb +27 -2
- data/test/controllers/webhooks_controller_test.rb +8 -2
- data/test/dummy/config/database.mysql.yml +1 -1
- data/test/dummy/config/secrets.example.yml +2 -2
- data/test/dummy/config/secrets.yml +2 -2
- data/test/dummy/data/stacks/byroot/junk/production/git/bar.txt +1 -0
- data/test/dummy/data/stacks/byroot/junk/production/git/dkfdsf +0 -0
- data/test/dummy/data/stacks/byroot/junk/production/git/dskjfsd +0 -0
- data/test/dummy/data/stacks/byroot/junk/production/git/dslkjfjsdf +0 -0
- data/test/dummy/data/stacks/byroot/junk/production/git/plopfizz +0 -0
- data/test/dummy/data/stacks/byroot/junk/production/git/sd +0 -0
- data/test/dummy/data/stacks/byroot/junk/production/git/sdkfjsdf +1 -0
- data/test/dummy/data/stacks/byroot/junk/production/git/sdlfjsdfdsfj +0 -0
- data/test/dummy/data/stacks/byroot/junk/production/git/sdlkfjsdlkfjsdlkfjdsfsdfksdfjsldkfjsdlkfjsdf +0 -0
- data/test/dummy/data/stacks/byroot/junk/production/git/shipit.yml +27 -0
- data/test/dummy/data/stacks/byroot/junk/production/git/toto.txt +2 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/schema.rb +35 -7
- data/test/dummy/db/seeds.rb +3 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/fixtures/shipit/commit_deployment_statuses.yml +19 -0
- data/test/fixtures/shipit/commit_deployments.yml +37 -0
- data/test/fixtures/shipit/commits.yml +1 -1
- data/test/fixtures/shipit/stacks.yml +12 -0
- data/test/fixtures/shipit/tasks.yml +4 -0
- data/test/fixtures/shipit/users.yml +2 -0
- data/test/jobs/fetch_deployed_revision_job_test.rb +3 -3
- data/test/models/commit_deployment_status_test.rb +27 -0
- data/test/models/commit_deployment_test.rb +37 -0
- data/test/models/commits_test.rb +7 -4
- data/test/models/deploys_test.rb +17 -1
- data/test/models/stacks_test.rb +13 -13
- data/test/models/task_definitions_test.rb +10 -0
- data/test/models/team_test.rb +8 -2
- data/test/models/users_test.rb +20 -2
- data/test/unit/deploy_spec_test.rb +29 -0
- data/test/unit/environment_variables_test.rb +36 -0
- data/test/unit/github_url_helper_test.rb +0 -8
- metadata +76 -20
|
@@ -8,6 +8,11 @@ module Shipit
|
|
|
8
8
|
'action' => 'Restart application',
|
|
9
9
|
'description' => 'Restart app and job servers',
|
|
10
10
|
'steps' => ['touch tmp/restart'],
|
|
11
|
+
'allow_concurrency' => true,
|
|
12
|
+
'variables' => [
|
|
13
|
+
{'name' => 'FOO', 'title' => 'Set to 0 to foo', 'default' => '1'},
|
|
14
|
+
{'name' => 'BAR', 'title' => 'Set to 1 to bar', 'default' => '0'},
|
|
15
|
+
],
|
|
11
16
|
)
|
|
12
17
|
end
|
|
13
18
|
|
|
@@ -27,6 +32,11 @@ module Shipit
|
|
|
27
32
|
description: 'Restart app and job servers',
|
|
28
33
|
steps: ['touch tmp/restart'],
|
|
29
34
|
checklist: [],
|
|
35
|
+
allow_concurrency: true,
|
|
36
|
+
variables: [
|
|
37
|
+
{'name' => 'FOO', 'title' => 'Set to 0 to foo', 'default' => '1'},
|
|
38
|
+
{'name' => 'BAR', 'title' => 'Set to 1 to bar', 'default' => '0'},
|
|
39
|
+
],
|
|
30
40
|
}
|
|
31
41
|
assert_equal as_json, TaskDefinition.load(TaskDefinition.dump(@definition)).as_json
|
|
32
42
|
end
|
data/test/models/team_test.rb
CHANGED
|
@@ -34,8 +34,14 @@ module Shipit
|
|
|
34
34
|
end
|
|
35
35
|
|
|
36
36
|
def george
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
stub(
|
|
38
|
+
id: 42,
|
|
39
|
+
name: 'George Abitbol',
|
|
40
|
+
login: 'george',
|
|
41
|
+
email: 'george@cyclim.se',
|
|
42
|
+
avatar_url: 'https://avatars.githubusercontent.com/u/42?v=3',
|
|
43
|
+
url: 'https://api.github.com/user/george',
|
|
44
|
+
)
|
|
39
45
|
end
|
|
40
46
|
|
|
41
47
|
def new_team
|
data/test/models/users_test.rb
CHANGED
|
@@ -4,8 +4,14 @@ module Shipit
|
|
|
4
4
|
class UsersTest < ActiveSupport::TestCase
|
|
5
5
|
setup do
|
|
6
6
|
@user = shipit_users(:walrus)
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
@github_user = stub(
|
|
8
|
+
id: 42,
|
|
9
|
+
name: 'George Abitbol',
|
|
10
|
+
login: 'george',
|
|
11
|
+
email: 'george@cyclim.se',
|
|
12
|
+
avatar_url: 'https://avatars.githubusercontent.com/u/42?v=3',
|
|
13
|
+
url: 'https://api.github.com/user/george',
|
|
14
|
+
)
|
|
9
15
|
end
|
|
10
16
|
|
|
11
17
|
test "find_or_create_from_github persist a new user if he is unknown" do
|
|
@@ -75,6 +81,18 @@ module Shipit
|
|
|
75
81
|
assert_equal 'george@cyclim.se', user.email
|
|
76
82
|
end
|
|
77
83
|
|
|
84
|
+
test "#github_api uses the user's access token" do
|
|
85
|
+
assert_equal @user.github_access_token, @user.github_api.access_token
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
test "#github_api fallbacks to Shipit.github_api if the user doesn't have an access_token" do
|
|
89
|
+
assert_equal Shipit.github_api, shipit_users(:bob).github_api
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
test "#github_api fallbacks to Shipit.github_api for anonymous users" do
|
|
93
|
+
assert_equal Shipit.github_api, AnonymousUser.new.github_api
|
|
94
|
+
end
|
|
95
|
+
|
|
78
96
|
private
|
|
79
97
|
|
|
80
98
|
def fetch_user
|
|
@@ -249,6 +249,35 @@ module Shipit
|
|
|
249
249
|
assert_equal ['bundle exec foo'], definition.steps
|
|
250
250
|
end
|
|
251
251
|
|
|
252
|
+
test "task definitions returns an array of VariableDefinition instances" do
|
|
253
|
+
@spec.expects(:load_config).returns('tasks' =>
|
|
254
|
+
{'restart' =>
|
|
255
|
+
{
|
|
256
|
+
'variables' => [
|
|
257
|
+
{
|
|
258
|
+
'name' => 'SAFETY_DISABLED',
|
|
259
|
+
'title' => 'Set to 1 to do dangerous things',
|
|
260
|
+
'default' => 0,
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
'name' => 'FOO',
|
|
264
|
+
'title' => 'Set to 0 to foo',
|
|
265
|
+
'default' => 1,
|
|
266
|
+
},
|
|
267
|
+
],
|
|
268
|
+
'steps' => %w(foo),
|
|
269
|
+
},
|
|
270
|
+
})
|
|
271
|
+
|
|
272
|
+
assert_equal 2, @spec.task_definitions.first.variables.size
|
|
273
|
+
variable_definition = @spec.task_definitions.first.variables.first
|
|
274
|
+
assert_equal 'SAFETY_DISABLED', variable_definition.name
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
test "task definitions returns an empty array by default" do
|
|
278
|
+
assert_equal [], @spec.task_definitions
|
|
279
|
+
end
|
|
280
|
+
|
|
252
281
|
test "#review_checklist returns an array" do
|
|
253
282
|
@spec.expects(:load_config).returns('review' => {'checklist' => %w(foo bar)})
|
|
254
283
|
assert_equal %w(foo bar), @spec.review_checklist
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
module Shipit
|
|
4
|
+
class EnvironmentVariablesTest < ActiveSupport::TestCase
|
|
5
|
+
def setup
|
|
6
|
+
variable_defs = [
|
|
7
|
+
{"name" => "FOO", "title" => "Set to 0 to foo", "default" => 1},
|
|
8
|
+
{"name" => "BAR", "title" => "Set to 1 to bar", "default" => 0},
|
|
9
|
+
]
|
|
10
|
+
@variable_definitions = variable_defs.map(&VariableDefinition.method(:new))
|
|
11
|
+
end
|
|
12
|
+
test 'empty env returns empty hash' do
|
|
13
|
+
empty = {}
|
|
14
|
+
assert_equal empty, EnvironmentVariables.with(nil).permit(@variable_definitions)
|
|
15
|
+
assert_equal empty, EnvironmentVariables.with({}).permit(@variable_definitions)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
test 'correctly sanitizes env variables' do
|
|
19
|
+
env = {'FOO' => 1, 'BAR' => 1}
|
|
20
|
+
assert_equal env, EnvironmentVariables.with(env).permit(@variable_definitions)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
test 'empty permit raises not permitted error' do
|
|
24
|
+
assert_raises(EnvironmentVariables::NotPermitted) do
|
|
25
|
+
EnvironmentVariables.with('FOO' => 1).permit({})
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
test 'throws an exception when a variable is not whitelisted' do
|
|
30
|
+
env = {'UNSAFE_VARIABLE' => 1}
|
|
31
|
+
assert_raises(EnvironmentVariables::NotPermitted) do
|
|
32
|
+
EnvironmentVariables.with(env).permit(@variable_definitions)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -16,13 +16,5 @@ module Shipit
|
|
|
16
16
|
expected = 'https://github.com/shopify/shipit-engine/commit/6d9278037b872fd9a6690523e411ecb3aa181355'
|
|
17
17
|
assert_equal expected, github_commit_url(shipit_commits(:first))
|
|
18
18
|
end
|
|
19
|
-
|
|
20
|
-
test "#github_diff_url returns a diff url" do
|
|
21
|
-
from_sha = SecureRandom.hex
|
|
22
|
-
to_sha = SecureRandom.hex
|
|
23
|
-
expected = "https://github.com/rails/rails/compare/#{from_sha}...#{to_sha}"
|
|
24
|
-
|
|
25
|
-
assert_equal expected, github_diff_url("rails", "rails", from_sha, to_sha)
|
|
26
|
-
end
|
|
27
19
|
end
|
|
28
20
|
end
|
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.8.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: 2016-
|
|
11
|
+
date: 2016-03-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
@@ -58,14 +58,14 @@ dependencies:
|
|
|
58
58
|
requirements:
|
|
59
59
|
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0.
|
|
61
|
+
version: 0.1.1
|
|
62
62
|
type: :runtime
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
66
|
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: 0.
|
|
68
|
+
version: 0.1.1
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: state_machines-activerecord
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -150,6 +150,20 @@ dependencies:
|
|
|
150
150
|
- - "~>"
|
|
151
151
|
- !ruby/object:Gem::Version
|
|
152
152
|
version: 2.1.0
|
|
153
|
+
- !ruby/object:Gem::Dependency
|
|
154
|
+
name: attr_encrypted
|
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
|
156
|
+
requirements:
|
|
157
|
+
- - "~>"
|
|
158
|
+
- !ruby/object:Gem::Version
|
|
159
|
+
version: 2.0.0
|
|
160
|
+
type: :runtime
|
|
161
|
+
prerelease: false
|
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
163
|
+
requirements:
|
|
164
|
+
- - "~>"
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: 2.0.0
|
|
153
167
|
- !ruby/object:Gem::Dependency
|
|
154
168
|
name: sprockets
|
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -198,28 +212,28 @@ dependencies:
|
|
|
198
212
|
requirements:
|
|
199
213
|
- - "~>"
|
|
200
214
|
- !ruby/object:Gem::Version
|
|
201
|
-
version: 4.0
|
|
215
|
+
version: 4.1.0
|
|
202
216
|
type: :runtime
|
|
203
217
|
prerelease: false
|
|
204
218
|
version_requirements: !ruby/object:Gem::Requirement
|
|
205
219
|
requirements:
|
|
206
220
|
- - "~>"
|
|
207
221
|
- !ruby/object:Gem::Version
|
|
208
|
-
version: 4.0
|
|
222
|
+
version: 4.1.0
|
|
209
223
|
- !ruby/object:Gem::Dependency
|
|
210
224
|
name: rails-timeago
|
|
211
225
|
requirement: !ruby/object:Gem::Requirement
|
|
212
226
|
requirements:
|
|
213
227
|
- - "~>"
|
|
214
228
|
- !ruby/object:Gem::Version
|
|
215
|
-
version: 2.
|
|
229
|
+
version: 2.13.0
|
|
216
230
|
type: :runtime
|
|
217
231
|
prerelease: false
|
|
218
232
|
version_requirements: !ruby/object:Gem::Requirement
|
|
219
233
|
requirements:
|
|
220
234
|
- - "~>"
|
|
221
235
|
- !ruby/object:Gem::Version
|
|
222
|
-
version: 2.
|
|
236
|
+
version: 2.13.0
|
|
223
237
|
- !ruby/object:Gem::Dependency
|
|
224
238
|
name: ansi_stream
|
|
225
239
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -240,14 +254,14 @@ dependencies:
|
|
|
240
254
|
requirements:
|
|
241
255
|
- - "~>"
|
|
242
256
|
- !ruby/object:Gem::Version
|
|
243
|
-
version:
|
|
257
|
+
version: 6.3.2
|
|
244
258
|
type: :runtime
|
|
245
259
|
prerelease: false
|
|
246
260
|
version_requirements: !ruby/object:Gem::Requirement
|
|
247
261
|
requirements:
|
|
248
262
|
- - "~>"
|
|
249
263
|
- !ruby/object:Gem::Version
|
|
250
|
-
version:
|
|
264
|
+
version: 6.3.2
|
|
251
265
|
- !ruby/object:Gem::Dependency
|
|
252
266
|
name: rails_autolink
|
|
253
267
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -268,14 +282,14 @@ dependencies:
|
|
|
268
282
|
requirements:
|
|
269
283
|
- - "~>"
|
|
270
284
|
- !ruby/object:Gem::Version
|
|
271
|
-
version: 4.
|
|
285
|
+
version: 4.2.0
|
|
272
286
|
type: :runtime
|
|
273
287
|
prerelease: false
|
|
274
288
|
version_requirements: !ruby/object:Gem::Requirement
|
|
275
289
|
requirements:
|
|
276
290
|
- - "~>"
|
|
277
291
|
- !ruby/object:Gem::Version
|
|
278
|
-
version: 4.
|
|
292
|
+
version: 4.2.0
|
|
279
293
|
- !ruby/object:Gem::Dependency
|
|
280
294
|
name: faraday
|
|
281
295
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -294,30 +308,30 @@ dependencies:
|
|
|
294
308
|
name: faraday-http-cache
|
|
295
309
|
requirement: !ruby/object:Gem::Requirement
|
|
296
310
|
requirements:
|
|
297
|
-
- -
|
|
311
|
+
- - "~>"
|
|
298
312
|
- !ruby/object:Gem::Version
|
|
299
|
-
version: 1.
|
|
313
|
+
version: 1.2.2
|
|
300
314
|
type: :runtime
|
|
301
315
|
prerelease: false
|
|
302
316
|
version_requirements: !ruby/object:Gem::Requirement
|
|
303
317
|
requirements:
|
|
304
|
-
- -
|
|
318
|
+
- - "~>"
|
|
305
319
|
- !ruby/object:Gem::Version
|
|
306
|
-
version: 1.
|
|
320
|
+
version: 1.2.2
|
|
307
321
|
- !ruby/object:Gem::Dependency
|
|
308
322
|
name: redis-objects
|
|
309
323
|
requirement: !ruby/object:Gem::Requirement
|
|
310
324
|
requirements:
|
|
311
|
-
- -
|
|
325
|
+
- - "~>"
|
|
312
326
|
- !ruby/object:Gem::Version
|
|
313
|
-
version: 1.2.
|
|
327
|
+
version: 1.2.1
|
|
314
328
|
type: :runtime
|
|
315
329
|
prerelease: false
|
|
316
330
|
version_requirements: !ruby/object:Gem::Requirement
|
|
317
331
|
requirements:
|
|
318
|
-
- -
|
|
332
|
+
- - "~>"
|
|
319
333
|
- !ruby/object:Gem::Version
|
|
320
|
-
version: 1.2.
|
|
334
|
+
version: 1.2.1
|
|
321
335
|
- !ruby/object:Gem::Dependency
|
|
322
336
|
name: redis-namespace
|
|
323
337
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -437,6 +451,8 @@ files:
|
|
|
437
451
|
- app/jobs/shipit/cache_deploy_spec_job.rb
|
|
438
452
|
- app/jobs/shipit/chunk_rollup_job.rb
|
|
439
453
|
- app/jobs/shipit/clear_git_cache_job.rb
|
|
454
|
+
- app/jobs/shipit/continuous_delivery_job.rb
|
|
455
|
+
- app/jobs/shipit/create_on_github_job.rb
|
|
440
456
|
- app/jobs/shipit/deliver_hook_job.rb
|
|
441
457
|
- app/jobs/shipit/destroy_stack_job.rb
|
|
442
458
|
- app/jobs/shipit/emit_event_job.rb
|
|
@@ -453,6 +469,8 @@ files:
|
|
|
453
469
|
- app/models/shipit/api_client.rb
|
|
454
470
|
- app/models/shipit/commit.rb
|
|
455
471
|
- app/models/shipit/commit_checks.rb
|
|
472
|
+
- app/models/shipit/commit_deployment.rb
|
|
473
|
+
- app/models/shipit/commit_deployment_status.rb
|
|
456
474
|
- app/models/shipit/delivery.rb
|
|
457
475
|
- app/models/shipit/deploy.rb
|
|
458
476
|
- app/models/shipit/deploy_spec.rb
|
|
@@ -490,6 +508,7 @@ files:
|
|
|
490
508
|
- app/validators/ascii_only_validator.rb
|
|
491
509
|
- app/validators/subset_validator.rb
|
|
492
510
|
- app/views/layouts/shipit.html.erb
|
|
511
|
+
- app/views/shipit/_variables.html.erb
|
|
493
512
|
- app/views/shipit/commits/_commit.html.erb
|
|
494
513
|
- app/views/shipit/commits/_commit_author.html.erb
|
|
495
514
|
- app/views/shipit/deploys/_checklist.html.erb
|
|
@@ -532,6 +551,10 @@ files:
|
|
|
532
551
|
- db/migrate/20160104151742_increase_tasks_type_size_back.rb
|
|
533
552
|
- db/migrate/20160104151833_convert_sti_columns.rb
|
|
534
553
|
- db/migrate/20160122165559_rename_hooks_url_in_delivery_url.rb
|
|
554
|
+
- db/migrate/20160210183823_add_allow_concurrency_to_tasks.rb
|
|
555
|
+
- db/migrate/20160303163611_create_shipit_commit_deployments.rb
|
|
556
|
+
- db/migrate/20160303170913_create_shipit_commit_deployment_statuses.rb
|
|
557
|
+
- db/migrate/20160303203940_add_encrypted_token_to_users.rb
|
|
535
558
|
- db/schema.rb
|
|
536
559
|
- lib/shipit-engine.rb
|
|
537
560
|
- lib/shipit.rb
|
|
@@ -540,6 +563,7 @@ files:
|
|
|
540
563
|
- lib/shipit/csv_serializer.rb
|
|
541
564
|
- lib/shipit/deploy_commands.rb
|
|
542
565
|
- lib/shipit/engine.rb
|
|
566
|
+
- lib/shipit/environment_variables.rb
|
|
543
567
|
- lib/shipit/first_parent_commits_iterator.rb
|
|
544
568
|
- lib/shipit/null_serializer.rb
|
|
545
569
|
- lib/shipit/octokit_iterator.rb
|
|
@@ -608,6 +632,17 @@ files:
|
|
|
608
632
|
- test/dummy/config/routes.rb
|
|
609
633
|
- test/dummy/config/secrets.example.yml
|
|
610
634
|
- test/dummy/config/secrets.yml
|
|
635
|
+
- test/dummy/data/stacks/byroot/junk/production/git/bar.txt
|
|
636
|
+
- test/dummy/data/stacks/byroot/junk/production/git/dkfdsf
|
|
637
|
+
- test/dummy/data/stacks/byroot/junk/production/git/dskjfsd
|
|
638
|
+
- test/dummy/data/stacks/byroot/junk/production/git/dslkjfjsdf
|
|
639
|
+
- test/dummy/data/stacks/byroot/junk/production/git/plopfizz
|
|
640
|
+
- test/dummy/data/stacks/byroot/junk/production/git/sd
|
|
641
|
+
- test/dummy/data/stacks/byroot/junk/production/git/sdkfjsdf
|
|
642
|
+
- test/dummy/data/stacks/byroot/junk/production/git/sdlfjsdfdsfj
|
|
643
|
+
- test/dummy/data/stacks/byroot/junk/production/git/sdlkfjsdlkfjsdlkfjdsfsdfksdfjsldkfjsdlkfjsdf
|
|
644
|
+
- test/dummy/data/stacks/byroot/junk/production/git/shipit.yml
|
|
645
|
+
- test/dummy/data/stacks/byroot/junk/production/git/toto.txt
|
|
611
646
|
- test/dummy/db/development.sqlite3
|
|
612
647
|
- test/dummy/db/schema.rb
|
|
613
648
|
- test/dummy/db/seeds.rb
|
|
@@ -620,6 +655,8 @@ files:
|
|
|
620
655
|
- test/fixtures/payloads/push_not_master.json
|
|
621
656
|
- test/fixtures/payloads/status_master.json
|
|
622
657
|
- test/fixtures/shipit/api_clients.yml
|
|
658
|
+
- test/fixtures/shipit/commit_deployment_statuses.yml
|
|
659
|
+
- test/fixtures/shipit/commit_deployments.yml
|
|
623
660
|
- test/fixtures/shipit/commits.yml
|
|
624
661
|
- test/fixtures/shipit/deliveries.yml
|
|
625
662
|
- test/fixtures/shipit/github_hooks.yml
|
|
@@ -652,6 +689,8 @@ files:
|
|
|
652
689
|
- test/jobs/unique_job_test.rb
|
|
653
690
|
- test/models/api_client_test.rb
|
|
654
691
|
- test/models/commit_checks_test.rb
|
|
692
|
+
- test/models/commit_deployment_status_test.rb
|
|
693
|
+
- test/models/commit_deployment_test.rb
|
|
655
694
|
- test/models/commits_test.rb
|
|
656
695
|
- test/models/delivery_test.rb
|
|
657
696
|
- test/models/deploys_test.rb
|
|
@@ -673,6 +712,7 @@ files:
|
|
|
673
712
|
- test/unit/csv_serializer_test.rb
|
|
674
713
|
- test/unit/deploy_commands_test.rb
|
|
675
714
|
- test/unit/deploy_spec_test.rb
|
|
715
|
+
- test/unit/environment_variables_test.rb
|
|
676
716
|
- test/unit/github_url_helper_test.rb
|
|
677
717
|
- test/unit/shipit_test.rb
|
|
678
718
|
- vendor/assets/javascripts/jquery-notify.js
|
|
@@ -747,6 +787,17 @@ test_files:
|
|
|
747
787
|
- test/dummy/config/secrets.example.yml
|
|
748
788
|
- test/dummy/config/secrets.yml
|
|
749
789
|
- test/dummy/config.ru
|
|
790
|
+
- test/dummy/data/stacks/byroot/junk/production/git/bar.txt
|
|
791
|
+
- test/dummy/data/stacks/byroot/junk/production/git/dkfdsf
|
|
792
|
+
- test/dummy/data/stacks/byroot/junk/production/git/dskjfsd
|
|
793
|
+
- test/dummy/data/stacks/byroot/junk/production/git/dslkjfjsdf
|
|
794
|
+
- test/dummy/data/stacks/byroot/junk/production/git/plopfizz
|
|
795
|
+
- test/dummy/data/stacks/byroot/junk/production/git/sd
|
|
796
|
+
- test/dummy/data/stacks/byroot/junk/production/git/sdkfjsdf
|
|
797
|
+
- test/dummy/data/stacks/byroot/junk/production/git/sdlfjsdfdsfj
|
|
798
|
+
- test/dummy/data/stacks/byroot/junk/production/git/sdlkfjsdlkfjsdlkfjdsfsdfksdfjsldkfjsdlkfjsdf
|
|
799
|
+
- test/dummy/data/stacks/byroot/junk/production/git/shipit.yml
|
|
800
|
+
- test/dummy/data/stacks/byroot/junk/production/git/toto.txt
|
|
750
801
|
- test/dummy/db/development.sqlite3
|
|
751
802
|
- test/dummy/db/schema.rb
|
|
752
803
|
- test/dummy/db/seeds.rb
|
|
@@ -761,6 +812,8 @@ test_files:
|
|
|
761
812
|
- test/fixtures/payloads/push_not_master.json
|
|
762
813
|
- test/fixtures/payloads/status_master.json
|
|
763
814
|
- test/fixtures/shipit/api_clients.yml
|
|
815
|
+
- test/fixtures/shipit/commit_deployment_statuses.yml
|
|
816
|
+
- test/fixtures/shipit/commit_deployments.yml
|
|
764
817
|
- test/fixtures/shipit/commits.yml
|
|
765
818
|
- test/fixtures/shipit/deliveries.yml
|
|
766
819
|
- test/fixtures/shipit/github_hooks.yml
|
|
@@ -793,6 +846,8 @@ test_files:
|
|
|
793
846
|
- test/jobs/unique_job_test.rb
|
|
794
847
|
- test/models/api_client_test.rb
|
|
795
848
|
- test/models/commit_checks_test.rb
|
|
849
|
+
- test/models/commit_deployment_status_test.rb
|
|
850
|
+
- test/models/commit_deployment_test.rb
|
|
796
851
|
- test/models/commits_test.rb
|
|
797
852
|
- test/models/delivery_test.rb
|
|
798
853
|
- test/models/deploys_test.rb
|
|
@@ -814,5 +869,6 @@ test_files:
|
|
|
814
869
|
- test/unit/csv_serializer_test.rb
|
|
815
870
|
- test/unit/deploy_commands_test.rb
|
|
816
871
|
- test/unit/deploy_spec_test.rb
|
|
872
|
+
- test/unit/environment_variables_test.rb
|
|
817
873
|
- test/unit/github_url_helper_test.rb
|
|
818
874
|
- test/unit/shipit_test.rb
|