tinyci 0.4 → 0.5.1
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/.gitignore +2 -2
- data/.rspec +2 -0
- data/.rubocop.yml +17 -2
- data/.ruby-version +1 -1
- data/.tinyci.yml +3 -1
- data/.yardopts +1 -0
- data/CHANGELOG.md +5 -0
- data/Dockerfile +3 -2
- data/Gemfile +2 -1
- data/Gemfile.lock +67 -39
- data/Guardfile +5 -3
- data/Rakefile +3 -1
- data/bin/tinyci +3 -2
- data/lib/pidfile.rb +28 -39
- data/lib/tinyci/builders/script_builder.rb +2 -0
- data/lib/tinyci/builders/test_builder.rb +3 -1
- data/lib/tinyci/cli.rb +159 -78
- data/lib/tinyci/cli_ssh_delegator.rb +111 -0
- data/lib/tinyci/compactor.rb +26 -26
- data/lib/tinyci/config.rb +22 -23
- data/lib/tinyci/config_transformer.rb +14 -16
- data/lib/tinyci/executor.rb +14 -12
- data/lib/tinyci/git_utils.rb +87 -18
- data/lib/tinyci/hookers/script_hooker.rb +26 -27
- data/lib/tinyci/installer.rb +28 -21
- data/lib/tinyci/log_viewer.rb +87 -0
- data/lib/tinyci/logging.rb +5 -5
- data/lib/tinyci/multi_logger.rb +30 -21
- data/lib/tinyci/path_utils.rb +44 -0
- data/lib/tinyci/runner.rb +95 -78
- data/lib/tinyci/scheduler.rb +44 -42
- data/lib/tinyci/subprocesses.rb +41 -32
- data/lib/tinyci/symbolize.rb +3 -1
- data/lib/tinyci/testers/script_tester.rb +2 -0
- data/lib/tinyci/testers/test_tester.rb +2 -0
- data/lib/tinyci/version.rb +3 -1
- data/lib/yard_plugin.rb +9 -1
- data/tinyci.gemspec +30 -22
- metadata +106 -19
data/tinyci.gemspec
CHANGED
@@ -1,50 +1,58 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'tinyci/version'
|
5
6
|
|
6
7
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
8
|
+
spec.name = 'tinyci'
|
8
9
|
spec.version = TinyCI::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
10
|
+
spec.authors = ['Jonathan Davies']
|
11
|
+
spec.email = ['jonnie@cleverna.me']
|
11
12
|
|
12
|
-
desc =
|
13
|
+
desc = 'A minimal Continuous Integration system, written in ruby, powered by git'
|
13
14
|
spec.summary = desc
|
14
15
|
spec.description = desc
|
15
|
-
spec.homepage =
|
16
|
-
spec.license =
|
16
|
+
spec.homepage = 'https://github.com/JonnieCache/tinyci'
|
17
|
+
spec.license = 'MIT'
|
17
18
|
|
18
19
|
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
19
20
|
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
20
21
|
if spec.respond_to?(:metadata)
|
21
|
-
spec.metadata['allowed_push_host'] =
|
22
|
+
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
22
23
|
else
|
23
|
-
raise
|
24
|
-
|
24
|
+
raise 'RubyGems 2.0 or newer is required to protect against ' \
|
25
|
+
'public gem pushes.'
|
25
26
|
end
|
26
27
|
|
27
|
-
spec.files
|
28
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
28
29
|
f.match(%r{^(test|spec|features)/})
|
29
30
|
end
|
30
|
-
spec.executables = [
|
31
|
-
spec.require_paths = [
|
31
|
+
spec.executables = ['tinyci']
|
32
|
+
spec.require_paths = ['lib']
|
32
33
|
|
33
34
|
LOGO = File.read(File.expand_path('lib/tinyci/logo.txt', __dir__))
|
34
35
|
|
35
36
|
spec.post_install_message = (LOGO % TinyCI::VERSION) + "\n"
|
36
37
|
|
37
|
-
spec.
|
38
|
+
spec.add_dependency 'file-tail'
|
39
|
+
spec.add_dependency 'git_clone_url'
|
40
|
+
spec.add_dependency 'net-ssh'
|
41
|
+
|
42
|
+
spec.add_development_dependency 'awesome_print'
|
38
43
|
spec.add_development_dependency 'barrier'
|
39
|
-
spec.add_development_dependency '
|
40
|
-
spec.add_development_dependency '
|
41
|
-
spec.add_development_dependency '
|
44
|
+
spec.add_development_dependency 'fuubar'
|
45
|
+
spec.add_development_dependency 'guard', '2.18.0'
|
46
|
+
spec.add_development_dependency 'guard-rspec'
|
47
|
+
spec.add_development_dependency 'pry'
|
42
48
|
spec.add_development_dependency 'pry-byebug'
|
43
49
|
spec.add_development_dependency 'pry-doc'
|
44
|
-
spec.add_development_dependency '
|
45
|
-
spec.add_development_dependency '
|
46
|
-
spec.add_development_dependency '
|
47
|
-
spec.add_development_dependency 'simplecov'
|
50
|
+
spec.add_development_dependency 'rake'
|
51
|
+
spec.add_development_dependency 'redcarpet', '>= 3.5.1'
|
52
|
+
spec.add_development_dependency 'rspec', '>= 3.8.0'
|
48
53
|
spec.add_development_dependency 'rspec-nc'
|
54
|
+
spec.add_development_dependency 'rubocop'
|
55
|
+
spec.add_development_dependency 'simplecov'
|
49
56
|
spec.add_development_dependency 'terminal-notifier', '1.7.2'
|
57
|
+
spec.add_development_dependency 'yard'
|
50
58
|
end
|
metadata
CHANGED
@@ -1,29 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tinyci
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Davies
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: file-tail
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: git_clone_url
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: net-ssh
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: awesome_print
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
20
62
|
type: :development
|
21
63
|
prerelease: false
|
22
64
|
version_requirements: !ruby/object:Gem::Requirement
|
23
65
|
requirements:
|
24
66
|
- - ">="
|
25
67
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
68
|
+
version: '0'
|
27
69
|
- !ruby/object:Gem::Dependency
|
28
70
|
name: barrier
|
29
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,7 +81,7 @@ dependencies:
|
|
39
81
|
- !ruby/object:Gem::Version
|
40
82
|
version: '0'
|
41
83
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
84
|
+
name: fuubar
|
43
85
|
requirement: !ruby/object:Gem::Requirement
|
44
86
|
requirements:
|
45
87
|
- - ">="
|
@@ -53,7 +95,21 @@ dependencies:
|
|
53
95
|
- !ruby/object:Gem::Version
|
54
96
|
version: '0'
|
55
97
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
98
|
+
name: guard
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 2.18.0
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 2.18.0
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: guard-rspec
|
57
113
|
requirement: !ruby/object:Gem::Requirement
|
58
114
|
requirements:
|
59
115
|
- - ">="
|
@@ -67,7 +123,7 @@ dependencies:
|
|
67
123
|
- !ruby/object:Gem::Version
|
68
124
|
version: '0'
|
69
125
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
126
|
+
name: pry
|
71
127
|
requirement: !ruby/object:Gem::Requirement
|
72
128
|
requirements:
|
73
129
|
- - ">="
|
@@ -109,7 +165,7 @@ dependencies:
|
|
109
165
|
- !ruby/object:Gem::Version
|
110
166
|
version: '0'
|
111
167
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
168
|
+
name: rake
|
113
169
|
requirement: !ruby/object:Gem::Requirement
|
114
170
|
requirements:
|
115
171
|
- - ">="
|
@@ -123,21 +179,35 @@ dependencies:
|
|
123
179
|
- !ruby/object:Gem::Version
|
124
180
|
version: '0'
|
125
181
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
182
|
+
name: redcarpet
|
127
183
|
requirement: !ruby/object:Gem::Requirement
|
128
184
|
requirements:
|
129
185
|
- - ">="
|
130
186
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
187
|
+
version: 3.5.1
|
132
188
|
type: :development
|
133
189
|
prerelease: false
|
134
190
|
version_requirements: !ruby/object:Gem::Requirement
|
135
191
|
requirements:
|
136
192
|
- - ">="
|
137
193
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
194
|
+
version: 3.5.1
|
139
195
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
196
|
+
name: rspec
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: 3.8.0
|
202
|
+
type: :development
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: 3.8.0
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: rspec-nc
|
141
211
|
requirement: !ruby/object:Gem::Requirement
|
142
212
|
requirements:
|
143
213
|
- - ">="
|
@@ -151,7 +221,7 @@ dependencies:
|
|
151
221
|
- !ruby/object:Gem::Version
|
152
222
|
version: '0'
|
153
223
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
224
|
+
name: rubocop
|
155
225
|
requirement: !ruby/object:Gem::Requirement
|
156
226
|
requirements:
|
157
227
|
- - ">="
|
@@ -165,7 +235,7 @@ dependencies:
|
|
165
235
|
- !ruby/object:Gem::Version
|
166
236
|
version: '0'
|
167
237
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
238
|
+
name: simplecov
|
169
239
|
requirement: !ruby/object:Gem::Requirement
|
170
240
|
requirements:
|
171
241
|
- - ">="
|
@@ -192,6 +262,20 @@ dependencies:
|
|
192
262
|
- - '='
|
193
263
|
- !ruby/object:Gem::Version
|
194
264
|
version: 1.7.2
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: yard
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - ">="
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '0'
|
272
|
+
type: :development
|
273
|
+
prerelease: false
|
274
|
+
version_requirements: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - ">="
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '0'
|
195
279
|
description: A minimal Continuous Integration system, written in ruby, powered by
|
196
280
|
git
|
197
281
|
email:
|
@@ -222,6 +306,7 @@ files:
|
|
222
306
|
- lib/tinyci/builders/script_builder.rb
|
223
307
|
- lib/tinyci/builders/test_builder.rb
|
224
308
|
- lib/tinyci/cli.rb
|
309
|
+
- lib/tinyci/cli_ssh_delegator.rb
|
225
310
|
- lib/tinyci/compactor.rb
|
226
311
|
- lib/tinyci/config.rb
|
227
312
|
- lib/tinyci/config_transformer.rb
|
@@ -229,9 +314,11 @@ files:
|
|
229
314
|
- lib/tinyci/git_utils.rb
|
230
315
|
- lib/tinyci/hookers/script_hooker.rb
|
231
316
|
- lib/tinyci/installer.rb
|
317
|
+
- lib/tinyci/log_viewer.rb
|
232
318
|
- lib/tinyci/logging.rb
|
233
319
|
- lib/tinyci/logo.txt
|
234
320
|
- lib/tinyci/multi_logger.rb
|
321
|
+
- lib/tinyci/path_utils.rb
|
235
322
|
- lib/tinyci/runner.rb
|
236
323
|
- lib/tinyci/scheduler.rb
|
237
324
|
- lib/tinyci/subprocesses.rb
|
@@ -248,7 +335,7 @@ metadata:
|
|
248
335
|
allowed_push_host: https://rubygems.org
|
249
336
|
post_install_message: " _____ _ _____ _____\n/__ (_)_ __ _ _ /
|
250
337
|
___/ /_ _/\n | || | '_ \\| | | |/ / / /\n | || | | | | |_| / /___/\\/ /_
|
251
|
-
\ \n |_||_|_| |_|\\__, \\____/\\____/ 0.
|
338
|
+
\ \n |_||_|_| |_|\\__, \\____/\\____/ 0.5.1\n |___/\n\n"
|
252
339
|
rdoc_options: []
|
253
340
|
require_paths:
|
254
341
|
- lib
|
@@ -263,8 +350,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
263
350
|
- !ruby/object:Gem::Version
|
264
351
|
version: '0'
|
265
352
|
requirements: []
|
266
|
-
rubygems_version: 3.
|
267
|
-
signing_key:
|
353
|
+
rubygems_version: 3.2.22
|
354
|
+
signing_key:
|
268
355
|
specification_version: 4
|
269
356
|
summary: A minimal Continuous Integration system, written in ruby, powered by git
|
270
357
|
test_files: []
|