ruby_leiningen 0.30.0.pre.1 → 0.30.0.pre.2.pr169.2.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 +92 -81
- data/README.md +4 -4
- data/Rakefile +110 -47
- data/lib/ruby_leiningen/version.rb +1 -1
- data/ruby_leiningen.gemspec +3 -4
- metadata +12 -26
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4ee36a7a93c279839b1bfd27a89dc4a1217f7b94441954fe137e1bebd95df53c
|
|
4
|
+
data.tar.gz: 32eeaf264561bd859109587cc8c46000f369e829b8a427b8e0dd552955af80df
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 58ffdbd20faa6f2828b01f23d2bf0bafa0d13830a0fdd1b5638d3c54d8b82b9533c8be23a1594c04312363cfd7ab34be0b98664f41bf7f57f90691311a0856eb
|
|
7
|
+
data.tar.gz: 968e998e3299690660945d477abc565df4b56380da354b7f5a7a521df2b8dadb68583cb08f5e2f8dd92b5bb545bd2c6167ee6df01789405cffb7484efb905f1b
|
data/Gemfile.lock
CHANGED
|
@@ -1,54 +1,64 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
ruby_leiningen (0.30.0.pre.1)
|
|
5
|
-
activesupport (>= 6.0.2, <
|
|
4
|
+
ruby_leiningen (0.30.0.pre.2.pr169.2.1)
|
|
5
|
+
activesupport (>= 6.0.2, < 9)
|
|
6
6
|
lino (>= 4.1)
|
|
7
7
|
|
|
8
8
|
GEM
|
|
9
9
|
remote: https://rubygems.org/
|
|
10
10
|
specs:
|
|
11
|
-
activesupport (
|
|
11
|
+
activesupport (8.1.3)
|
|
12
12
|
base64
|
|
13
13
|
bigdecimal
|
|
14
|
-
concurrent-ruby (~> 1.0, >= 1.
|
|
14
|
+
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
15
15
|
connection_pool (>= 2.2.5)
|
|
16
16
|
drb
|
|
17
17
|
i18n (>= 1.6, < 2)
|
|
18
|
+
json
|
|
19
|
+
logger (>= 1.4.2)
|
|
18
20
|
minitest (>= 5.1)
|
|
19
|
-
|
|
20
|
-
tzinfo (~> 2.0)
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
securerandom (>= 0.3)
|
|
22
|
+
tzinfo (~> 2.0, >= 2.0.5)
|
|
23
|
+
uri (>= 0.13.1)
|
|
24
|
+
addressable (2.9.0)
|
|
25
|
+
public_suffix (>= 2.0.2, < 8.0)
|
|
26
|
+
ast (2.4.3)
|
|
27
|
+
base64 (0.3.0)
|
|
28
|
+
bigdecimal (4.1.2)
|
|
26
29
|
childprocess (5.0.0)
|
|
27
30
|
coderay (1.1.3)
|
|
28
31
|
colored2 (3.1.2)
|
|
29
|
-
concurrent-ruby (1.3.
|
|
30
|
-
connection_pool (
|
|
31
|
-
diff-lcs (1.
|
|
32
|
+
concurrent-ruby (1.3.8)
|
|
33
|
+
connection_pool (3.0.2)
|
|
34
|
+
diff-lcs (1.6.2)
|
|
32
35
|
docile (1.4.0)
|
|
33
|
-
drb (2.2.
|
|
34
|
-
excon (
|
|
35
|
-
faraday (2.10.0)
|
|
36
|
-
faraday-net_http (>= 2.0, < 3.2)
|
|
36
|
+
drb (2.2.3)
|
|
37
|
+
excon (1.6.0)
|
|
37
38
|
logger
|
|
38
|
-
faraday
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
faraday (2.14.3)
|
|
40
|
+
faraday-net_http (>= 2.0, < 3.5)
|
|
41
|
+
json
|
|
42
|
+
logger
|
|
43
|
+
faraday-net_http (3.4.4)
|
|
44
|
+
net-http (~> 0.5)
|
|
45
|
+
ffi (1.17.4)
|
|
46
|
+
ffi (1.17.4-arm64-darwin)
|
|
47
|
+
ffi (1.17.4-x86_64-darwin)
|
|
48
|
+
ffi (1.17.4-x86_64-linux-gnu)
|
|
41
49
|
formatador (1.1.0)
|
|
42
|
-
gem-release (2.2.
|
|
50
|
+
gem-release (2.2.4)
|
|
43
51
|
git (1.19.1)
|
|
44
52
|
addressable (~> 2.8)
|
|
45
53
|
rchardet (~> 1.8)
|
|
46
|
-
guard (2.
|
|
54
|
+
guard (2.19.1)
|
|
47
55
|
formatador (>= 0.2.4)
|
|
48
56
|
listen (>= 2.7, < 4.0)
|
|
57
|
+
logger (~> 1.6)
|
|
49
58
|
lumberjack (>= 1.0.12, < 2.0)
|
|
50
59
|
nenv (~> 0.1)
|
|
51
60
|
notiffany (~> 0.0)
|
|
61
|
+
ostruct (~> 0.6)
|
|
52
62
|
pry (>= 0.13.0)
|
|
53
63
|
shellany (~> 0.0)
|
|
54
64
|
thor (>= 0.18.1)
|
|
@@ -59,50 +69,46 @@ GEM
|
|
|
59
69
|
rspec (>= 2.99.0, < 4.0)
|
|
60
70
|
hamster (3.0.0)
|
|
61
71
|
concurrent-ruby (~> 1.0)
|
|
62
|
-
i18n (1.
|
|
72
|
+
i18n (1.15.2)
|
|
63
73
|
concurrent-ruby (~> 1.0)
|
|
64
|
-
immutable-struct (2.
|
|
65
|
-
json (2.
|
|
66
|
-
language_server-protocol (3.17.0.
|
|
74
|
+
immutable-struct (2.5.0)
|
|
75
|
+
json (2.12.2)
|
|
76
|
+
language_server-protocol (3.17.0.5)
|
|
67
77
|
lino (4.1.0)
|
|
68
78
|
childprocess (~> 5.0.0)
|
|
69
79
|
hamster (~> 3.0)
|
|
70
80
|
open4 (~> 1.3)
|
|
81
|
+
lint_roller (1.1.0)
|
|
71
82
|
listen (3.9.0)
|
|
72
83
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
73
84
|
rb-inotify (~> 0.9, >= 0.9.10)
|
|
74
|
-
logger (1.
|
|
85
|
+
logger (1.7.0)
|
|
75
86
|
lumberjack (1.2.10)
|
|
76
87
|
method_source (1.1.0)
|
|
77
|
-
minitest (5.
|
|
78
|
-
mutex_m (0.2.0)
|
|
88
|
+
minitest (5.27.0)
|
|
79
89
|
nenv (0.3.0)
|
|
80
|
-
net-http (0.
|
|
81
|
-
uri
|
|
90
|
+
net-http (0.9.1)
|
|
91
|
+
uri (>= 0.11.1)
|
|
82
92
|
notiffany (0.1.3)
|
|
83
93
|
nenv (~> 0.1)
|
|
84
94
|
shellany (~> 0.0)
|
|
85
|
-
octokit (
|
|
86
|
-
base64
|
|
95
|
+
octokit (10.0.0)
|
|
87
96
|
faraday (>= 1, < 3)
|
|
88
97
|
sawyer (~> 0.9)
|
|
89
98
|
open4 (1.3.4)
|
|
90
|
-
|
|
91
|
-
|
|
99
|
+
ostruct (0.6.1)
|
|
100
|
+
parallel (1.27.0)
|
|
101
|
+
parser (3.3.8.0)
|
|
92
102
|
ast (~> 2.4.1)
|
|
93
103
|
racc
|
|
94
|
-
|
|
104
|
+
prism (1.4.0)
|
|
105
|
+
pry (0.15.2)
|
|
95
106
|
coderay (~> 1.1)
|
|
96
107
|
method_source (~> 1.0)
|
|
97
|
-
public_suffix (
|
|
98
|
-
racc (1.8.
|
|
108
|
+
public_suffix (7.0.5)
|
|
109
|
+
racc (1.8.1)
|
|
99
110
|
rainbow (3.1.1)
|
|
100
|
-
rake (13.2
|
|
101
|
-
rake_circle_ci (0.11.0)
|
|
102
|
-
colored2 (~> 3.1)
|
|
103
|
-
excon (~> 0.72)
|
|
104
|
-
rake_factory (~> 0.23)
|
|
105
|
-
sshkey (~> 2.0)
|
|
111
|
+
rake (13.4.2)
|
|
106
112
|
rake_factory (0.33.0)
|
|
107
113
|
activesupport (>= 4)
|
|
108
114
|
rake (~> 13.0)
|
|
@@ -110,69 +116,74 @@ GEM
|
|
|
110
116
|
colored2 (~> 3.1)
|
|
111
117
|
git (~> 1.13, >= 1.13.2)
|
|
112
118
|
rake_factory (~> 0.33)
|
|
113
|
-
rake_git_crypt (0.
|
|
119
|
+
rake_git_crypt (0.4.0)
|
|
114
120
|
colored2 (~> 3.1)
|
|
121
|
+
lino (~> 4.1)
|
|
115
122
|
rake_factory (~> 0.33)
|
|
116
123
|
ruby_git_crypt (~> 0.1)
|
|
117
124
|
ruby_gpg2 (~> 0.12)
|
|
118
|
-
rake_github (0.
|
|
125
|
+
rake_github (0.17.0)
|
|
119
126
|
colored2 (~> 3.1)
|
|
120
|
-
octokit (>=
|
|
121
|
-
rake_factory (~> 0.
|
|
127
|
+
octokit (>= 7.0, < 11.0)
|
|
128
|
+
rake_factory (~> 0.33)
|
|
129
|
+
rbnacl (~> 7.1)
|
|
122
130
|
sshkey (~> 2.0)
|
|
123
131
|
rake_gpg (0.20.0)
|
|
124
132
|
rake_factory (~> 0.33)
|
|
125
133
|
ruby_gpg2 (~> 0.12)
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
rake_factory (~> 0.
|
|
129
|
-
sshkey (~> 2.0)
|
|
134
|
+
rake_slack (0.3.0)
|
|
135
|
+
excon (>= 0.72, < 2.0)
|
|
136
|
+
rake_factory (~> 0.33)
|
|
130
137
|
rb-fsevent (0.11.2)
|
|
131
138
|
rb-inotify (0.11.1)
|
|
132
139
|
ffi (~> 1.0)
|
|
140
|
+
rbnacl (7.1.2)
|
|
141
|
+
ffi (~> 1)
|
|
133
142
|
rchardet (1.8.0)
|
|
134
|
-
regexp_parser (2.
|
|
135
|
-
|
|
136
|
-
strscan
|
|
137
|
-
rspec (3.13.0)
|
|
143
|
+
regexp_parser (2.10.0)
|
|
144
|
+
rspec (3.13.1)
|
|
138
145
|
rspec-core (~> 3.13.0)
|
|
139
146
|
rspec-expectations (~> 3.13.0)
|
|
140
147
|
rspec-mocks (~> 3.13.0)
|
|
141
|
-
rspec-core (3.13.
|
|
148
|
+
rspec-core (3.13.4)
|
|
142
149
|
rspec-support (~> 3.13.0)
|
|
143
|
-
rspec-expectations (3.13.
|
|
150
|
+
rspec-expectations (3.13.5)
|
|
144
151
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
145
152
|
rspec-support (~> 3.13.0)
|
|
146
|
-
rspec-mocks (3.13.
|
|
153
|
+
rspec-mocks (3.13.5)
|
|
147
154
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
148
155
|
rspec-support (~> 3.13.0)
|
|
149
|
-
rspec-support (3.13.
|
|
150
|
-
rubocop (1.
|
|
156
|
+
rspec-support (3.13.4)
|
|
157
|
+
rubocop (1.76.0)
|
|
151
158
|
json (~> 2.3)
|
|
152
|
-
language_server-protocol (
|
|
159
|
+
language_server-protocol (~> 3.17.0.2)
|
|
160
|
+
lint_roller (~> 1.1.0)
|
|
153
161
|
parallel (~> 1.10)
|
|
154
162
|
parser (>= 3.3.0.2)
|
|
155
163
|
rainbow (>= 2.2.2, < 4.0)
|
|
156
|
-
regexp_parser (>= 2.
|
|
157
|
-
|
|
158
|
-
rubocop-ast (>= 1.31.1, < 2.0)
|
|
164
|
+
regexp_parser (>= 2.9.3, < 3.0)
|
|
165
|
+
rubocop-ast (>= 1.45.0, < 2.0)
|
|
159
166
|
ruby-progressbar (~> 1.7)
|
|
160
|
-
unicode-display_width (>= 2.4.0, <
|
|
161
|
-
rubocop-ast (1.
|
|
162
|
-
parser (>= 3.3.
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
rubocop (
|
|
167
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
|
168
|
+
rubocop-ast (1.45.0)
|
|
169
|
+
parser (>= 3.3.7.2)
|
|
170
|
+
prism (~> 1.4)
|
|
171
|
+
rubocop-rake (0.7.1)
|
|
172
|
+
lint_roller (~> 1.1)
|
|
173
|
+
rubocop (>= 1.72.1)
|
|
174
|
+
rubocop-rspec (3.6.0)
|
|
175
|
+
lint_roller (~> 1.1)
|
|
176
|
+
rubocop (~> 1.72, >= 1.72.1)
|
|
167
177
|
ruby-progressbar (1.13.0)
|
|
168
178
|
ruby_git_crypt (0.1.0)
|
|
169
179
|
immutable-struct (~> 2.4)
|
|
170
180
|
lino (>= 4.1)
|
|
171
181
|
ruby_gpg2 (0.12.0)
|
|
172
182
|
lino (>= 4.1)
|
|
173
|
-
sawyer (0.9.
|
|
183
|
+
sawyer (0.9.3)
|
|
174
184
|
addressable (>= 2.3.5)
|
|
175
185
|
faraday (>= 0.17.3, < 3)
|
|
186
|
+
securerandom (0.4.1)
|
|
176
187
|
shellany (0.0.1)
|
|
177
188
|
simplecov (0.22.0)
|
|
178
189
|
docile (~> 1.1)
|
|
@@ -181,12 +192,13 @@ GEM
|
|
|
181
192
|
simplecov-html (0.12.3)
|
|
182
193
|
simplecov_json_formatter (0.1.4)
|
|
183
194
|
sshkey (2.0.0)
|
|
184
|
-
|
|
185
|
-
thor (1.3.1)
|
|
195
|
+
thor (1.3.2)
|
|
186
196
|
tzinfo (2.0.6)
|
|
187
197
|
concurrent-ruby (~> 1.0)
|
|
188
|
-
unicode-display_width (
|
|
189
|
-
|
|
198
|
+
unicode-display_width (3.1.4)
|
|
199
|
+
unicode-emoji (~> 4.0, >= 4.0.4)
|
|
200
|
+
unicode-emoji (4.0.4)
|
|
201
|
+
uri (1.1.1)
|
|
190
202
|
|
|
191
203
|
PLATFORMS
|
|
192
204
|
arm64-darwin-21
|
|
@@ -203,12 +215,11 @@ DEPENDENCIES
|
|
|
203
215
|
guard
|
|
204
216
|
guard-rspec
|
|
205
217
|
rake
|
|
206
|
-
rake_circle_ci
|
|
207
218
|
rake_git
|
|
208
219
|
rake_git_crypt
|
|
209
220
|
rake_github
|
|
210
221
|
rake_gpg
|
|
211
|
-
|
|
222
|
+
rake_slack
|
|
212
223
|
rspec
|
|
213
224
|
rubocop
|
|
214
225
|
rubocop-rake
|
|
@@ -217,4 +228,4 @@ DEPENDENCIES
|
|
|
217
228
|
simplecov
|
|
218
229
|
|
|
219
230
|
BUNDLED WITH
|
|
220
|
-
2.
|
|
231
|
+
2.5.15
|
data/README.md
CHANGED
|
@@ -73,16 +73,16 @@ release a new version, update the version number in `version.rb`, and then run
|
|
|
73
73
|
git commits and tags, and push the `.gem` file to
|
|
74
74
|
[rubygems.org](https://rubygems.org).
|
|
75
75
|
|
|
76
|
-
### Managing
|
|
76
|
+
### Managing CI keys
|
|
77
77
|
|
|
78
|
-
To encrypt a GPG key for use by
|
|
78
|
+
To encrypt a GPG key for use by CI:
|
|
79
79
|
|
|
80
80
|
```bash
|
|
81
81
|
openssl aes-256-cbc \
|
|
82
82
|
-e \
|
|
83
83
|
-md sha1 \
|
|
84
84
|
-in ./config/secrets/ci/gpg.private \
|
|
85
|
-
-out ./.
|
|
85
|
+
-out ./.github/gpg.private.enc \
|
|
86
86
|
-k "<passphrase>"
|
|
87
87
|
```
|
|
88
88
|
|
|
@@ -92,7 +92,7 @@ To check decryption is working correctly:
|
|
|
92
92
|
openssl aes-256-cbc \
|
|
93
93
|
-d \
|
|
94
94
|
-md sha1 \
|
|
95
|
-
-in ./.
|
|
95
|
+
-in ./.github/gpg.private.enc \
|
|
96
96
|
-k "<passphrase>"
|
|
97
97
|
```
|
|
98
98
|
|
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,60 +105,101 @@ 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 ruby_leiningen.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/ruby_leiningen'
|
|
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/ruby_leiningen'
|
|
149
122
|
) do |t|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
123
|
+
# Operator's ambient auth. Resolve once and fail fast: a missing,
|
|
124
|
+
# unauthenticated, or absent gh yields an empty string, which would
|
|
125
|
+
# otherwise surface later as an opaque Octokit 401. An empty or
|
|
126
|
+
# whitespace-only GITHUB_TOKEN is treated as absent so an authenticated
|
|
127
|
+
# operator falls through to `gh auth token` rather than hitting the raise.
|
|
128
|
+
github_token = ENV['GITHUB_TOKEN'].to_s.strip
|
|
129
|
+
if github_token.empty?
|
|
130
|
+
github_token = begin
|
|
131
|
+
`gh auth token`
|
|
132
|
+
rescue Errno::ENOENT
|
|
133
|
+
''
|
|
134
|
+
end.strip
|
|
135
|
+
end
|
|
136
|
+
if github_token.empty?
|
|
137
|
+
raise 'No GitHub token available: set GITHUB_TOKEN or run `gh auth login`'
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
t.access_token = github_token
|
|
141
|
+
|
|
142
|
+
# Actions store only: dependabot runs never reach the passphrase — the
|
|
143
|
+
# only pr.yaml job that unlocks git-crypt (prerelease) is guarded to
|
|
144
|
+
# same-repo human PRs. Guard against a locked clone: without
|
|
145
|
+
# it, File.read returns git-crypt ciphertext and github:secrets:ensure
|
|
146
|
+
# silently uploads garbage that only surfaces much later as an opaque
|
|
147
|
+
# GPG unlock failure in the release job.
|
|
148
|
+
passphrase_path = 'config/secrets/ci/encryption.passphrase'
|
|
149
|
+
unless File.exist?(passphrase_path)
|
|
150
|
+
raise "Passphrase file not found: #{passphrase_path} — expected a " \
|
|
151
|
+
'git-crypt-unlocked clone with the CI secrets present'
|
|
152
|
+
end
|
|
153
|
+
passphrase = File.binread(passphrase_path)
|
|
154
|
+
if passphrase.start_with?("\x00GITCRYPT")
|
|
155
|
+
raise 'encryption.passphrase is git-crypt ciphertext — unlock the ' \
|
|
156
|
+
'clone before provisioning'
|
|
157
|
+
end
|
|
158
|
+
t.secrets = [
|
|
159
|
+
{ name: 'ENCRYPTION_PASSPHRASE', value: passphrase.chomp }
|
|
160
|
+
]
|
|
161
|
+
t.environments = [
|
|
162
|
+
{ name: 'release',
|
|
163
|
+
reviewers: [{ team: 'maintainers' }] }
|
|
159
164
|
]
|
|
160
165
|
end
|
|
161
166
|
|
|
162
167
|
namespace :pipeline do
|
|
163
|
-
desc 'Prepare
|
|
168
|
+
desc 'Prepare GitHub Actions pipeline'
|
|
164
169
|
task prepare: %i[
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
circle_ci:ssh_keys:ensure
|
|
168
|
-
github:deploy_keys:ensure
|
|
170
|
+
github:secrets:ensure
|
|
171
|
+
github:environments:ensure
|
|
169
172
|
]
|
|
170
173
|
end
|
|
171
174
|
|
|
175
|
+
namespace :slack do
|
|
176
|
+
RakeSlack.define_notification_tasks do |t|
|
|
177
|
+
t.bot_token = ENV.fetch('SLACK_BOT_TOKEN', nil)
|
|
178
|
+
t.routing_rules = [
|
|
179
|
+
{ when: { type: 'on_hold' },
|
|
180
|
+
channel: 'C038EDCRSQJ', format: :on_hold }, # release
|
|
181
|
+
{ when: { actor: 'dependabot[bot]', outcome: 'success' },
|
|
182
|
+
channel: 'C03N711HVDG', format: :success }, # builds-dependabot
|
|
183
|
+
{ when: { actor: 'dependabot[bot]' },
|
|
184
|
+
channel: 'C03N711HVDG', format: :failure }, # builds-dependabot
|
|
185
|
+
{ when: { outcome: 'success' },
|
|
186
|
+
channel: 'C023XUE76GH', format: :success }, # builds
|
|
187
|
+
# Failures go to builds, not team-dev (org default), to keep noise
|
|
188
|
+
# out of a popular channel while this pipeline beds in.
|
|
189
|
+
{ when: {},
|
|
190
|
+
channel: 'C023XUE76GH', format: :failure } # builds
|
|
191
|
+
]
|
|
192
|
+
end
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
namespace :repository do
|
|
196
|
+
desc 'Set the git author for CI'
|
|
197
|
+
task :set_ci_author do
|
|
198
|
+
sh 'git config --global user.name "InfraBlocks CI"'
|
|
199
|
+
sh 'git config --global user.email "ci@infrablocks.io"'
|
|
200
|
+
end
|
|
201
|
+
end
|
|
202
|
+
|
|
172
203
|
namespace :version do
|
|
173
204
|
desc 'Bump version for specified type (pre, major, minor, patch)'
|
|
174
205
|
task :bump, [:type] do |_, args|
|
|
@@ -176,6 +207,38 @@ namespace :version do
|
|
|
176
207
|
end
|
|
177
208
|
end
|
|
178
209
|
|
|
210
|
+
namespace :prerelease do
|
|
211
|
+
desc 'Build and push a namespaced pre-release to RubyGems ' \
|
|
212
|
+
'(PR CI only; no bump, no tag, no commit, no push)'
|
|
213
|
+
task :publish, %i[pr_number run_number run_attempt] do |_, args|
|
|
214
|
+
%i[pr_number run_number run_attempt].each do |name|
|
|
215
|
+
raise "Missing task argument: #{name}" if args[name].to_s.empty?
|
|
216
|
+
end
|
|
217
|
+
|
|
218
|
+
version_file = 'lib/ruby_leiningen/version.rb'
|
|
219
|
+
version_pattern = /(VERSION\s*=\s*')([^']+)(')/
|
|
220
|
+
source = File.read(version_file)
|
|
221
|
+
base = source[version_pattern, 2]
|
|
222
|
+
raise "Could not read VERSION from #{version_file}" unless base
|
|
223
|
+
|
|
224
|
+
version = "#{base}.pr#{args.pr_number}" \
|
|
225
|
+
".#{args.run_number}.#{args.run_attempt}"
|
|
226
|
+
gem_file = "ruby_leiningen-#{version}.gem"
|
|
227
|
+
begin
|
|
228
|
+
File.write(version_file,
|
|
229
|
+
source.sub(version_pattern, "\\1#{version}\\3"))
|
|
230
|
+
# Build + push directly: `gem release` aborts on the (deliberately)
|
|
231
|
+
# uncommitted version rewrite. PR CI must not tag, commit, or push
|
|
232
|
+
# (contrast the `release` task).
|
|
233
|
+
sh 'gem build ruby_leiningen.gemspec'
|
|
234
|
+
sh "gem push #{gem_file}"
|
|
235
|
+
ensure
|
|
236
|
+
File.write(version_file, source)
|
|
237
|
+
rm_f gem_file
|
|
238
|
+
end
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
|
|
179
242
|
desc 'Release gem'
|
|
180
243
|
task :release do
|
|
181
244
|
sh 'gem release --tag --push'
|
data/ruby_leiningen.gemspec
CHANGED
|
@@ -34,9 +34,9 @@ Gem::Specification.new do |spec|
|
|
|
34
34
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
35
35
|
spec.require_paths = ['lib']
|
|
36
36
|
|
|
37
|
-
spec.required_ruby_version = '>= 3.
|
|
37
|
+
spec.required_ruby_version = '>= 3.3'
|
|
38
38
|
|
|
39
|
-
spec.add_dependency 'activesupport', '>= 6.0.2', '<
|
|
39
|
+
spec.add_dependency 'activesupport', '>= 6.0.2', '< 9'
|
|
40
40
|
spec.add_dependency 'lino', '>= 4.1'
|
|
41
41
|
|
|
42
42
|
spec.add_development_dependency 'bundler'
|
|
@@ -44,12 +44,11 @@ Gem::Specification.new do |spec|
|
|
|
44
44
|
spec.add_development_dependency 'guard'
|
|
45
45
|
spec.add_development_dependency 'guard-rspec'
|
|
46
46
|
spec.add_development_dependency 'rake'
|
|
47
|
-
spec.add_development_dependency 'rake_circle_ci'
|
|
48
47
|
spec.add_development_dependency 'rake_git'
|
|
49
48
|
spec.add_development_dependency 'rake_git_crypt'
|
|
50
49
|
spec.add_development_dependency 'rake_github'
|
|
51
50
|
spec.add_development_dependency 'rake_gpg'
|
|
52
|
-
spec.add_development_dependency '
|
|
51
|
+
spec.add_development_dependency 'rake_slack'
|
|
53
52
|
spec.add_development_dependency 'rspec'
|
|
54
53
|
spec.add_development_dependency 'rubocop'
|
|
55
54
|
spec.add_development_dependency 'rubocop-rake'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ruby_leiningen
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.30.0.pre.1
|
|
4
|
+
version: 0.30.0.pre.2.pr169.2.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-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -19,7 +19,7 @@ dependencies:
|
|
|
19
19
|
version: 6.0.2
|
|
20
20
|
- - "<"
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '
|
|
22
|
+
version: '9'
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -29,7 +29,7 @@ dependencies:
|
|
|
29
29
|
version: 6.0.2
|
|
30
30
|
- - "<"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '
|
|
32
|
+
version: '9'
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
34
|
name: lino
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -114,20 +114,6 @@ dependencies:
|
|
|
114
114
|
- - ">="
|
|
115
115
|
- !ruby/object:Gem::Version
|
|
116
116
|
version: '0'
|
|
117
|
-
- !ruby/object:Gem::Dependency
|
|
118
|
-
name: rake_circle_ci
|
|
119
|
-
requirement: !ruby/object:Gem::Requirement
|
|
120
|
-
requirements:
|
|
121
|
-
- - ">="
|
|
122
|
-
- !ruby/object:Gem::Version
|
|
123
|
-
version: '0'
|
|
124
|
-
type: :development
|
|
125
|
-
prerelease: false
|
|
126
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
127
|
-
requirements:
|
|
128
|
-
- - ">="
|
|
129
|
-
- !ruby/object:Gem::Version
|
|
130
|
-
version: '0'
|
|
131
117
|
- !ruby/object:Gem::Dependency
|
|
132
118
|
name: rake_git
|
|
133
119
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -185,7 +171,7 @@ dependencies:
|
|
|
185
171
|
- !ruby/object:Gem::Version
|
|
186
172
|
version: '0'
|
|
187
173
|
- !ruby/object:Gem::Dependency
|
|
188
|
-
name:
|
|
174
|
+
name: rake_slack
|
|
189
175
|
requirement: !ruby/object:Gem::Requirement
|
|
190
176
|
requirements:
|
|
191
177
|
- - ">="
|
|
@@ -311,7 +297,7 @@ licenses:
|
|
|
311
297
|
- MIT
|
|
312
298
|
metadata:
|
|
313
299
|
rubygems_mfa_required: 'false'
|
|
314
|
-
post_install_message:
|
|
300
|
+
post_install_message:
|
|
315
301
|
rdoc_options: []
|
|
316
302
|
require_paths:
|
|
317
303
|
- lib
|
|
@@ -319,15 +305,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
319
305
|
requirements:
|
|
320
306
|
- - ">="
|
|
321
307
|
- !ruby/object:Gem::Version
|
|
322
|
-
version: '3.
|
|
308
|
+
version: '3.3'
|
|
323
309
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
324
310
|
requirements:
|
|
325
|
-
- - "
|
|
311
|
+
- - ">="
|
|
326
312
|
- !ruby/object:Gem::Version
|
|
327
|
-
version:
|
|
313
|
+
version: '0'
|
|
328
314
|
requirements: []
|
|
329
|
-
rubygems_version: 3.
|
|
330
|
-
signing_key:
|
|
315
|
+
rubygems_version: 3.5.22
|
|
316
|
+
signing_key:
|
|
331
317
|
specification_version: 4
|
|
332
318
|
summary: A simple Ruby wrapper for invoking leiningen commands.
|
|
333
319
|
test_files: []
|