janky 0.12.0 → 0.13.0.pre1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f039c609da4b8b8d5caa60c860aa4140adf8a8a1
4
- data.tar.gz: 17f08463778bd8cf3ffc17d2d2e90a59421b9116
3
+ metadata.gz: ae900c42b7672a66ca555375abf8e8b20c59ac55
4
+ data.tar.gz: 8db3f22f4255fa94e8cf73859db9a28ddae14d4a
5
5
  SHA512:
6
- metadata.gz: cd76f405decebd3f22357f43d2761121ffd35cd132e602f6c39aa2f9cb16b07f8870f5042a349244c7d6037c5ffcf41bf90666711b7cc9837010e5b73477a125
7
- data.tar.gz: 73df879a5376b721b045f0c54555ab736c7077b794ecfa7aa2c4caee2e34c71e29c8f78d982913e274c25dd3013a53765698c9eb1ff3edaa5a9ee35698c40aaa
6
+ metadata.gz: 182d740c5bc5677926fb860a6187407552373ae91943ebfe7d4b5a08d66cbc7552ee9452a33543348bdb70dd752780fd33f612f398c1e3a588cd78338c07af8d
7
+ data.tar.gz: 46117ffac656995fad07049a4efd8298d144ad50b548ac911f53c56591cae5fc9b565ed7ea047feb8ed151c78fa88bf1a7fa56bcb1998f9ba333beda5e1a4d55
data/README.md CHANGED
@@ -24,29 +24,37 @@ Hubot usage
24
24
  -----------
25
25
 
26
26
  Start by setting up a new Jenkins job and GitHub web hook for a
27
- repository:
27
+ repository: `[ORG]/[REPO]`
28
28
 
29
29
  hubot ci setup github/janky
30
30
 
31
31
  The `setup` command can safely be run over and over again. It won't do
32
- anything unless it needs to. It takes an optional name argument:
32
+ anything unless it needs to. It takes an optional `name` argument: `[ORG]/[REPO] [NAME]`
33
33
 
34
34
  hubot ci setup github/janky janky-ruby1.9.2
35
35
 
36
- It also takes an optional template name argument:
36
+ It also takes an optional `template` argument: `[ORG]/[REPO] [NAME] [TEMPLATE]`
37
37
 
38
38
  hubot ci setup github/janky janky-ruby1.9.2 ruby-build
39
39
 
40
40
  All branches are built automatically on push. Disable auto build with:
41
41
 
42
- hubot ci toggle janky
42
+ hubot ci toggle [REPO]
43
+
44
+ **NOTE**: If `name` was set you'll need to use it intested.
45
+
46
+ hubot ci toggle [NAME]
43
47
 
44
48
  Run the command again to re-enable it. Force a build of the master
45
49
  branch:
46
50
 
47
- hubot ci build janky
51
+ hubot ci build [REPO]
52
+
53
+ **NOTE**: If `name` was set you'll need to use it intested.
54
+
55
+ hubot ci build [NAME]
48
56
 
49
- Of a specific branch:
57
+ Of a specific branch: `[REPO]/[BRANCH]`
50
58
 
51
59
  hubot ci build janky/libgit2
52
60
 
@@ -55,7 +63,7 @@ lets you choose where notifications are sent to. First get a list of
55
63
  available rooms:
56
64
 
57
65
  hubot ci rooms
58
-
66
+
59
67
  Then pick one:
60
68
 
61
69
  hubot ci set room janky The Serious Room
@@ -64,7 +72,7 @@ Get the status of a build:
64
72
 
65
73
  hubot ci status janky
66
74
 
67
- Specific branch:
75
+ Specific branch: `[REPO]/[BRANCH]`
68
76
 
69
77
  hubot ci status janky/libgit2
70
78
 
@@ -192,15 +200,6 @@ respectively.
192
200
 
193
201
  ### Chat notifications
194
202
 
195
- #### Campfire
196
- Janky notifies [Campfire][] chat rooms by default. Required settings:
197
-
198
- * `JANKY_CHAT_CAMPFIRE_ACCOUNT`: account name.
199
- * `JANKY_CHAT_CAMPFIRE_TOKEN`: authentication token for the user sending
200
- build notifications.
201
-
202
- [Campfire]: http://campfirenow.com/
203
-
204
203
  #### HipChat
205
204
 
206
205
  Required settings:
@@ -1,10 +1,13 @@
1
1
  require File.expand_path("../lib/janky/version", __FILE__)
2
2
 
3
- Gem::Specification.new "janky", Janky::VERSION do |s|
3
+ Gem::Specification.new do |s|
4
+ s.name = "janky"
5
+ s.version = Janky::VERSION
4
6
  s.description = "Janky is a Continuous Integration server"
5
7
  s.summary = "Continuous Integration server built on top of Jenkins and " \
6
8
  "designed for GitHub and Hubot"
7
- s.authors = ["Simon Rozet"]
9
+ s.authors = ["Simon Rozet", "Matt Rogers"]
10
+ s.email = 'codemattr@gmail.com'
8
11
  s.homepage = "https://github.com/github/janky"
9
12
  s.has_rdoc = false
10
13
  s.license = "MIT"
@@ -16,12 +19,13 @@ https://github.com/github/janky/commit/0fc6214e3a75cc138aed46a2493980440e848aa3#
16
19
  EOL
17
20
 
18
21
  # runtime
19
- s.add_dependency "rake", "~>10.0"
22
+ s.add_dependency "rake", "~>12.0"
20
23
  s.add_dependency "sinatra", "~>1.3"
21
24
  s.add_dependency "sinatra_auth_github", "~>1.0.0"
22
25
  s.add_dependency "mustache", "~>0.11"
23
- s.add_dependency "yajl-ruby", "~>1.3.0"
24
- s.add_dependency "activerecord", "~>3.2.0"
26
+ s.add_dependency "yajl-ruby", "~>1.3.1"
27
+ s.add_dependency "activerecord", "~>4.2.0"
28
+ s.add_dependency "activerecord-deprecated_finders", "~>1.0.4"
25
29
  s.add_dependency "broach", "~>0.2"
26
30
  s.add_dependency "replicate", "~>1.4"
27
31
 
@@ -29,10 +33,11 @@ EOL
29
33
  s.add_development_dependency "shotgun", "~>0.9"
30
34
  s.add_development_dependency "thin", "~>1.2"
31
35
  s.add_development_dependency "mysql2", "~>0.3.0"
36
+ s.add_development_dependency "test-unit", "~>3.2.0"
32
37
 
33
38
  # test
34
- s.add_development_dependency "database_cleaner", "~>0.6"
35
- s.add_development_dependency "mocha", "~>0.14.0"
39
+ s.add_development_dependency "database_cleaner", "1.6.2"
40
+ s.add_development_dependency "mocha", "~>1.5.0"
36
41
 
37
42
  s.files = %w[
38
43
  CHANGES
@@ -1,7 +1,7 @@
1
1
  module Janky
2
2
  class BuildRequest
3
3
  def self.handle(repo_uri, branch_name, pusher, commit, compare, room_id)
4
- repos = Repository.find_all_by_uri(repo_uri)
4
+ repos = Repository.where(uri: repo_uri)
5
5
  repos.each do |repo|
6
6
  begin
7
7
  new(repo, branch_name, pusher, commit, compare, room_id).handle
@@ -9,70 +9,70 @@
9
9
  # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
10
  # you'll amass, the slower it'll run and the greater likelihood for issues).
11
11
  #
12
- # It's strongly recommended to check this file into your version control system.
12
+ # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(:version => 1400144784) do
14
+ ActiveRecord::Schema.define(version: 1400144784) do
15
15
 
16
- create_table "branches", :force => true do |t|
17
- t.string "name", :null => false
18
- t.integer "repository_id", :null => false
19
- t.datetime "created_at", :null => false
20
- t.datetime "updated_at", :null => false
16
+ create_table "branches", force: :cascade do |t|
17
+ t.string "name", limit: 255, null: false
18
+ t.integer "repository_id", limit: 4, null: false
19
+ t.datetime "created_at"
20
+ t.datetime "updated_at"
21
21
  end
22
22
 
23
- add_index "branches", ["name", "repository_id"], :name => "index_branches_on_name_and_repository_id", :unique => true
23
+ add_index "branches", ["name", "repository_id"], name: "index_branches_on_name_and_repository_id", unique: true, using: :btree
24
24
 
25
- create_table "builds", :force => true do |t|
26
- t.boolean "green", :default => false
27
- t.string "url"
28
- t.string "compare", :null => false
25
+ create_table "builds", force: :cascade do |t|
26
+ t.boolean "green", default: false
27
+ t.string "url", limit: 255
28
+ t.string "compare", limit: 255, null: false
29
29
  t.datetime "started_at"
30
30
  t.datetime "completed_at"
31
- t.integer "commit_id", :null => false
32
- t.integer "branch_id", :null => false
33
- t.datetime "created_at", :null => false
34
- t.datetime "updated_at", :null => false
35
- t.text "output"
36
- t.string "room_id"
37
- t.string "user"
31
+ t.integer "commit_id", limit: 4, null: false
32
+ t.integer "branch_id", limit: 4, null: false
33
+ t.datetime "created_at"
34
+ t.datetime "updated_at"
35
+ t.text "output", limit: 65535
36
+ t.string "room_id", limit: 255
37
+ t.string "user", limit: 255
38
38
  t.datetime "queued_at"
39
39
  end
40
40
 
41
- add_index "builds", ["branch_id"], :name => "index_builds_on_branch_id"
42
- add_index "builds", ["commit_id"], :name => "index_builds_on_commit_id"
43
- add_index "builds", ["completed_at"], :name => "index_builds_on_completed_at"
44
- add_index "builds", ["green"], :name => "index_builds_on_green"
45
- add_index "builds", ["started_at"], :name => "index_builds_on_started_at"
46
- add_index "builds", ["url"], :name => "index_builds_on_url", :unique => true
41
+ add_index "builds", ["branch_id"], name: "index_builds_on_branch_id", using: :btree
42
+ add_index "builds", ["commit_id"], name: "index_builds_on_commit_id", using: :btree
43
+ add_index "builds", ["completed_at"], name: "index_builds_on_completed_at", using: :btree
44
+ add_index "builds", ["green"], name: "index_builds_on_green", using: :btree
45
+ add_index "builds", ["started_at"], name: "index_builds_on_started_at", using: :btree
46
+ add_index "builds", ["url"], name: "index_builds_on_url", unique: true, using: :btree
47
47
 
48
- create_table "commits", :force => true do |t|
49
- t.string "sha1", :null => false
50
- t.text "message", :null => false
51
- t.string "author", :null => false
48
+ create_table "commits", force: :cascade do |t|
49
+ t.string "sha1", limit: 255, null: false
50
+ t.text "message", limit: 65535, null: false
51
+ t.string "author", limit: 255, null: false
52
52
  t.datetime "committed_at"
53
- t.integer "repository_id", :null => false
54
- t.datetime "created_at", :null => false
55
- t.datetime "updated_at", :null => false
56
- t.string "url", :null => false
53
+ t.integer "repository_id", limit: 4, null: false
54
+ t.datetime "created_at"
55
+ t.datetime "updated_at"
56
+ t.string "url", limit: 255, null: false
57
57
  end
58
58
 
59
- add_index "commits", ["sha1", "repository_id"], :name => "index_commits_on_sha1_and_repository_id", :unique => true
59
+ add_index "commits", ["sha1", "repository_id"], name: "index_commits_on_sha1_and_repository_id", unique: true, using: :btree
60
60
 
61
- create_table "repositories", :force => true do |t|
62
- t.string "name", :null => false
63
- t.string "uri", :null => false
64
- t.string "room_id"
65
- t.datetime "created_at", :null => false
66
- t.datetime "updated_at", :null => false
67
- t.boolean "enabled", :default => true, :null => false
68
- t.string "hook_url"
69
- t.integer "github_team_id"
70
- t.string "job_template"
71
- t.string "context"
61
+ create_table "repositories", force: :cascade do |t|
62
+ t.string "name", limit: 255, null: false
63
+ t.string "uri", limit: 255, null: false
64
+ t.string "room_id", limit: 255
65
+ t.datetime "created_at"
66
+ t.datetime "updated_at"
67
+ t.boolean "enabled", default: true, null: false
68
+ t.string "hook_url", limit: 255
69
+ t.integer "github_team_id", limit: 4
70
+ t.string "job_template", limit: 255
71
+ t.string "context", limit: 255
72
72
  end
73
73
 
74
- add_index "repositories", ["enabled"], :name => "index_repositories_on_enabled"
75
- add_index "repositories", ["name"], :name => "index_repositories_on_name", :unique => true
76
- add_index "repositories", ["uri"], :name => "index_repositories_on_uri"
74
+ add_index "repositories", ["enabled"], name: "index_repositories_on_enabled", using: :btree
75
+ add_index "repositories", ["name"], name: "index_repositories_on_name", unique: true, using: :btree
76
+ add_index "repositories", ["uri"], name: "index_repositories_on_uri", using: :btree
77
77
 
78
78
  end
@@ -83,7 +83,7 @@ module Janky
83
83
  # Get the status of all projects.
84
84
  get "/" do
85
85
  content_type "text/plain"
86
- repos = Repository.all(:include => [:branches, :commits, :builds]).map do |repo|
86
+ repos = Repository.includes(:branches, :commits, :builds).all.map do |repo|
87
87
  master = repo.branch_for("master")
88
88
 
89
89
  "%-17s %-13s %-10s %40s" % [
@@ -109,7 +109,7 @@ module Janky
109
109
  end
110
110
  builds = builds.limit(limit) unless limit.blank?
111
111
 
112
- builds.map! do |build|
112
+ builds.map do |build|
113
113
  build_to_hash(build)
114
114
  end
115
115
 
@@ -8,7 +8,7 @@ module Janky
8
8
 
9
9
  replicate_associations :builds, :commits, :branches
10
10
 
11
- default_scope(order("name"))
11
+ default_scope { order("name") }
12
12
 
13
13
  def self.setup(nwo, name = nil, template = nil)
14
14
  if nwo.nil?
@@ -65,7 +65,7 @@ module Janky
65
65
  #
66
66
  # Returns a Branch record.
67
67
  def branch_for(name)
68
- branches.find_or_create_by_name(name)
68
+ branches.find_or_create_by(name: name)
69
69
  end
70
70
 
71
71
  # Create or retrieve the given commit.
@@ -1,3 +1,3 @@
1
1
  module Janky
2
- VERSION = "0.12.0"
2
+ VERSION = "0.13.0.pre1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: janky
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.13.0.pre1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Rozet
8
+ - Matt Rogers
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2017-06-06 00:00:00.000000000 Z
12
+ date: 2018-10-08 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: rake
@@ -16,14 +17,14 @@ dependencies:
16
17
  requirements:
17
18
  - - "~>"
18
19
  - !ruby/object:Gem::Version
19
- version: '10.0'
20
+ version: '12.0'
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
25
  - - "~>"
25
26
  - !ruby/object:Gem::Version
26
- version: '10.0'
27
+ version: '12.0'
27
28
  - !ruby/object:Gem::Dependency
28
29
  name: sinatra
29
30
  requirement: !ruby/object:Gem::Requirement
@@ -72,28 +73,42 @@ dependencies:
72
73
  requirements:
73
74
  - - "~>"
74
75
  - !ruby/object:Gem::Version
75
- version: 1.3.0
76
+ version: 1.3.1
76
77
  type: :runtime
77
78
  prerelease: false
78
79
  version_requirements: !ruby/object:Gem::Requirement
79
80
  requirements:
80
81
  - - "~>"
81
82
  - !ruby/object:Gem::Version
82
- version: 1.3.0
83
+ version: 1.3.1
83
84
  - !ruby/object:Gem::Dependency
84
85
  name: activerecord
85
86
  requirement: !ruby/object:Gem::Requirement
86
87
  requirements:
87
88
  - - "~>"
88
89
  - !ruby/object:Gem::Version
89
- version: 3.2.0
90
+ version: 4.2.0
90
91
  type: :runtime
91
92
  prerelease: false
92
93
  version_requirements: !ruby/object:Gem::Requirement
93
94
  requirements:
94
95
  - - "~>"
95
96
  - !ruby/object:Gem::Version
96
- version: 3.2.0
97
+ version: 4.2.0
98
+ - !ruby/object:Gem::Dependency
99
+ name: activerecord-deprecated_finders
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: 1.0.4
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: 1.0.4
97
112
  - !ruby/object:Gem::Dependency
98
113
  name: broach
99
114
  requirement: !ruby/object:Gem::Requirement
@@ -165,35 +180,49 @@ dependencies:
165
180
  - !ruby/object:Gem::Version
166
181
  version: 0.3.0
167
182
  - !ruby/object:Gem::Dependency
168
- name: database_cleaner
183
+ name: test-unit
169
184
  requirement: !ruby/object:Gem::Requirement
170
185
  requirements:
171
186
  - - "~>"
172
187
  - !ruby/object:Gem::Version
173
- version: '0.6'
188
+ version: 3.2.0
174
189
  type: :development
175
190
  prerelease: false
176
191
  version_requirements: !ruby/object:Gem::Requirement
177
192
  requirements:
178
193
  - - "~>"
179
194
  - !ruby/object:Gem::Version
180
- version: '0.6'
195
+ version: 3.2.0
196
+ - !ruby/object:Gem::Dependency
197
+ name: database_cleaner
198
+ requirement: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - '='
201
+ - !ruby/object:Gem::Version
202
+ version: 1.6.2
203
+ type: :development
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - '='
208
+ - !ruby/object:Gem::Version
209
+ version: 1.6.2
181
210
  - !ruby/object:Gem::Dependency
182
211
  name: mocha
183
212
  requirement: !ruby/object:Gem::Requirement
184
213
  requirements:
185
214
  - - "~>"
186
215
  - !ruby/object:Gem::Version
187
- version: 0.14.0
216
+ version: 1.5.0
188
217
  type: :development
189
218
  prerelease: false
190
219
  version_requirements: !ruby/object:Gem::Requirement
191
220
  requirements:
192
221
  - - "~>"
193
222
  - !ruby/object:Gem::Version
194
- version: 0.14.0
223
+ version: 1.5.0
195
224
  description: Janky is a Continuous Integration server
196
- email:
225
+ email: codemattr@gmail.com
197
226
  executables: []
198
227
  extensions: []
199
228
  extra_rdoc_files: []
@@ -298,12 +327,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
298
327
  version: '0'
299
328
  required_rubygems_version: !ruby/object:Gem::Requirement
300
329
  requirements:
301
- - - ">="
330
+ - - ">"
302
331
  - !ruby/object:Gem::Version
303
- version: '0'
332
+ version: 1.3.1
304
333
  requirements: []
305
334
  rubyforge_project:
306
- rubygems_version: 2.2.5
335
+ rubygems_version: 2.6.13
307
336
  signing_key:
308
337
  specification_version: 4
309
338
  summary: Continuous Integration server built on top of Jenkins and designed for GitHub