houston-core 0.7.0.beta4 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +4 -2
- data/.travis.yml +50 -0
- data/Gemfile +1 -2
- data/Gemfile.lock +1 -7
- data/README.md +21 -9
- data/app/assets/stylesheets/houston/application/actions.scss +25 -4
- data/app/assets/stylesheets/houston/application/sprint.scss +1 -1
- data/app/assets/stylesheets/houston/application/test.scss +1 -1
- data/app/assets/stylesheets/houston/application/test_run.scss +2 -2
- data/app/assets/stylesheets/houston/application/timeline.scss +1 -1
- data/app/assets/stylesheets/houston/core/roboto.scss.erb +2 -2
- data/app/controllers/actions_controller.rb +13 -5
- data/app/controllers/errors_controller.rb +2 -2
- data/app/controllers/releases_controller.rb +1 -1
- data/app/controllers/triggers_controller.rb +1 -1
- data/app/helpers/actions_helper.rb +36 -1
- data/app/helpers/navigation_helper.rb +6 -1
- data/app/models/github/pull_request.rb +13 -4
- data/app/models/task.rb +1 -1
- data/app/presenters/task_presenter.rb +6 -6
- data/app/views/actions/_actions.html.erb +12 -0
- data/app/views/actions/index.html.erb +19 -12
- data/app/views/actions/running.html.erb +47 -0
- data/app/views/actions/show.html.erb +13 -14
- data/app/views/errors/_actions.html.erb +1 -1
- data/app/views/errors/index.html.erb +5 -1
- data/app/views/layouts/_navigation.html.erb +10 -5
- data/config/initializers/add_navigation_renderers.rb +8 -6
- data/config/initializers/houston_deliver.rb +16 -0
- data/config/routes.rb +1 -0
- data/db/structure.sql +1 -1
- data/houston-core.gemspec +1 -1
- data/lib/generators/module_generator.rb +5 -1
- data/lib/houston/boot/actions.rb +4 -1
- data/lib/houston/boot/configuration.rb +8 -1
- data/lib/houston/boot/extensions.rb +35 -9
- data/lib/houston/boot/serializer.rb +6 -1
- data/lib/houston/version.rb +1 -1
- data/script/cibuild +2 -2
- data/templates/new-module/lib/houston/%name%.rb +30 -7
- data/test/acceptance/creating_a_release_test.rb +14 -21
- data/test/data/bare_repo.git/FETCH_HEAD +1 -1
- data/test/data/bare_repo.git/objects/60/3a4970ec7ed5eb3f7a578850c21b7162424465 +1 -0
- data/test/data/bare_repo.git/objects/b9/1a4fe778398bc87b29842ca84a2727b4763c9d +1 -0
- data/test/data/bare_repo.git/objects/ba/b88c00ec62b5f30bf720ab1136401d1f9d2310 +2 -0
- data/test/data/bare_repo.git/refs/heads/master +1 -1
- data/test/integration/commits_api_test.rb +1 -0
- data/test/test_helper.rb +2 -2
- data/test/unit/models/sprint_test.rb +1 -1
- data/tmp/.keep +0 -0
- metadata +16 -5
@@ -8,7 +8,12 @@ module Houston
|
|
8
8
|
class UnserializableError < ArgumentError; end
|
9
9
|
|
10
10
|
def load(string)
|
11
|
-
|
11
|
+
begin
|
12
|
+
object = Oj.load(string, nilnil: true, auto_define: false)
|
13
|
+
rescue ArgumentError
|
14
|
+
raise ArgumentError, "#{string.inspect} is the wrong type; it should be a String or NilClass"
|
15
|
+
end
|
16
|
+
unpack object
|
12
17
|
end
|
13
18
|
|
14
19
|
def dump(object)
|
data/lib/houston/version.rb
CHANGED
data/script/cibuild
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
3
|
export RAILS_ENV=test
|
4
|
-
bundle
|
4
|
+
bundle check || bundle
|
5
5
|
|
6
6
|
# Split these up into separate processes
|
7
7
|
# or we get the error `Application has been already initialized.`
|
8
8
|
bundle exec rake db:test:prepare
|
9
|
-
bundle exec rake test
|
9
|
+
bundle exec rake test COVERAGE=on CI=true
|
@@ -14,15 +14,38 @@ module Houston
|
|
14
14
|
end
|
15
15
|
|
16
16
|
|
17
|
+
# Extension Points
|
18
|
+
# ===========================================================================
|
19
|
+
#
|
20
|
+
# Read more about extending Houston at:
|
21
|
+
# https://github.com/houston/houston-core/wiki/Modules
|
22
|
+
|
23
|
+
|
17
24
|
# Register events that will be raised by this module
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
21
|
-
#
|
25
|
+
#
|
26
|
+
# register_events {{
|
27
|
+
# "<%= name %>:create" => params("<%= name %>").desc("<%= camelized %> was created"),
|
28
|
+
# "<%= name %>:update" => params("<%= name %>").desc("<%= camelized %> was updated")
|
29
|
+
# }}
|
22
30
|
|
23
31
|
|
24
32
|
# Add a link to Houston's global navigation
|
25
|
-
#
|
26
|
-
#
|
27
|
-
#
|
33
|
+
#
|
34
|
+
# add_navigation_renderer :<%= name %> do
|
35
|
+
# name "<%= camelized %>"
|
36
|
+
# icon "fa-thumbs-up"
|
37
|
+
# path { Houston::<%= camelized %>::Engine.routes.url_helpers.<%= name %>_path }
|
38
|
+
# ability { |ability| ability.can? :read, Project }
|
39
|
+
# end
|
40
|
+
|
41
|
+
|
42
|
+
# Add a link to feature that can be turned on for projects
|
43
|
+
#
|
44
|
+
# add_project_feature :<%= name %> do
|
45
|
+
# name "<%= camelized %>"
|
46
|
+
# icon "fa-thumbs-up"
|
47
|
+
# path { |project| Houston::<%= camelized %>::Engine.routes.url_helpers.project_<%= name %>_path(project) }
|
48
|
+
# ability { |ability, project| ability.can? :read, project }
|
49
|
+
# end
|
50
|
+
|
28
51
|
end
|
@@ -7,16 +7,16 @@ class CreatingAReleaseTest < ActionDispatch::IntegrationTest
|
|
7
7
|
|
8
8
|
|
9
9
|
setup do
|
10
|
-
@commit0 = "
|
11
|
-
@commit1 = "
|
10
|
+
@commit0 = "bd3e9e2"
|
11
|
+
@commit1 = "b91a4fe"
|
12
12
|
|
13
13
|
@user = User.first
|
14
14
|
@project = Project.create!(
|
15
|
-
name: "
|
16
|
-
slug: "
|
15
|
+
name: "Test",
|
16
|
+
slug: "test",
|
17
17
|
ticket_tracker_name: "Houston",
|
18
18
|
version_control_name: "Git",
|
19
|
-
props: {"git.location" => Rails.root.join(".git").to_s})
|
19
|
+
props: {"git.location" => Rails.root.join("test", "data", "bare_repo.git").to_s})
|
20
20
|
@project.roles.create!(name: "Maintainer", user: user)
|
21
21
|
@ticket = @project.tickets.create!(
|
22
22
|
number: 116,
|
@@ -35,36 +35,29 @@ class CreatingAReleaseTest < ActionDispatch::IntegrationTest
|
|
35
35
|
|
36
36
|
|
37
37
|
context "Given a valid commit range" do
|
38
|
-
|
38
|
+
setup do
|
39
39
|
visit new_release_path
|
40
|
+
end
|
40
41
|
|
42
|
+
should "show the release form" do
|
41
43
|
assert page.has_content?("New Release to Production")
|
42
44
|
end
|
43
45
|
|
44
46
|
should "show all the commits" do
|
45
|
-
visit new_release_path
|
46
|
-
|
47
47
|
project.commits.between(commit0, commit1).each do |commit|
|
48
48
|
assert page.has_content?(commit.summary), "Expected to find commit #{commit} on the page"
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
52
|
should "show ticket #116, which was mentioned by one of the commits" do
|
53
|
-
visit new_release_path
|
54
|
-
|
55
53
|
assert page.has_content?(ticket.summary), "Expected to find ticket #{ticket.number} on the page"
|
56
54
|
end
|
57
|
-
end
|
58
|
-
|
59
|
-
|
60
|
-
context "When creating the release" do
|
61
|
-
setup do
|
62
|
-
visit new_release_path
|
63
|
-
end
|
64
55
|
|
65
|
-
|
66
|
-
|
67
|
-
|
56
|
+
context "clicking 'Create Release'" do
|
57
|
+
should "create the release" do
|
58
|
+
assert_difference "Release.count", +1 do
|
59
|
+
click_button "Create Release"
|
60
|
+
end
|
68
61
|
end
|
69
62
|
end
|
70
63
|
end
|
@@ -73,7 +66,7 @@ class CreatingAReleaseTest < ActionDispatch::IntegrationTest
|
|
73
66
|
private
|
74
67
|
|
75
68
|
def new_release_path
|
76
|
-
"/projects/
|
69
|
+
"/projects/test/environments/Production/releases/new?commit0=#{commit0}&commit1=#{commit1}"
|
77
70
|
end
|
78
71
|
|
79
72
|
end
|
@@ -1,3 +1,3 @@
|
|
1
1
|
baa3ef218a40f23fe542f98d8b8e60a2e8e0bff0 not-for-merge branch 'divergent-branch' of github.com:houston/fixture
|
2
2
|
b62c3f32f72423b81a0282a1a4b97cad2cf129d4 not-for-merge branch 'for-testing' of github.com:houston/fixture
|
3
|
-
|
3
|
+
b91a4fe778398bc87b29842ca84a2727b4763c9d not-for-merge branch 'master' of github.com:houston/fixture
|
@@ -0,0 +1 @@
|
|
1
|
+
x��M�1`�9E�l�������W�@\$��;Fz"���f���=�TK�
|
@@ -0,0 +1 @@
|
|
1
|
+
x���N1E��#ф�ȳ;㇄J��6Ja���b���A����莮t���j-&�w}�B�L��
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
b91a4fe778398bc87b29842ca84a2727b4763c9d
|
@@ -31,6 +31,7 @@ class CommitsApiTest < ActionDispatch::IntegrationTest
|
|
31
31
|
assert_response :success
|
32
32
|
|
33
33
|
expected_commits = [
|
34
|
+
"[fix] Resolved this ticket [#116] (1m)",
|
34
35
|
"Added lib files for code coverage tests",
|
35
36
|
"When you have eliminated the impossible, what remains,",
|
36
37
|
"however improbable, must be true",
|
data/test/test_helper.rb
CHANGED
@@ -14,13 +14,13 @@ Rails.application.initialize!
|
|
14
14
|
require "rails/test_help"
|
15
15
|
require "support/houston/adapters/version_control/mock_adapter"
|
16
16
|
require "capybara/rails"
|
17
|
+
require "minitest/reporters/turn_reporter"
|
17
18
|
|
18
19
|
if ENV["CI"] == "true"
|
19
20
|
require "minitest/reporters"
|
20
|
-
MiniTest::Reporters.use! [
|
21
|
+
MiniTest::Reporters.use! [Minitest::Reporters::TurnReporter.new,
|
21
22
|
MiniTest::Reporters::JUnitReporter.new]
|
22
23
|
else
|
23
|
-
require "minitest/reporters/turn_reporter"
|
24
24
|
MiniTest::Reporters.use! Minitest::Reporters::TurnReporter.new
|
25
25
|
end
|
26
26
|
|
@@ -35,7 +35,7 @@ class SprintTest < ActiveSupport::TestCase
|
|
35
35
|
context "Sprint#current" do
|
36
36
|
should "return the current sprint" do
|
37
37
|
sprint = Sprint.create!(end_date: Date.new(2014, 9, 5))
|
38
|
-
Timecop.freeze Time.new(2014, 9, 5, 23, 0, 0
|
38
|
+
Timecop.freeze Time.new(2014, 9, 5, 23, 0, 0) do
|
39
39
|
assert_equal sprint.id, Sprint.current.try(:id), "Expected Sprint#current to find the sprint that ends this week"
|
40
40
|
end
|
41
41
|
end
|
data/tmp/.keep
ADDED
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: houston-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.0
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bob Lail
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -651,6 +651,7 @@ files:
|
|
651
651
|
- ".codeclimate.yml"
|
652
652
|
- ".gitignore"
|
653
653
|
- ".gitmodules"
|
654
|
+
- ".travis.yml"
|
654
655
|
- Gemfile
|
655
656
|
- Gemfile.lock
|
656
657
|
- README.md
|
@@ -1046,7 +1047,9 @@ files:
|
|
1046
1047
|
- app/presenters/tasks_excel_presenter.rb
|
1047
1048
|
- app/presenters/tester_presenter.rb
|
1048
1049
|
- app/presenters/ticket_presenter.rb
|
1050
|
+
- app/views/actions/_actions.html.erb
|
1049
1051
|
- app/views/actions/index.html.erb
|
1052
|
+
- app/views/actions/running.html.erb
|
1050
1053
|
- app/views/actions/show.html.erb
|
1051
1054
|
- app/views/activity/_events.html.erb
|
1052
1055
|
- app/views/authorizations/_form.html.erb
|
@@ -1165,6 +1168,7 @@ files:
|
|
1165
1168
|
- config/initializers/hard_coded_knowledge.rb
|
1166
1169
|
- config/initializers/houston_async.rb
|
1167
1170
|
- config/initializers/houston_benchmark.rb
|
1171
|
+
- config/initializers/houston_deliver.rb
|
1168
1172
|
- config/initializers/houston_report_exception.rb
|
1169
1173
|
- config/initializers/houston_scheduler_daemon.rb
|
1170
1174
|
- config/initializers/houston_try.rb
|
@@ -3286,10 +3290,13 @@ files:
|
|
3286
3290
|
- test/data/bare_repo.git/objects/22/924bbf4378f83cab93bfd5fa7d7777cbc1f3b4
|
3287
3291
|
- test/data/bare_repo.git/objects/59/e4862a85cf64d42a8b17db45ebf2ba39568679
|
3288
3292
|
- test/data/bare_repo.git/objects/5f/8cb742401c71308f858bf537855bb07d2932d8
|
3293
|
+
- test/data/bare_repo.git/objects/60/3a4970ec7ed5eb3f7a578850c21b7162424465
|
3289
3294
|
- test/data/bare_repo.git/objects/6e/eab9f9ee664c1acb08473921238ca95a8c17f5
|
3290
3295
|
- test/data/bare_repo.git/objects/7f/ce91258d10807380f36192304883e916a48ec0
|
3291
3296
|
- test/data/bare_repo.git/objects/b3/d156e4d4bb279e09cca0f31af8ea6e35d3df64
|
3297
|
+
- test/data/bare_repo.git/objects/b9/1a4fe778398bc87b29842ca84a2727b4763c9d
|
3292
3298
|
- test/data/bare_repo.git/objects/ba/a3ef218a40f23fe542f98d8b8e60a2e8e0bff0
|
3299
|
+
- test/data/bare_repo.git/objects/ba/b88c00ec62b5f30bf720ab1136401d1f9d2310
|
3293
3300
|
- test/data/bare_repo.git/objects/bd/3e9e2e4ddf89a640a4f880cbf55bb46cc7e88a
|
3294
3301
|
- test/data/bare_repo.git/objects/be/63e6ebab6ce87922f97ca24b1338befdbe6915
|
3295
3302
|
- test/data/bare_repo.git/objects/cc/f4bdedd71011176c0236e98268d71ed73eb80f
|
@@ -3364,6 +3371,7 @@ files:
|
|
3364
3371
|
- test/unit/models/user_test.rb
|
3365
3372
|
- test/unit/presenters/sprint_task_presenter_test.rb
|
3366
3373
|
- test/unit/test_run_comparer_test.rb
|
3374
|
+
- tmp/.keep
|
3367
3375
|
- vendor/assets/javascripts/.gitkeep
|
3368
3376
|
- vendor/assets/javascripts/.keep
|
3369
3377
|
- vendor/assets/javascripts/alertify.js
|
@@ -3464,7 +3472,7 @@ files:
|
|
3464
3472
|
- vendor/images/fa-suitcase.svg
|
3465
3473
|
- vendor/images/fa-user.svg
|
3466
3474
|
- vendor/images/octokit-pull-request.svg
|
3467
|
-
homepage: https://github.com/houston/houston
|
3475
|
+
homepage: https://github.com/houston/houston-core
|
3468
3476
|
licenses: []
|
3469
3477
|
metadata: {}
|
3470
3478
|
post_install_message:
|
@@ -3478,9 +3486,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
3478
3486
|
version: '0'
|
3479
3487
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
3480
3488
|
requirements:
|
3481
|
-
- - "
|
3489
|
+
- - ">="
|
3482
3490
|
- !ruby/object:Gem::Version
|
3483
|
-
version:
|
3491
|
+
version: '0'
|
3484
3492
|
requirements: []
|
3485
3493
|
rubyforge_project:
|
3486
3494
|
rubygems_version: 2.5.1
|
@@ -3508,10 +3516,13 @@ test_files:
|
|
3508
3516
|
- test/data/bare_repo.git/objects/22/924bbf4378f83cab93bfd5fa7d7777cbc1f3b4
|
3509
3517
|
- test/data/bare_repo.git/objects/59/e4862a85cf64d42a8b17db45ebf2ba39568679
|
3510
3518
|
- test/data/bare_repo.git/objects/5f/8cb742401c71308f858bf537855bb07d2932d8
|
3519
|
+
- test/data/bare_repo.git/objects/60/3a4970ec7ed5eb3f7a578850c21b7162424465
|
3511
3520
|
- test/data/bare_repo.git/objects/6e/eab9f9ee664c1acb08473921238ca95a8c17f5
|
3512
3521
|
- test/data/bare_repo.git/objects/7f/ce91258d10807380f36192304883e916a48ec0
|
3513
3522
|
- test/data/bare_repo.git/objects/b3/d156e4d4bb279e09cca0f31af8ea6e35d3df64
|
3523
|
+
- test/data/bare_repo.git/objects/b9/1a4fe778398bc87b29842ca84a2727b4763c9d
|
3514
3524
|
- test/data/bare_repo.git/objects/ba/a3ef218a40f23fe542f98d8b8e60a2e8e0bff0
|
3525
|
+
- test/data/bare_repo.git/objects/ba/b88c00ec62b5f30bf720ab1136401d1f9d2310
|
3515
3526
|
- test/data/bare_repo.git/objects/bd/3e9e2e4ddf89a640a4f880cbf55bb46cc7e88a
|
3516
3527
|
- test/data/bare_repo.git/objects/be/63e6ebab6ce87922f97ca24b1338befdbe6915
|
3517
3528
|
- test/data/bare_repo.git/objects/cc/f4bdedd71011176c0236e98268d71ed73eb80f
|