lino 4.2.0.pre.2 → 4.2.0.pre.2.pr177.6.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/Gemfile.lock +103 -94
- data/Rakefile +93 -47
- data/lib/lino/version.rb +1 -1
- metadata +20 -28
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 29f738b7ef8e8f43deaaa4c12abfc8a8cbdd8977439bc4275bd4bf3fe18c1a38
|
|
4
|
+
data.tar.gz: c333805c6443bb3035f033b9f836567385fa7b94313759e43918f09a16c759bc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 87a70c6a90b03c00ffc8ebfa6b1475cef349b3b719859ae73d8de5be4cee8afa3f418f09d9e446f29c387d3bf024b8ad906da52ab84b06f452c40ce39f98110e
|
|
7
|
+
data.tar.gz: f35c322eda34d253b7027e76e521e9f44973e7ced6344af795851d471ed0b1c61d8eab048c6082e4498f176816261101dd14d9bc137c85636f52c85531944fdf
|
data/Gemfile.lock
CHANGED
|
@@ -1,55 +1,63 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
lino (4.2.0.pre.2)
|
|
5
|
-
childprocess (
|
|
4
|
+
lino (4.2.0.pre.2.pr177.6.1)
|
|
5
|
+
childprocess (>= 5.0, < 5.2)
|
|
6
6
|
hamster (~> 3.0)
|
|
7
7
|
open4 (~> 1.3)
|
|
8
8
|
|
|
9
9
|
GEM
|
|
10
10
|
remote: https://rubygems.org/
|
|
11
11
|
specs:
|
|
12
|
-
activesupport (
|
|
12
|
+
activesupport (8.1.3)
|
|
13
13
|
base64
|
|
14
14
|
bigdecimal
|
|
15
|
-
concurrent-ruby (~> 1.0, >= 1.
|
|
15
|
+
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
16
16
|
connection_pool (>= 2.2.5)
|
|
17
17
|
drb
|
|
18
18
|
i18n (>= 1.6, < 2)
|
|
19
|
+
json
|
|
20
|
+
logger (>= 1.4.2)
|
|
19
21
|
minitest (>= 5.1)
|
|
20
|
-
|
|
21
|
-
tzinfo (~> 2.0)
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
securerandom (>= 0.3)
|
|
23
|
+
tzinfo (~> 2.0, >= 2.0.5)
|
|
24
|
+
uri (>= 0.13.1)
|
|
25
|
+
addressable (2.9.0)
|
|
26
|
+
public_suffix (>= 2.0.2, < 8.0)
|
|
27
|
+
ast (2.4.3)
|
|
28
|
+
base64 (0.3.0)
|
|
29
|
+
bigdecimal (4.1.2)
|
|
30
|
+
childprocess (5.1.0)
|
|
31
|
+
logger (~> 1.5)
|
|
28
32
|
coderay (1.1.3)
|
|
29
33
|
colored2 (3.1.2)
|
|
30
|
-
concurrent-ruby (1.3.
|
|
31
|
-
connection_pool (
|
|
32
|
-
diff-lcs (1.
|
|
34
|
+
concurrent-ruby (1.3.8)
|
|
35
|
+
connection_pool (3.0.2)
|
|
36
|
+
diff-lcs (1.6.2)
|
|
33
37
|
docile (1.4.0)
|
|
34
|
-
drb (2.2.
|
|
35
|
-
excon (
|
|
36
|
-
faraday (2.10.0)
|
|
37
|
-
faraday-net_http (>= 2.0, < 3.2)
|
|
38
|
+
drb (2.2.3)
|
|
39
|
+
excon (1.6.0)
|
|
38
40
|
logger
|
|
39
|
-
faraday
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
faraday (2.14.3)
|
|
42
|
+
faraday-net_http (>= 2.0, < 3.5)
|
|
43
|
+
json
|
|
44
|
+
logger
|
|
45
|
+
faraday-net_http (3.4.4)
|
|
46
|
+
net-http (~> 0.5)
|
|
47
|
+
ffi (1.17.1)
|
|
42
48
|
formatador (1.1.0)
|
|
43
|
-
gem-release (2.2.
|
|
49
|
+
gem-release (2.2.4)
|
|
44
50
|
git (1.19.1)
|
|
45
51
|
addressable (~> 2.8)
|
|
46
52
|
rchardet (~> 1.8)
|
|
47
|
-
guard (2.
|
|
53
|
+
guard (2.19.1)
|
|
48
54
|
formatador (>= 0.2.4)
|
|
49
55
|
listen (>= 2.7, < 4.0)
|
|
56
|
+
logger (~> 1.6)
|
|
50
57
|
lumberjack (>= 1.0.12, < 2.0)
|
|
51
58
|
nenv (~> 0.1)
|
|
52
59
|
notiffany (~> 0.0)
|
|
60
|
+
ostruct (~> 0.6)
|
|
53
61
|
pry (>= 0.13.0)
|
|
54
62
|
shellany (~> 0.0)
|
|
55
63
|
thor (>= 0.18.1)
|
|
@@ -60,116 +68,117 @@ GEM
|
|
|
60
68
|
rspec (>= 2.99.0, < 4.0)
|
|
61
69
|
hamster (3.0.0)
|
|
62
70
|
concurrent-ruby (~> 1.0)
|
|
63
|
-
i18n (1.
|
|
71
|
+
i18n (1.15.2)
|
|
64
72
|
concurrent-ruby (~> 1.0)
|
|
65
|
-
immutable-struct (2.
|
|
66
|
-
json (2.
|
|
67
|
-
language_server-protocol (3.17.0.
|
|
73
|
+
immutable-struct (2.5.0)
|
|
74
|
+
json (2.12.2)
|
|
75
|
+
language_server-protocol (3.17.0.5)
|
|
76
|
+
lint_roller (1.1.0)
|
|
68
77
|
listen (3.9.0)
|
|
69
78
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
70
79
|
rb-inotify (~> 0.9, >= 0.9.10)
|
|
71
|
-
logger (1.
|
|
80
|
+
logger (1.7.0)
|
|
72
81
|
lumberjack (1.2.10)
|
|
73
82
|
method_source (1.1.0)
|
|
74
|
-
minitest (5.
|
|
75
|
-
mutex_m (0.2.0)
|
|
83
|
+
minitest (5.27.0)
|
|
76
84
|
nenv (0.3.0)
|
|
77
|
-
net-http (0.
|
|
78
|
-
uri
|
|
85
|
+
net-http (0.9.1)
|
|
86
|
+
uri (>= 0.11.1)
|
|
79
87
|
notiffany (0.1.3)
|
|
80
88
|
nenv (~> 0.1)
|
|
81
89
|
shellany (~> 0.0)
|
|
82
|
-
octokit (
|
|
83
|
-
base64
|
|
90
|
+
octokit (10.0.0)
|
|
84
91
|
faraday (>= 1, < 3)
|
|
85
92
|
sawyer (~> 0.9)
|
|
86
93
|
open4 (1.3.4)
|
|
87
|
-
|
|
88
|
-
|
|
94
|
+
ostruct (0.6.1)
|
|
95
|
+
parallel (1.27.0)
|
|
96
|
+
parser (3.3.8.0)
|
|
89
97
|
ast (~> 2.4.1)
|
|
90
98
|
racc
|
|
91
|
-
|
|
99
|
+
prism (1.4.0)
|
|
100
|
+
pry (0.15.2)
|
|
92
101
|
coderay (~> 1.1)
|
|
93
102
|
method_source (~> 1.0)
|
|
94
|
-
public_suffix (
|
|
95
|
-
racc (1.8.
|
|
103
|
+
public_suffix (7.0.5)
|
|
104
|
+
racc (1.8.1)
|
|
96
105
|
rainbow (3.1.1)
|
|
97
|
-
rake (13.2
|
|
98
|
-
|
|
99
|
-
colored2 (~> 3.1)
|
|
100
|
-
excon (~> 0.72)
|
|
101
|
-
rake_factory (~> 0.23)
|
|
102
|
-
sshkey (~> 2.0)
|
|
103
|
-
rake_factory (0.32.0.pre.2)
|
|
106
|
+
rake (13.4.2)
|
|
107
|
+
rake_factory (0.34.0.pre.2)
|
|
104
108
|
activesupport (>= 4)
|
|
105
109
|
rake (~> 13.0)
|
|
106
|
-
rake_git (0.
|
|
110
|
+
rake_git (0.3.0.pre.2)
|
|
107
111
|
colored2 (~> 3.1)
|
|
108
112
|
git (~> 1.13, >= 1.13.2)
|
|
109
|
-
rake_factory (
|
|
110
|
-
rake_git_crypt (0.
|
|
111
|
-
colored2 (~> 3.1)
|
|
112
|
-
rake_factory (= 0.32.0.pre.2)
|
|
113
|
-
ruby_git_crypt (= 0.1.0.pre.8)
|
|
114
|
-
ruby_gpg2 (= 0.11.0.pre.6)
|
|
115
|
-
rake_github (0.13.0)
|
|
113
|
+
rake_factory (~> 0.33)
|
|
114
|
+
rake_git_crypt (0.5.0.pre.1)
|
|
116
115
|
colored2 (~> 3.1)
|
|
117
|
-
|
|
118
|
-
rake_factory (~> 0.
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
ruby_gpg2 (~> 0.6)
|
|
123
|
-
rake_ssh (0.10.0)
|
|
116
|
+
lino (~> 4.1)
|
|
117
|
+
rake_factory (~> 0.33)
|
|
118
|
+
ruby_git_crypt (~> 0.1)
|
|
119
|
+
ruby_gpg2 (~> 0.12)
|
|
120
|
+
rake_github (0.17.0)
|
|
124
121
|
colored2 (~> 3.1)
|
|
125
|
-
|
|
122
|
+
octokit (>= 7.0, < 11.0)
|
|
123
|
+
rake_factory (~> 0.33)
|
|
124
|
+
rbnacl (~> 7.1)
|
|
126
125
|
sshkey (~> 2.0)
|
|
126
|
+
rake_gpg (0.20.0)
|
|
127
|
+
rake_factory (~> 0.33)
|
|
128
|
+
ruby_gpg2 (~> 0.12)
|
|
129
|
+
rake_slack (0.3.0)
|
|
130
|
+
excon (>= 0.72, < 2.0)
|
|
131
|
+
rake_factory (~> 0.33)
|
|
127
132
|
rb-fsevent (0.11.2)
|
|
128
133
|
rb-inotify (0.11.1)
|
|
129
134
|
ffi (~> 1.0)
|
|
135
|
+
rbnacl (7.1.2)
|
|
136
|
+
ffi (~> 1)
|
|
130
137
|
rchardet (1.8.0)
|
|
131
|
-
regexp_parser (2.
|
|
132
|
-
|
|
133
|
-
strscan
|
|
134
|
-
rspec (3.13.0)
|
|
138
|
+
regexp_parser (2.10.0)
|
|
139
|
+
rspec (3.13.1)
|
|
135
140
|
rspec-core (~> 3.13.0)
|
|
136
141
|
rspec-expectations (~> 3.13.0)
|
|
137
142
|
rspec-mocks (~> 3.13.0)
|
|
138
|
-
rspec-core (3.13.
|
|
143
|
+
rspec-core (3.13.4)
|
|
139
144
|
rspec-support (~> 3.13.0)
|
|
140
|
-
rspec-expectations (3.13.
|
|
145
|
+
rspec-expectations (3.13.5)
|
|
141
146
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
142
147
|
rspec-support (~> 3.13.0)
|
|
143
|
-
rspec-mocks (3.13.
|
|
148
|
+
rspec-mocks (3.13.5)
|
|
144
149
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
145
150
|
rspec-support (~> 3.13.0)
|
|
146
|
-
rspec-support (3.13.
|
|
147
|
-
rubocop (1.
|
|
151
|
+
rspec-support (3.13.4)
|
|
152
|
+
rubocop (1.76.0)
|
|
148
153
|
json (~> 2.3)
|
|
149
|
-
language_server-protocol (
|
|
154
|
+
language_server-protocol (~> 3.17.0.2)
|
|
155
|
+
lint_roller (~> 1.1.0)
|
|
150
156
|
parallel (~> 1.10)
|
|
151
157
|
parser (>= 3.3.0.2)
|
|
152
158
|
rainbow (>= 2.2.2, < 4.0)
|
|
153
|
-
regexp_parser (>= 2.
|
|
154
|
-
|
|
155
|
-
rubocop-ast (>= 1.31.1, < 2.0)
|
|
159
|
+
regexp_parser (>= 2.9.3, < 3.0)
|
|
160
|
+
rubocop-ast (>= 1.45.0, < 2.0)
|
|
156
161
|
ruby-progressbar (~> 1.7)
|
|
157
|
-
unicode-display_width (>= 2.4.0, <
|
|
158
|
-
rubocop-ast (1.
|
|
159
|
-
parser (>= 3.3.
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
rubocop (
|
|
162
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
|
163
|
+
rubocop-ast (1.45.0)
|
|
164
|
+
parser (>= 3.3.7.2)
|
|
165
|
+
prism (~> 1.4)
|
|
166
|
+
rubocop-rake (0.7.1)
|
|
167
|
+
lint_roller (~> 1.1)
|
|
168
|
+
rubocop (>= 1.72.1)
|
|
169
|
+
rubocop-rspec (3.6.0)
|
|
170
|
+
lint_roller (~> 1.1)
|
|
171
|
+
rubocop (~> 1.72, >= 1.72.1)
|
|
164
172
|
ruby-progressbar (1.13.0)
|
|
165
|
-
ruby_git_crypt (0.
|
|
173
|
+
ruby_git_crypt (0.2.0.pre.2)
|
|
166
174
|
immutable-struct (~> 2.4)
|
|
167
|
-
lino (>=
|
|
168
|
-
ruby_gpg2 (0.
|
|
169
|
-
lino (>=
|
|
170
|
-
sawyer (0.9.
|
|
175
|
+
lino (>= 4.1)
|
|
176
|
+
ruby_gpg2 (0.13.0.pre.4)
|
|
177
|
+
lino (>= 4.1)
|
|
178
|
+
sawyer (0.9.3)
|
|
171
179
|
addressable (>= 2.3.5)
|
|
172
180
|
faraday (>= 0.17.3, < 3)
|
|
181
|
+
securerandom (0.4.1)
|
|
173
182
|
shellany (0.0.1)
|
|
174
183
|
simplecov (0.22.0)
|
|
175
184
|
docile (~> 1.1)
|
|
@@ -178,12 +187,13 @@ GEM
|
|
|
178
187
|
simplecov-html (0.12.3)
|
|
179
188
|
simplecov_json_formatter (0.1.4)
|
|
180
189
|
sshkey (2.0.0)
|
|
181
|
-
|
|
182
|
-
thor (1.3.1)
|
|
190
|
+
thor (1.3.2)
|
|
183
191
|
tzinfo (2.0.6)
|
|
184
192
|
concurrent-ruby (~> 1.0)
|
|
185
|
-
unicode-display_width (
|
|
186
|
-
|
|
193
|
+
unicode-display_width (3.1.4)
|
|
194
|
+
unicode-emoji (~> 4.0, >= 4.0.4)
|
|
195
|
+
unicode-emoji (4.0.4)
|
|
196
|
+
uri (1.1.1)
|
|
187
197
|
|
|
188
198
|
PLATFORMS
|
|
189
199
|
ruby
|
|
@@ -195,12 +205,11 @@ DEPENDENCIES
|
|
|
195
205
|
guard-rspec
|
|
196
206
|
lino!
|
|
197
207
|
rake
|
|
198
|
-
rake_circle_ci
|
|
199
208
|
rake_git
|
|
200
209
|
rake_git_crypt
|
|
201
210
|
rake_github
|
|
202
211
|
rake_gpg
|
|
203
|
-
|
|
212
|
+
rake_slack
|
|
204
213
|
rspec
|
|
205
214
|
rubocop
|
|
206
215
|
rubocop-rake
|
data/Rakefile
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'rake_circle_ci'
|
|
4
3
|
require 'rake_git'
|
|
5
4
|
require 'rake_git_crypt'
|
|
6
5
|
require 'rake_github'
|
|
7
6
|
require 'rake_gpg'
|
|
8
|
-
require '
|
|
7
|
+
require 'rake_slack'
|
|
9
8
|
require 'rspec/core/rake_task'
|
|
10
9
|
require 'rubocop/rake_task'
|
|
11
10
|
require 'securerandom'
|
|
12
|
-
require 'yaml'
|
|
13
11
|
|
|
14
12
|
task default: %i[
|
|
15
13
|
library:fix
|
|
@@ -59,13 +57,6 @@ namespace :encryption do
|
|
|
59
57
|
end
|
|
60
58
|
|
|
61
59
|
namespace :keys do
|
|
62
|
-
namespace :deploy do
|
|
63
|
-
RakeSSH.define_key_tasks(
|
|
64
|
-
path: 'config/secrets/ci/',
|
|
65
|
-
comment: 'maintainers@infrablocks.io'
|
|
66
|
-
)
|
|
67
|
-
end
|
|
68
|
-
|
|
69
60
|
namespace :gpg do
|
|
70
61
|
RakeGPG.define_generate_key_task(
|
|
71
62
|
output_directory: 'config/secrets/ci',
|
|
@@ -91,7 +82,6 @@ namespace :secrets do
|
|
|
91
82
|
desc 'Generate all generatable secrets.'
|
|
92
83
|
task generate: %w[
|
|
93
84
|
encryption:passphrase:generate
|
|
94
|
-
keys:deploy:generate
|
|
95
85
|
keys:gpg:generate
|
|
96
86
|
]
|
|
97
87
|
|
|
@@ -115,57 +105,89 @@ namespace :library do
|
|
|
115
105
|
|
|
116
106
|
desc 'Attempt to automatically fix issues with the library'
|
|
117
107
|
task fix: [:'rubocop:autocorrect_all']
|
|
108
|
+
|
|
109
|
+
desc 'Build the library'
|
|
110
|
+
task :build do
|
|
111
|
+
sh 'gem build lino.gemspec'
|
|
112
|
+
end
|
|
118
113
|
end
|
|
119
114
|
|
|
120
115
|
namespace :test do
|
|
121
116
|
RSpec::Core::RakeTask.new(:unit)
|
|
122
117
|
end
|
|
123
118
|
|
|
124
|
-
RakeCircleCI.define_project_tasks(
|
|
125
|
-
namespace: :circle_ci,
|
|
126
|
-
project_slug: 'github/infrablocks/lino'
|
|
127
|
-
) do |t|
|
|
128
|
-
circle_ci_config =
|
|
129
|
-
YAML.load_file('config/secrets/circle_ci/config.yaml')
|
|
130
|
-
|
|
131
|
-
t.api_token = circle_ci_config['circle_ci_api_token']
|
|
132
|
-
t.environment_variables = {
|
|
133
|
-
ENCRYPTION_PASSPHRASE:
|
|
134
|
-
File.read('config/secrets/ci/encryption.passphrase')
|
|
135
|
-
.chomp
|
|
136
|
-
}
|
|
137
|
-
t.checkout_keys = []
|
|
138
|
-
t.ssh_keys = [
|
|
139
|
-
{
|
|
140
|
-
hostname: 'github.com',
|
|
141
|
-
private_key: File.read('config/secrets/ci/ssh.private')
|
|
142
|
-
}
|
|
143
|
-
]
|
|
144
|
-
end
|
|
145
|
-
|
|
146
119
|
RakeGithub.define_repository_tasks(
|
|
147
120
|
namespace: :github,
|
|
148
121
|
repository: 'infrablocks/lino'
|
|
149
122
|
) do |t|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
123
|
+
# Operator's ambient auth — the stored PAT is gone (see the cutover PR's
|
|
124
|
+
# deliberate-decisions list). Resolve once and fail fast: a missing,
|
|
125
|
+
# unauthenticated, or absent gh yields an empty string, which would
|
|
126
|
+
# otherwise surface later as an opaque Octokit 401.
|
|
127
|
+
github_token = ENV.fetch('GITHUB_TOKEN') do
|
|
128
|
+
`gh auth token`.strip
|
|
129
|
+
rescue Errno::ENOENT
|
|
130
|
+
''
|
|
131
|
+
end
|
|
132
|
+
if github_token.empty?
|
|
133
|
+
raise 'No GitHub token available: set GITHUB_TOKEN or run `gh auth login`'
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
t.access_token = github_token
|
|
137
|
+
|
|
138
|
+
# Actions store only: nothing in pr.yaml unlocks git-crypt, so dependabot
|
|
139
|
+
# runs never need the passphrase. Guard against a locked clone: without
|
|
140
|
+
# it, File.read returns git-crypt ciphertext and github:secrets:ensure
|
|
141
|
+
# silently uploads garbage that only surfaces much later as an opaque
|
|
142
|
+
# GPG unlock failure in the release job.
|
|
143
|
+
passphrase = File.binread('config/secrets/ci/encryption.passphrase')
|
|
144
|
+
if passphrase.start_with?("\x00GITCRYPT")
|
|
145
|
+
raise 'encryption.passphrase is git-crypt ciphertext — unlock the ' \
|
|
146
|
+
'clone before provisioning'
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
t.secrets = [
|
|
150
|
+
{ name: 'ENCRYPTION_PASSPHRASE', value: passphrase.chomp }
|
|
151
|
+
]
|
|
152
|
+
t.environments = [
|
|
153
|
+
{ name: 'release',
|
|
154
|
+
reviewers: [{ team: 'maintainers' }] }
|
|
159
155
|
]
|
|
160
156
|
end
|
|
161
157
|
|
|
158
|
+
namespace :slack do
|
|
159
|
+
RakeSlack.define_notification_tasks do |t|
|
|
160
|
+
t.bot_token = ENV.fetch('SLACK_BOT_TOKEN', nil)
|
|
161
|
+
t.routing_rules = [
|
|
162
|
+
{ when: { type: 'on_hold' },
|
|
163
|
+
channel: 'C038EDCRSQJ', format: :on_hold }, # release
|
|
164
|
+
{ when: { actor: 'dependabot[bot]', outcome: 'success' },
|
|
165
|
+
channel: 'C03N711HVDG', format: :success }, # builds-dependabot
|
|
166
|
+
{ when: { actor: 'dependabot[bot]' },
|
|
167
|
+
channel: 'C03N711HVDG', format: :failure }, # builds-dependabot
|
|
168
|
+
{ when: { outcome: 'success' },
|
|
169
|
+
channel: 'C023XUE76GH', format: :success }, # builds
|
|
170
|
+
# Failures go to builds, not team-dev (org default), to keep noise
|
|
171
|
+
# out of a popular channel while this pipeline beds in.
|
|
172
|
+
{ when: {},
|
|
173
|
+
channel: 'C023XUE76GH', format: :failure } # builds
|
|
174
|
+
]
|
|
175
|
+
end
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
namespace :repository do
|
|
179
|
+
desc 'Set the git author for CI'
|
|
180
|
+
task :set_ci_author do
|
|
181
|
+
sh 'git config --global user.name "InfraBlocks CI"'
|
|
182
|
+
sh 'git config --global user.email "ci@infrablocks.io"'
|
|
183
|
+
end
|
|
184
|
+
end
|
|
185
|
+
|
|
162
186
|
namespace :pipeline do
|
|
163
|
-
desc 'Prepare
|
|
187
|
+
desc 'Prepare GitHub Actions pipeline'
|
|
164
188
|
task prepare: %i[
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
circle_ci:ssh_keys:ensure
|
|
168
|
-
github:deploy_keys:ensure
|
|
189
|
+
github:secrets:ensure
|
|
190
|
+
github:environments:ensure
|
|
169
191
|
]
|
|
170
192
|
end
|
|
171
193
|
|
|
@@ -176,6 +198,30 @@ namespace :version do
|
|
|
176
198
|
end
|
|
177
199
|
end
|
|
178
200
|
|
|
201
|
+
namespace :prerelease do
|
|
202
|
+
desc 'Build and push a namespaced pre-release to RubyGems ' \
|
|
203
|
+
'(PR CI only; no bump, no tag, no commit, no push)'
|
|
204
|
+
task :publish, %i[pr_number run_number run_attempt] do |_, args|
|
|
205
|
+
version_file = 'lib/lino/version.rb'
|
|
206
|
+
source = File.read(version_file)
|
|
207
|
+
base = source[/VERSION\s*=\s*'([^']+)'/, 1]
|
|
208
|
+
raise "Could not read VERSION from #{version_file}" unless base
|
|
209
|
+
|
|
210
|
+
version = "#{base}.pr#{args.pr_number}" \
|
|
211
|
+
".#{args.run_number}.#{args.run_attempt}"
|
|
212
|
+
File.write(
|
|
213
|
+
version_file,
|
|
214
|
+
source.sub(/(VERSION\s*=\s*')[^']+(')/, "\\1#{version}\\2")
|
|
215
|
+
)
|
|
216
|
+
|
|
217
|
+
# Build + push directly rather than via `gem release`, which aborts on
|
|
218
|
+
# the (deliberately) uncommitted version rewrite. PR CI must not tag,
|
|
219
|
+
# commit, or push (contrast the `release` task).
|
|
220
|
+
sh 'gem build lino.gemspec'
|
|
221
|
+
sh "gem push lino-#{version}.gem"
|
|
222
|
+
end
|
|
223
|
+
end
|
|
224
|
+
|
|
179
225
|
desc 'Release gem'
|
|
180
226
|
task :release do
|
|
181
227
|
sh 'gem release --tag --push'
|
data/lib/lino/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,29 +1,35 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lino
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.2.0.pre.2
|
|
4
|
+
version: 4.2.0.pre.2.pr177.6.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- InfraBlocks Maintainers
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-07-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: childprocess
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '5.0'
|
|
20
|
+
- - "<"
|
|
18
21
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 5.
|
|
22
|
+
version: '5.2'
|
|
20
23
|
type: :runtime
|
|
21
24
|
prerelease: false
|
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
26
|
requirements:
|
|
24
|
-
- - "
|
|
27
|
+
- - ">="
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 5.0
|
|
29
|
+
version: '5.0'
|
|
30
|
+
- - "<"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '5.2'
|
|
27
33
|
- !ruby/object:Gem::Dependency
|
|
28
34
|
name: hamster
|
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -122,20 +128,6 @@ dependencies:
|
|
|
122
128
|
- - ">="
|
|
123
129
|
- !ruby/object:Gem::Version
|
|
124
130
|
version: '0'
|
|
125
|
-
- !ruby/object:Gem::Dependency
|
|
126
|
-
name: rake_circle_ci
|
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
|
128
|
-
requirements:
|
|
129
|
-
- - ">="
|
|
130
|
-
- !ruby/object:Gem::Version
|
|
131
|
-
version: '0'
|
|
132
|
-
type: :development
|
|
133
|
-
prerelease: false
|
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
-
requirements:
|
|
136
|
-
- - ">="
|
|
137
|
-
- !ruby/object:Gem::Version
|
|
138
|
-
version: '0'
|
|
139
131
|
- !ruby/object:Gem::Dependency
|
|
140
132
|
name: rake_git
|
|
141
133
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -193,7 +185,7 @@ dependencies:
|
|
|
193
185
|
- !ruby/object:Gem::Version
|
|
194
186
|
version: '0'
|
|
195
187
|
- !ruby/object:Gem::Dependency
|
|
196
|
-
name:
|
|
188
|
+
name: rake_slack
|
|
197
189
|
requirement: !ruby/object:Gem::Requirement
|
|
198
190
|
requirements:
|
|
199
191
|
- - ">="
|
|
@@ -325,7 +317,7 @@ licenses:
|
|
|
325
317
|
- MIT
|
|
326
318
|
metadata:
|
|
327
319
|
rubygems_mfa_required: 'false'
|
|
328
|
-
post_install_message:
|
|
320
|
+
post_install_message:
|
|
329
321
|
rdoc_options: []
|
|
330
322
|
require_paths:
|
|
331
323
|
- lib
|
|
@@ -333,15 +325,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
333
325
|
requirements:
|
|
334
326
|
- - ">="
|
|
335
327
|
- !ruby/object:Gem::Version
|
|
336
|
-
version: '3.
|
|
328
|
+
version: '3.3'
|
|
337
329
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
338
330
|
requirements:
|
|
339
|
-
- - "
|
|
331
|
+
- - ">="
|
|
340
332
|
- !ruby/object:Gem::Version
|
|
341
|
-
version:
|
|
333
|
+
version: '0'
|
|
342
334
|
requirements: []
|
|
343
|
-
rubygems_version: 3.
|
|
344
|
-
signing_key:
|
|
335
|
+
rubygems_version: 3.5.22
|
|
336
|
+
signing_key:
|
|
345
337
|
specification_version: 4
|
|
346
338
|
summary: Command line execution utilities
|
|
347
339
|
test_files: []
|