shipit-engine 0.8.9 → 0.9.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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/shipit_bs.js.coffee +2 -0
  3. data/app/assets/javascripts/task.js.coffee +14 -5
  4. data/app/assets/javascripts/task/search_bar.js.coffee +52 -0
  5. data/app/assets/javascripts/task/stream.js.coffee +9 -2
  6. data/app/assets/javascripts/task/tty.js.coffee +75 -28
  7. data/app/assets/stylesheets/_base/_forms.scss +5 -0
  8. data/app/assets/stylesheets/_pages/_commits.scss +1 -1
  9. data/app/assets/stylesheets/_pages/_deploy.scss +56 -24
  10. data/app/assets/stylesheets/_pages/_settings.scss +5 -0
  11. data/app/assets/stylesheets/_structure/_layout.scss +1 -0
  12. data/app/assets/stylesheets/_structure/_main.scss +4 -0
  13. data/app/assets/stylesheets/shipit.scss +2 -0
  14. data/app/assets/stylesheets/shipit_bs.scss +22 -0
  15. data/app/controllers/shipit/deploys_controller.rb +5 -1
  16. data/app/controllers/shipit/shipit_controller.rb +10 -3
  17. data/app/controllers/shipit/stacks_controller.rb +12 -3
  18. data/app/controllers/shipit/tasks_controller.rb +4 -0
  19. data/app/helpers/shipit/shipit_helper.rb +18 -0
  20. data/app/helpers/shipit/stacks_helper.rb +1 -1
  21. data/app/jobs/shipit/cache_deploy_spec_job.rb +2 -0
  22. data/app/jobs/shipit/fetch_deployed_revision_job.rb +1 -0
  23. data/app/jobs/shipit/git_mirror_update_job.rb +2 -0
  24. data/app/jobs/shipit/perform_task_job.rb +1 -0
  25. data/app/models/shipit/commit.rb +2 -2
  26. data/app/models/shipit/deploy.rb +1 -1
  27. data/app/models/shipit/deploy_spec/bundler_discovery.rb +1 -1
  28. data/app/models/shipit/duration.rb +28 -0
  29. data/app/models/shipit/stack.rb +33 -11
  30. data/app/models/shipit/task.rb +26 -3
  31. data/app/serializers/shipit/task_serializer.rb +14 -1
  32. data/app/views/bootstrap/shipit/missing_settings.html.erb +97 -0
  33. data/app/views/bootstrap/shipit/stacks/new.html.erb +44 -0
  34. data/app/views/layouts/shipit.html.erb +1 -1
  35. data/app/views/layouts/shipit_bootstrap.html.erb +44 -0
  36. data/app/views/shipit/commits/_commit.html.erb +3 -2
  37. data/app/views/shipit/deploys/_deploy.html.erb +11 -2
  38. data/app/views/shipit/deploys/show.html.erb +1 -1
  39. data/app/views/shipit/stacks/new.html.erb +12 -12
  40. data/app/views/shipit/stacks/settings.html.erb +5 -0
  41. data/app/views/shipit/stacks/show.html.erb +1 -1
  42. data/app/views/shipit/tasks/_task.html.erb +10 -2
  43. data/app/views/shipit/tasks/_task_output.html.erb +11 -1
  44. data/app/views/shipit/tasks/show.html.erb +1 -1
  45. data/config/routes.rb +1 -0
  46. data/db/migrate/20160324155046_add_started_at_and_ended_at_on_tasks.rb +25 -0
  47. data/lib/shipit.rb +13 -0
  48. data/lib/shipit/command.rb +13 -9
  49. data/lib/shipit/engine.rb +8 -0
  50. data/lib/shipit/template_renderer_extension.rb +16 -0
  51. data/lib/shipit/version.rb +1 -1
  52. data/test/controllers/deploys_controller_test.rb +11 -0
  53. data/test/controllers/stacks_controller_test.rb +5 -0
  54. data/test/controllers/tasks_controller_test.rb +6 -0
  55. data/test/dummy/config/secrets.example.yml +4 -0
  56. data/test/dummy/config/secrets.yml +2 -0
  57. data/test/dummy/data/stacks/byroot/junk/production/deploys/83/bar.txt +2 -0
  58. data/test/dummy/data/stacks/byroot/junk/production/deploys/83/dkfdsf +0 -0
  59. data/test/dummy/data/stacks/byroot/junk/production/deploys/83/dskjfsd +0 -0
  60. data/test/dummy/data/stacks/byroot/junk/production/deploys/83/dslkjfjsdf +0 -0
  61. data/test/dummy/data/stacks/byroot/junk/production/deploys/83/plopfizz +0 -0
  62. data/test/dummy/data/stacks/byroot/junk/production/deploys/83/sd +0 -0
  63. data/test/dummy/data/stacks/byroot/junk/production/deploys/83/sdkfjsdf +1 -0
  64. data/test/dummy/data/stacks/byroot/junk/production/deploys/83/sdlfjsdfdsfj +0 -0
  65. data/test/dummy/data/stacks/byroot/junk/production/deploys/83/sdlkfjsdlkfjsdlkfjdsfsdfksdfjsldkfjsdlkfjsdf +0 -0
  66. data/test/dummy/data/stacks/byroot/junk/production/deploys/83/shipit.yml +32 -0
  67. data/test/dummy/data/stacks/byroot/junk/production/deploys/83/toto.txt +2 -0
  68. data/test/dummy/data/stacks/byroot/junk/production/git/bar.txt +1 -0
  69. data/test/dummy/data/stacks/byroot/junk/production/git/shipit.yml +6 -1
  70. data/test/dummy/data/stacks/byroot/test/production/git/README.md +1 -0
  71. data/test/dummy/db/development.sqlite3 +0 -0
  72. data/test/dummy/db/schema.rb +3 -1
  73. data/test/dummy/db/seeds.rb +6 -0
  74. data/test/dummy/db/test.sqlite3 +0 -0
  75. data/test/dummy/db/test.sqlite3-journal +0 -0
  76. data/test/fixtures/shipit/tasks.yml +11 -0
  77. data/test/models/commits_test.rb +1 -1
  78. data/test/models/deploys_test.rb +40 -0
  79. data/test/models/duration_test.rb +13 -0
  80. data/test/models/stacks_test.rb +3 -4
  81. data/test/unit/command_test.rb +14 -0
  82. data/vendor/assets/javascripts/clusterize.js +327 -0
  83. data/vendor/assets/javascripts/mousetrap-global-bind.js +43 -0
  84. data/vendor/assets/javascripts/mousetrap.js +1021 -0
  85. data/vendor/assets/javascripts/string_includes.js +14 -0
  86. data/vendor/assets/stylesheets/clusterize.css +27 -0
  87. metadata +100 -3
  88. data/app/assets/javascripts/task/sticky_element.js.coffee +0 -16
@@ -0,0 +1,14 @@
1
+ if (!String.prototype.includes) {
2
+ String.prototype.includes = function(search, start) {
3
+ 'use strict';
4
+ if (typeof start !== 'number') {
5
+ start = 0;
6
+ }
7
+
8
+ if (start + search.length > this.length) {
9
+ return false;
10
+ } else {
11
+ return this.indexOf(search, start) !== -1;
12
+ }
13
+ };
14
+ }
@@ -0,0 +1,27 @@
1
+ /* max-height - the only parameter in this file that needs to be edited.
2
+ * Change it to suit your needs. The rest is recommended to leave as is.
3
+ */
4
+ .clusterize-scroll{
5
+ overflow: auto;
6
+ }
7
+
8
+ /* By default extra tag .clusterize-keep-parity added to keep parity of rows.
9
+ * Useful when used :nth-child(even/odd)
10
+ */
11
+ .clusterize-extra-row.clusterize-keep-parity{
12
+ display: none;
13
+ }
14
+
15
+ /* During initialization clusterize adds tabindex to force the browser to keep focus
16
+ * on the scrolling list, see issue #11
17
+ * Outline removes default browser's borders for focused elements.
18
+ */
19
+ .clusterize-content{
20
+ outline: 0;
21
+ }
22
+
23
+ /* centering message that appears when no data provided
24
+ */
25
+ .clusterize-no-data td{
26
+ text-align: center;
27
+ }
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.8.9
4
+ version: 0.9.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-03-24 00:00:00.000000000 Z
11
+ date: 2016-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -192,6 +192,20 @@ dependencies:
192
192
  - - ">="
193
193
  - !ruby/object:Gem::Version
194
194
  version: 2.12.3
195
+ - !ruby/object:Gem::Dependency
196
+ name: sprockets-rails
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: 2.3.2
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: 2.3.2
195
209
  - !ruby/object:Gem::Dependency
196
210
  name: sass-rails
197
211
  requirement: !ruby/object:Gem::Requirement
@@ -248,6 +262,20 @@ dependencies:
248
262
  - - "~>"
249
263
  - !ruby/object:Gem::Version
250
264
  version: 2.13.0
265
+ - !ruby/object:Gem::Dependency
266
+ name: lodash-rails
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: 4.6.1
272
+ type: :runtime
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: 4.6.1
251
279
  - !ruby/object:Gem::Dependency
252
280
  name: ansi_stream
253
281
  requirement: !ruby/object:Gem::Requirement
@@ -290,6 +318,34 @@ dependencies:
290
318
  - - "~>"
291
319
  - !ruby/object:Gem::Version
292
320
  version: 1.1.6
321
+ - !ruby/object:Gem::Dependency
322
+ name: gemoji
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - "~>"
326
+ - !ruby/object:Gem::Version
327
+ version: '2.1'
328
+ type: :runtime
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - "~>"
333
+ - !ruby/object:Gem::Version
334
+ version: '2.1'
335
+ - !ruby/object:Gem::Dependency
336
+ name: bootstrap
337
+ requirement: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - '='
340
+ - !ruby/object:Gem::Version
341
+ version: 4.0.0.alpha3
342
+ type: :runtime
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - '='
347
+ - !ruby/object:Gem::Version
348
+ version: 4.0.0.alpha3
293
349
  - !ruby/object:Gem::Dependency
294
350
  name: octokit
295
351
  requirement: !ruby/object:Gem::Requirement
@@ -407,12 +463,13 @@ files:
407
463
  - app/assets/javascripts/shipit/flash.js.coffee
408
464
  - app/assets/javascripts/shipit/search.js.coffee
409
465
  - app/assets/javascripts/shipit/stacks.js.coffee
466
+ - app/assets/javascripts/shipit_bs.js.coffee
410
467
  - app/assets/javascripts/task.js.coffee
411
468
  - app/assets/javascripts/task/ansi_colors.js.coffee
412
469
  - app/assets/javascripts/task/notifications.js.coffee.erb
413
470
  - app/assets/javascripts/task/plugins.js.coffee
471
+ - app/assets/javascripts/task/search_bar.js.coffee
414
472
  - app/assets/javascripts/task/sidebar.js.coffee
415
- - app/assets/javascripts/task/sticky_element.js.coffee
416
473
  - app/assets/javascripts/task/stream.js.coffee
417
474
  - app/assets/javascripts/task/tty.js.coffee
418
475
  - app/assets/stylesheets/_base/_banner.scss
@@ -430,6 +487,7 @@ files:
430
487
  - app/assets/stylesheets/_structure/_layout.scss
431
488
  - app/assets/stylesheets/_structure/_main.scss
432
489
  - app/assets/stylesheets/shipit.scss
490
+ - app/assets/stylesheets/shipit_bs.scss
433
491
  - app/assets/webfonts/CheckoutSymbols-Regular.eot
434
492
  - app/assets/webfonts/CheckoutSymbols-Regular.svg
435
493
  - app/assets/webfonts/CheckoutSymbols-Regular.ttf
@@ -493,6 +551,7 @@ files:
493
551
  - app/models/shipit/deploy_spec/file_system.rb
494
552
  - app/models/shipit/deploy_spec/pypi_discovery.rb
495
553
  - app/models/shipit/deploy_spec/rubygems_discovery.rb
554
+ - app/models/shipit/duration.rb
496
555
  - app/models/shipit/github_hook.rb
497
556
  - app/models/shipit/hook.rb
498
557
  - app/models/shipit/membership.rb
@@ -521,7 +580,10 @@ files:
521
580
  - app/serializers/shipit/user_serializer.rb
522
581
  - app/validators/ascii_only_validator.rb
523
582
  - app/validators/subset_validator.rb
583
+ - app/views/bootstrap/shipit/missing_settings.html.erb
584
+ - app/views/bootstrap/shipit/stacks/new.html.erb
524
585
  - app/views/layouts/shipit.html.erb
586
+ - app/views/layouts/shipit_bootstrap.html.erb
525
587
  - app/views/shipit/_variables.html.erb
526
588
  - app/views/shipit/commits/_commit.html.erb
527
589
  - app/views/shipit/commits/_commit_author.html.erb
@@ -569,6 +631,7 @@ files:
569
631
  - db/migrate/20160303163611_create_shipit_commit_deployments.rb
570
632
  - db/migrate/20160303170913_create_shipit_commit_deployment_statuses.rb
571
633
  - db/migrate/20160303203940_add_encrypted_token_to_users.rb
634
+ - db/migrate/20160324155046_add_started_at_and_ended_at_on_tasks.rb
572
635
  - db/schema.rb
573
636
  - lib/shipit-engine.rb
574
637
  - lib/shipit.rb
@@ -586,6 +649,7 @@ files:
586
649
  - lib/shipit/simple_message_verifier.rb
587
650
  - lib/shipit/stack_commands.rb
588
651
  - lib/shipit/task_commands.rb
652
+ - lib/shipit/template_renderer_extension.rb
589
653
  - lib/shipit/version.rb
590
654
  - lib/snippets/assert-egg-version-tag
591
655
  - lib/snippets/assert-gem-version-tag
@@ -645,6 +709,17 @@ files:
645
709
  - test/dummy/config/routes.rb
646
710
  - test/dummy/config/secrets.example.yml
647
711
  - test/dummy/config/secrets.yml
712
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/bar.txt
713
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/dkfdsf
714
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/dskjfsd
715
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/dslkjfjsdf
716
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/plopfizz
717
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/sd
718
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/sdkfjsdf
719
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/sdlfjsdfdsfj
720
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/sdlkfjsdlkfjsdlkfjdsfsdfksdfjsldkfjsdlkfjsdf
721
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/shipit.yml
722
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/toto.txt
648
723
  - test/dummy/data/stacks/byroot/junk/production/git/bar.txt
649
724
  - test/dummy/data/stacks/byroot/junk/production/git/dkfdsf
650
725
  - test/dummy/data/stacks/byroot/junk/production/git/dskjfsd
@@ -656,10 +731,12 @@ files:
656
731
  - test/dummy/data/stacks/byroot/junk/production/git/sdlkfjsdlkfjsdlkfjdsfsdfksdfjsldkfjsdlkfjsdf
657
732
  - test/dummy/data/stacks/byroot/junk/production/git/shipit.yml
658
733
  - test/dummy/data/stacks/byroot/junk/production/git/toto.txt
734
+ - test/dummy/data/stacks/byroot/test/production/git/README.md
659
735
  - test/dummy/db/development.sqlite3
660
736
  - test/dummy/db/schema.rb
661
737
  - test/dummy/db/seeds.rb
662
738
  - test/dummy/db/test.sqlite3
739
+ - test/dummy/db/test.sqlite3-journal
663
740
  - test/dummy/public/404.html
664
741
  - test/dummy/public/422.html
665
742
  - test/dummy/public/500.html
@@ -707,6 +784,7 @@ files:
707
784
  - test/models/commits_test.rb
708
785
  - test/models/delivery_test.rb
709
786
  - test/models/deploys_test.rb
787
+ - test/models/duration_test.rb
710
788
  - test/models/github_hook_test.rb
711
789
  - test/models/hook_test.rb
712
790
  - test/models/membership_test.rb
@@ -728,7 +806,12 @@ files:
728
806
  - test/unit/environment_variables_test.rb
729
807
  - test/unit/github_url_helper_test.rb
730
808
  - test/unit/shipit_test.rb
809
+ - vendor/assets/javascripts/clusterize.js
731
810
  - vendor/assets/javascripts/jquery-notify.js
811
+ - vendor/assets/javascripts/mousetrap-global-bind.js
812
+ - vendor/assets/javascripts/mousetrap.js
813
+ - vendor/assets/javascripts/string_includes.js
814
+ - vendor/assets/stylesheets/clusterize.css
732
815
  homepage: https://github.com/shopify/shipit-engine
733
816
  licenses:
734
817
  - MIT
@@ -800,6 +883,17 @@ test_files:
800
883
  - test/dummy/config/secrets.example.yml
801
884
  - test/dummy/config/secrets.yml
802
885
  - test/dummy/config.ru
886
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/bar.txt
887
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/dkfdsf
888
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/dskjfsd
889
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/dslkjfjsdf
890
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/plopfizz
891
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/sd
892
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/sdkfjsdf
893
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/sdlfjsdfdsfj
894
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/sdlkfjsdlkfjsdlkfjdsfsdfksdfjsldkfjsdlkfjsdf
895
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/shipit.yml
896
+ - test/dummy/data/stacks/byroot/junk/production/deploys/83/toto.txt
803
897
  - test/dummy/data/stacks/byroot/junk/production/git/bar.txt
804
898
  - test/dummy/data/stacks/byroot/junk/production/git/dkfdsf
805
899
  - test/dummy/data/stacks/byroot/junk/production/git/dskjfsd
@@ -811,10 +905,12 @@ test_files:
811
905
  - test/dummy/data/stacks/byroot/junk/production/git/sdlkfjsdlkfjsdlkfjdsfsdfksdfjsldkfjsdlkfjsdf
812
906
  - test/dummy/data/stacks/byroot/junk/production/git/shipit.yml
813
907
  - test/dummy/data/stacks/byroot/junk/production/git/toto.txt
908
+ - test/dummy/data/stacks/byroot/test/production/git/README.md
814
909
  - test/dummy/db/development.sqlite3
815
910
  - test/dummy/db/schema.rb
816
911
  - test/dummy/db/seeds.rb
817
912
  - test/dummy/db/test.sqlite3
913
+ - test/dummy/db/test.sqlite3-journal
818
914
  - test/dummy/public/404.html
819
915
  - test/dummy/public/422.html
820
916
  - test/dummy/public/500.html
@@ -863,6 +959,7 @@ test_files:
863
959
  - test/models/commits_test.rb
864
960
  - test/models/delivery_test.rb
865
961
  - test/models/deploys_test.rb
962
+ - test/models/duration_test.rb
866
963
  - test/models/github_hook_test.rb
867
964
  - test/models/hook_test.rb
868
965
  - test/models/membership_test.rb
@@ -1,16 +0,0 @@
1
- class @StickyElement
2
- @init: (selector) ->
3
- $element = $(selector)
4
- return unless $element.length
5
- new @($element)
6
-
7
- constructor: (@$element) ->
8
- @staticElementTop = @$element.position().top
9
- @refresh()
10
-
11
- refresh: =>
12
- @toggleStickyClass()
13
- window.requestAnimationFrame(@refresh)
14
-
15
- toggleStickyClass: ->
16
- @$element.toggleClass('sticky', window.pageYOffset >= @staticElementTop)