shipit-engine 0.8.9 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
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)