rake_fly 2.16.0.pre.2 → 2.16.0.pre.2.pr212.1.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 +87 -81
- data/README.md +4 -4
- data/Rakefile +109 -45
- data/lib/rake_fly/version.rb +1 -1
- data/rake_fly.gemspec +2 -3
- metadata +10 -24
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f8829855c44e706017c3c841d3261cab60ffdb730d6c2dc76f36a33771cb62ca
|
|
4
|
+
data.tar.gz: 9c5bfa591a23dcbc57f9ff5f489dad784522b51dae55f7583e23db9dd8f8107a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0d849d10c5a4d83a361f74853dc277ca1f397d11bd380304acc75bcf0a423dfb62c6b195af84d76a4c7b6f2e367ad7e09a1c7dbd950b48dbc56a57942d4483e4
|
|
7
|
+
data.tar.gz: ef97e6fe64b1e8e680f5d03e634a14cc813ba0b3786aaa245135f21ebc3610fb6bc51dfa782c8aaecbf914eff10000c3130bd3436a936f137bdc30bf6fccb536
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
rake_fly (2.16.0.pre.2)
|
|
4
|
+
rake_fly (2.16.0.pre.2.pr212.1.1)
|
|
5
5
|
concourse.rb (>= 0.4)
|
|
6
6
|
rake_dependencies (~> 3.7)
|
|
7
7
|
rake_factory (~> 0.33)
|
|
@@ -11,85 +11,86 @@ PATH
|
|
|
11
11
|
GEM
|
|
12
12
|
remote: https://rubygems.org/
|
|
13
13
|
specs:
|
|
14
|
-
activesupport (
|
|
14
|
+
activesupport (8.1.3)
|
|
15
15
|
base64
|
|
16
16
|
bigdecimal
|
|
17
|
-
concurrent-ruby (~> 1.0, >= 1.
|
|
17
|
+
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
18
18
|
connection_pool (>= 2.2.5)
|
|
19
19
|
drb
|
|
20
20
|
i18n (>= 1.6, < 2)
|
|
21
|
+
json
|
|
22
|
+
logger (>= 1.4.2)
|
|
21
23
|
minitest (>= 5.1)
|
|
22
|
-
|
|
23
|
-
tzinfo (~> 2.0)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
securerandom (>= 0.3)
|
|
25
|
+
tzinfo (~> 2.0, >= 2.0.5)
|
|
26
|
+
uri (>= 0.13.1)
|
|
27
|
+
addressable (2.9.0)
|
|
28
|
+
public_suffix (>= 2.0.2, < 8.0)
|
|
29
|
+
ast (2.4.3)
|
|
30
|
+
base64 (0.3.0)
|
|
31
|
+
bigdecimal (4.1.2)
|
|
29
32
|
childprocess (5.0.0)
|
|
30
33
|
colored2 (3.1.2)
|
|
31
34
|
concourse.rb (0.5.0)
|
|
32
35
|
excon (~> 0.72)
|
|
33
36
|
semantic (~> 1.5)
|
|
34
|
-
concurrent-ruby (1.3.
|
|
35
|
-
connection_pool (
|
|
36
|
-
diff-lcs (1.
|
|
37
|
+
concurrent-ruby (1.3.8)
|
|
38
|
+
connection_pool (3.0.2)
|
|
39
|
+
diff-lcs (1.6.2)
|
|
37
40
|
docile (1.4.0)
|
|
38
41
|
down (5.4.2)
|
|
39
42
|
addressable (~> 2.8)
|
|
40
|
-
drb (2.2.
|
|
41
|
-
excon (0.
|
|
42
|
-
fakefs (
|
|
43
|
-
faker (3.
|
|
43
|
+
drb (2.2.3)
|
|
44
|
+
excon (0.112.0)
|
|
45
|
+
fakefs (3.0.0)
|
|
46
|
+
faker (3.5.1)
|
|
44
47
|
i18n (>= 1.8.11, < 2)
|
|
45
|
-
faraday (2.
|
|
46
|
-
faraday-net_http (>= 2.0, < 3.
|
|
48
|
+
faraday (2.14.3)
|
|
49
|
+
faraday-net_http (>= 2.0, < 3.5)
|
|
50
|
+
json
|
|
47
51
|
logger
|
|
48
|
-
faraday-net_http (3.
|
|
49
|
-
net-http
|
|
50
|
-
|
|
52
|
+
faraday-net_http (3.4.4)
|
|
53
|
+
net-http (~> 0.5)
|
|
54
|
+
ffi (1.17.4)
|
|
55
|
+
ffi (1.17.4-x86_64-linux-gnu)
|
|
56
|
+
gem-release (2.2.4)
|
|
51
57
|
git (1.19.1)
|
|
52
58
|
addressable (~> 2.8)
|
|
53
59
|
rchardet (~> 1.8)
|
|
54
60
|
hamster (3.0.0)
|
|
55
61
|
concurrent-ruby (~> 1.0)
|
|
56
|
-
i18n (1.
|
|
62
|
+
i18n (1.15.2)
|
|
57
63
|
concurrent-ruby (~> 1.0)
|
|
58
|
-
immutable-struct (2.
|
|
59
|
-
json (2.
|
|
60
|
-
jwt (2.
|
|
64
|
+
immutable-struct (2.5.0)
|
|
65
|
+
json (2.12.2)
|
|
66
|
+
jwt (2.10.1)
|
|
61
67
|
base64
|
|
62
|
-
language_server-protocol (3.17.0.
|
|
68
|
+
language_server-protocol (3.17.0.5)
|
|
63
69
|
lino (4.1.0)
|
|
64
70
|
childprocess (~> 5.0.0)
|
|
65
71
|
hamster (~> 3.0)
|
|
66
72
|
open4 (~> 1.3)
|
|
67
|
-
|
|
73
|
+
lint_roller (1.1.0)
|
|
74
|
+
logger (1.7.0)
|
|
68
75
|
minitar (0.9)
|
|
69
|
-
minitest (5.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
octokit (8.1.0)
|
|
74
|
-
base64
|
|
76
|
+
minitest (5.27.0)
|
|
77
|
+
net-http (0.9.1)
|
|
78
|
+
uri (>= 0.11.1)
|
|
79
|
+
octokit (10.0.0)
|
|
75
80
|
faraday (>= 1, < 3)
|
|
76
81
|
sawyer (~> 0.9)
|
|
77
82
|
open4 (1.3.4)
|
|
78
|
-
openssl (3.
|
|
79
|
-
parallel (1.
|
|
80
|
-
parser (3.3.
|
|
83
|
+
openssl (3.3.0)
|
|
84
|
+
parallel (1.27.0)
|
|
85
|
+
parser (3.3.8.0)
|
|
81
86
|
ast (~> 2.4.1)
|
|
82
87
|
racc
|
|
83
|
-
|
|
84
|
-
|
|
88
|
+
prism (1.4.0)
|
|
89
|
+
public_suffix (7.0.5)
|
|
90
|
+
racc (1.8.1)
|
|
85
91
|
rainbow (3.1.1)
|
|
86
|
-
rake (13.2
|
|
87
|
-
|
|
88
|
-
colored2 (~> 3.1)
|
|
89
|
-
excon (~> 0.72)
|
|
90
|
-
rake_factory (~> 0.23)
|
|
91
|
-
sshkey (~> 2.0)
|
|
92
|
-
rake_dependencies (3.7.0)
|
|
92
|
+
rake (13.4.2)
|
|
93
|
+
rake_dependencies (3.9.0)
|
|
93
94
|
down (~> 5.3)
|
|
94
95
|
hamster (~> 3.0)
|
|
95
96
|
minitar (~> 0.9)
|
|
@@ -102,57 +103,61 @@ GEM
|
|
|
102
103
|
colored2 (~> 3.1)
|
|
103
104
|
git (~> 1.13, >= 1.13.2)
|
|
104
105
|
rake_factory (~> 0.33)
|
|
105
|
-
rake_git_crypt (0.
|
|
106
|
+
rake_git_crypt (0.4.0)
|
|
106
107
|
colored2 (~> 3.1)
|
|
108
|
+
lino (~> 4.1)
|
|
107
109
|
rake_factory (~> 0.33)
|
|
108
110
|
ruby_git_crypt (~> 0.1)
|
|
109
111
|
ruby_gpg2 (~> 0.12)
|
|
110
|
-
rake_github (0.
|
|
112
|
+
rake_github (0.17.0)
|
|
111
113
|
colored2 (~> 3.1)
|
|
112
|
-
octokit (>=
|
|
113
|
-
rake_factory (~> 0.
|
|
114
|
+
octokit (>= 7.0, < 11.0)
|
|
115
|
+
rake_factory (~> 0.33)
|
|
116
|
+
rbnacl (~> 7.1)
|
|
114
117
|
sshkey (~> 2.0)
|
|
115
118
|
rake_gpg (0.20.0)
|
|
116
119
|
rake_factory (~> 0.33)
|
|
117
120
|
ruby_gpg2 (~> 0.12)
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
rake_factory (~> 0.
|
|
121
|
-
|
|
121
|
+
rake_slack (0.3.0)
|
|
122
|
+
excon (>= 0.72, < 2.0)
|
|
123
|
+
rake_factory (~> 0.33)
|
|
124
|
+
rbnacl (7.1.2)
|
|
125
|
+
ffi (~> 1)
|
|
122
126
|
rchardet (1.8.0)
|
|
123
|
-
regexp_parser (2.
|
|
124
|
-
|
|
125
|
-
strscan
|
|
126
|
-
rspec (3.13.0)
|
|
127
|
+
regexp_parser (2.10.0)
|
|
128
|
+
rspec (3.13.1)
|
|
127
129
|
rspec-core (~> 3.13.0)
|
|
128
130
|
rspec-expectations (~> 3.13.0)
|
|
129
131
|
rspec-mocks (~> 3.13.0)
|
|
130
|
-
rspec-core (3.13.
|
|
132
|
+
rspec-core (3.13.4)
|
|
131
133
|
rspec-support (~> 3.13.0)
|
|
132
|
-
rspec-expectations (3.13.
|
|
134
|
+
rspec-expectations (3.13.5)
|
|
133
135
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
134
136
|
rspec-support (~> 3.13.0)
|
|
135
|
-
rspec-mocks (3.13.
|
|
137
|
+
rspec-mocks (3.13.5)
|
|
136
138
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
137
139
|
rspec-support (~> 3.13.0)
|
|
138
|
-
rspec-support (3.13.
|
|
139
|
-
rubocop (1.
|
|
140
|
+
rspec-support (3.13.4)
|
|
141
|
+
rubocop (1.75.8)
|
|
140
142
|
json (~> 2.3)
|
|
141
|
-
language_server-protocol (
|
|
143
|
+
language_server-protocol (~> 3.17.0.2)
|
|
144
|
+
lint_roller (~> 1.1.0)
|
|
142
145
|
parallel (~> 1.10)
|
|
143
146
|
parser (>= 3.3.0.2)
|
|
144
147
|
rainbow (>= 2.2.2, < 4.0)
|
|
145
|
-
regexp_parser (>= 2.
|
|
146
|
-
|
|
147
|
-
rubocop-ast (>= 1.31.1, < 2.0)
|
|
148
|
+
regexp_parser (>= 2.9.3, < 3.0)
|
|
149
|
+
rubocop-ast (>= 1.44.0, < 2.0)
|
|
148
150
|
ruby-progressbar (~> 1.7)
|
|
149
|
-
unicode-display_width (>= 2.4.0, <
|
|
150
|
-
rubocop-ast (1.
|
|
151
|
-
parser (>= 3.3.
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
rubocop (
|
|
151
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
|
152
|
+
rubocop-ast (1.44.1)
|
|
153
|
+
parser (>= 3.3.7.2)
|
|
154
|
+
prism (~> 1.4)
|
|
155
|
+
rubocop-rake (0.7.1)
|
|
156
|
+
lint_roller (~> 1.1)
|
|
157
|
+
rubocop (>= 1.72.1)
|
|
158
|
+
rubocop-rspec (3.6.0)
|
|
159
|
+
lint_roller (~> 1.1)
|
|
160
|
+
rubocop (~> 1.72, >= 1.72.1)
|
|
156
161
|
ruby-progressbar (1.13.0)
|
|
157
162
|
ruby_fly (0.41.0)
|
|
158
163
|
lino (>= 4.1)
|
|
@@ -162,9 +167,10 @@ GEM
|
|
|
162
167
|
ruby_gpg2 (0.12.0)
|
|
163
168
|
lino (>= 4.1)
|
|
164
169
|
rubyzip (2.3.2)
|
|
165
|
-
sawyer (0.9.
|
|
170
|
+
sawyer (0.9.3)
|
|
166
171
|
addressable (>= 2.3.5)
|
|
167
172
|
faraday (>= 0.17.3, < 3)
|
|
173
|
+
securerandom (0.4.1)
|
|
168
174
|
semantic (1.6.1)
|
|
169
175
|
simplecov (0.22.0)
|
|
170
176
|
docile (~> 1.1)
|
|
@@ -173,15 +179,16 @@ GEM
|
|
|
173
179
|
simplecov-html (0.12.3)
|
|
174
180
|
simplecov_json_formatter (0.1.4)
|
|
175
181
|
sshkey (2.0.0)
|
|
176
|
-
strscan (3.1.0)
|
|
177
182
|
tzinfo (2.0.6)
|
|
178
183
|
concurrent-ruby (~> 1.0)
|
|
179
|
-
unicode-display_width (
|
|
180
|
-
|
|
184
|
+
unicode-display_width (3.1.4)
|
|
185
|
+
unicode-emoji (~> 4.0, >= 4.0.4)
|
|
186
|
+
unicode-emoji (4.0.4)
|
|
187
|
+
uri (1.1.1)
|
|
181
188
|
|
|
182
189
|
PLATFORMS
|
|
183
190
|
ruby
|
|
184
|
-
x86_64-
|
|
191
|
+
x86_64-linux
|
|
185
192
|
|
|
186
193
|
DEPENDENCIES
|
|
187
194
|
activesupport
|
|
@@ -192,13 +199,12 @@ DEPENDENCIES
|
|
|
192
199
|
jwt
|
|
193
200
|
openssl
|
|
194
201
|
rake
|
|
195
|
-
rake_circle_ci
|
|
196
202
|
rake_fly!
|
|
197
203
|
rake_git
|
|
198
204
|
rake_git_crypt
|
|
199
205
|
rake_github
|
|
200
206
|
rake_gpg
|
|
201
|
-
|
|
207
|
+
rake_slack
|
|
202
208
|
rspec
|
|
203
209
|
rubocop
|
|
204
210
|
rubocop-rake
|
data/README.md
CHANGED
|
@@ -35,16 +35,16 @@ release a new version, update the version number in `version.rb`, and then run
|
|
|
35
35
|
git commits and tags, and push the `.gem` file to
|
|
36
36
|
[rubygems.org](https://rubygems.org).
|
|
37
37
|
|
|
38
|
-
### Managing
|
|
38
|
+
### Managing CI keys
|
|
39
39
|
|
|
40
|
-
To encrypt a GPG key for use by
|
|
40
|
+
To encrypt a GPG key for use by CI:
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
43
|
openssl aes-256-cbc \
|
|
44
44
|
-e \
|
|
45
45
|
-md sha1 \
|
|
46
46
|
-in ./config/secrets/ci/gpg.private \
|
|
47
|
-
-out ./.
|
|
47
|
+
-out ./.github/gpg.private.enc \
|
|
48
48
|
-k "<passphrase>"
|
|
49
49
|
```
|
|
50
50
|
|
|
@@ -54,7 +54,7 @@ To check decryption is working correctly:
|
|
|
54
54
|
openssl aes-256-cbc \
|
|
55
55
|
-d \
|
|
56
56
|
-md sha1 \
|
|
57
|
-
-in ./.
|
|
57
|
+
-in ./.github/gpg.private.enc \
|
|
58
58
|
-k "<passphrase>"
|
|
59
59
|
```
|
|
60
60
|
|
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,99 @@ 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 rake_fly.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
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
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
|
-
]
|
|
119
|
+
# Operator's ambient auth. Resolve once and fail fast: a missing,
|
|
120
|
+
# unauthenticated, or absent gh yields an empty string, which would
|
|
121
|
+
# otherwise surface later as an opaque Octokit 401. An empty or
|
|
122
|
+
# whitespace-only GITHUB_TOKEN is treated as absent so an authenticated
|
|
123
|
+
# operator falls through to `gh auth token` rather than hitting the raise.
|
|
124
|
+
def resolve_github_token
|
|
125
|
+
token = ENV['GITHUB_TOKEN'].to_s.strip
|
|
126
|
+
token = `gh auth token`.strip if token.empty?
|
|
127
|
+
token
|
|
128
|
+
rescue Errno::ENOENT
|
|
129
|
+
''
|
|
144
130
|
end
|
|
145
131
|
|
|
146
132
|
RakeGithub.define_repository_tasks(
|
|
147
133
|
namespace: :github,
|
|
148
134
|
repository: 'infrablocks/rake_fly'
|
|
149
135
|
) do |t|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
136
|
+
github_token = resolve_github_token
|
|
137
|
+
if github_token.empty?
|
|
138
|
+
raise 'No GitHub token available: set GITHUB_TOKEN or run `gh auth login`'
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
t.access_token = github_token
|
|
142
|
+
|
|
143
|
+
# Actions store only: dependabot runs never reach the passphrase — the
|
|
144
|
+
# only pr.yaml job that unlocks git-crypt (prerelease) is guarded to
|
|
145
|
+
# same-repo human PRs. Guard against a locked clone: without
|
|
146
|
+
# it, File.read returns git-crypt ciphertext and github:secrets:ensure
|
|
147
|
+
# silently uploads garbage that only surfaces much later as an opaque
|
|
148
|
+
# GPG unlock failure in the release job.
|
|
149
|
+
passphrase_path = 'config/secrets/ci/encryption.passphrase'
|
|
150
|
+
unless File.exist?(passphrase_path)
|
|
151
|
+
raise "Passphrase file not found: #{passphrase_path} — expected a " \
|
|
152
|
+
'git-crypt-unlocked clone with the CI secrets present'
|
|
153
|
+
end
|
|
154
|
+
passphrase = File.binread(passphrase_path)
|
|
155
|
+
if passphrase.start_with?("\x00GITCRYPT")
|
|
156
|
+
raise 'encryption.passphrase is git-crypt ciphertext — unlock the ' \
|
|
157
|
+
'clone before provisioning'
|
|
158
|
+
end
|
|
159
|
+
t.secrets = [
|
|
160
|
+
{ name: 'ENCRYPTION_PASSPHRASE', value: passphrase.chomp }
|
|
161
|
+
]
|
|
162
|
+
t.environments = [
|
|
163
|
+
{ name: 'release',
|
|
164
|
+
reviewers: [{ team: 'maintainers' }] }
|
|
159
165
|
]
|
|
160
166
|
end
|
|
161
167
|
|
|
168
|
+
namespace :slack do
|
|
169
|
+
RakeSlack.define_notification_tasks do |t|
|
|
170
|
+
t.bot_token = ENV.fetch('SLACK_BOT_TOKEN', nil)
|
|
171
|
+
t.routing_rules = [
|
|
172
|
+
{ when: { type: 'on_hold' },
|
|
173
|
+
channel: 'C038EDCRSQJ', format: :on_hold }, # release
|
|
174
|
+
{ when: { actor: 'dependabot[bot]', outcome: 'success' },
|
|
175
|
+
channel: 'C03N711HVDG', format: :success }, # builds-dependabot
|
|
176
|
+
{ when: { actor: 'dependabot[bot]' },
|
|
177
|
+
channel: 'C03N711HVDG', format: :failure }, # builds-dependabot
|
|
178
|
+
{ when: { outcome: 'success' },
|
|
179
|
+
channel: 'C023XUE76GH', format: :success }, # builds
|
|
180
|
+
# Failures go to builds, not team-dev (org default), to keep noise
|
|
181
|
+
# out of a popular channel while this pipeline beds in.
|
|
182
|
+
{ when: {},
|
|
183
|
+
channel: 'C023XUE76GH', format: :failure } # builds
|
|
184
|
+
]
|
|
185
|
+
end
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
namespace :repository do
|
|
189
|
+
desc 'Set the git author for CI'
|
|
190
|
+
task :set_ci_author do
|
|
191
|
+
sh 'git config --global user.name "InfraBlocks CI"'
|
|
192
|
+
sh 'git config --global user.email "ci@infrablocks.io"'
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
|
|
162
196
|
namespace :pipeline do
|
|
163
|
-
desc 'Prepare
|
|
197
|
+
desc 'Prepare GitHub Actions pipeline'
|
|
164
198
|
task prepare: %i[
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
circle_ci:ssh_keys:ensure
|
|
168
|
-
github:deploy_keys:ensure
|
|
199
|
+
github:secrets:ensure
|
|
200
|
+
github:environments:ensure
|
|
169
201
|
]
|
|
170
202
|
end
|
|
171
203
|
|
|
@@ -176,6 +208,38 @@ namespace :version do
|
|
|
176
208
|
end
|
|
177
209
|
end
|
|
178
210
|
|
|
211
|
+
namespace :prerelease do
|
|
212
|
+
desc 'Build and push a namespaced pre-release to RubyGems ' \
|
|
213
|
+
'(PR CI only; no bump, no tag, no commit, no push)'
|
|
214
|
+
task :publish, %i[pr_number run_number run_attempt] do |_, args|
|
|
215
|
+
%i[pr_number run_number run_attempt].each do |name|
|
|
216
|
+
raise "Missing task argument: #{name}" if args[name].to_s.empty?
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
version_file = 'lib/rake_fly/version.rb'
|
|
220
|
+
version_pattern = /(VERSION\s*=\s*')([^']+)(')/
|
|
221
|
+
source = File.read(version_file)
|
|
222
|
+
base = source[version_pattern, 2]
|
|
223
|
+
raise "Could not read VERSION from #{version_file}" unless base
|
|
224
|
+
|
|
225
|
+
version = "#{base}.pr#{args.pr_number}" \
|
|
226
|
+
".#{args.run_number}.#{args.run_attempt}"
|
|
227
|
+
gem_file = "rake_fly-#{version}.gem"
|
|
228
|
+
begin
|
|
229
|
+
File.write(version_file,
|
|
230
|
+
source.sub(version_pattern, "\\1#{version}\\3"))
|
|
231
|
+
# Build + push directly: `gem release` aborts on the (deliberately)
|
|
232
|
+
# uncommitted version rewrite. PR CI must not tag, commit, or push
|
|
233
|
+
# (contrast the `release` task).
|
|
234
|
+
sh 'gem build rake_fly.gemspec'
|
|
235
|
+
sh "gem push #{gem_file}"
|
|
236
|
+
ensure
|
|
237
|
+
File.write(version_file, source)
|
|
238
|
+
rm_f gem_file
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
end
|
|
242
|
+
|
|
179
243
|
desc 'Release gem'
|
|
180
244
|
task :release do
|
|
181
245
|
sh 'gem release --tag --push'
|
data/lib/rake_fly/version.rb
CHANGED
data/rake_fly.gemspec
CHANGED
|
@@ -35,7 +35,7 @@ Gem::Specification.new do |spec|
|
|
|
35
35
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
36
36
|
spec.require_paths = ['lib']
|
|
37
37
|
|
|
38
|
-
spec.required_ruby_version = '>= 3.
|
|
38
|
+
spec.required_ruby_version = '>= 3.3'
|
|
39
39
|
|
|
40
40
|
spec.add_dependency 'concourse.rb', '>= 0.4'
|
|
41
41
|
spec.add_dependency 'rake_dependencies', '~> 3.7'
|
|
@@ -51,12 +51,11 @@ Gem::Specification.new do |spec|
|
|
|
51
51
|
spec.add_development_dependency 'jwt'
|
|
52
52
|
spec.add_development_dependency 'openssl'
|
|
53
53
|
spec.add_development_dependency 'rake'
|
|
54
|
-
spec.add_development_dependency 'rake_circle_ci'
|
|
55
54
|
spec.add_development_dependency 'rake_git'
|
|
56
55
|
spec.add_development_dependency 'rake_git_crypt'
|
|
57
56
|
spec.add_development_dependency 'rake_github'
|
|
58
57
|
spec.add_development_dependency 'rake_gpg'
|
|
59
|
-
spec.add_development_dependency '
|
|
58
|
+
spec.add_development_dependency 'rake_slack'
|
|
60
59
|
spec.add_development_dependency 'rspec'
|
|
61
60
|
spec.add_development_dependency 'rubocop'
|
|
62
61
|
spec.add_development_dependency 'rubocop-rake'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rake_fly
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.16.0.pre.2
|
|
4
|
+
version: 2.16.0.pre.2.pr212.1.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: concourse.rb
|
|
@@ -192,20 +192,6 @@ dependencies:
|
|
|
192
192
|
- - ">="
|
|
193
193
|
- !ruby/object:Gem::Version
|
|
194
194
|
version: '0'
|
|
195
|
-
- !ruby/object:Gem::Dependency
|
|
196
|
-
name: rake_circle_ci
|
|
197
|
-
requirement: !ruby/object:Gem::Requirement
|
|
198
|
-
requirements:
|
|
199
|
-
- - ">="
|
|
200
|
-
- !ruby/object:Gem::Version
|
|
201
|
-
version: '0'
|
|
202
|
-
type: :development
|
|
203
|
-
prerelease: false
|
|
204
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
205
|
-
requirements:
|
|
206
|
-
- - ">="
|
|
207
|
-
- !ruby/object:Gem::Version
|
|
208
|
-
version: '0'
|
|
209
195
|
- !ruby/object:Gem::Dependency
|
|
210
196
|
name: rake_git
|
|
211
197
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -263,7 +249,7 @@ dependencies:
|
|
|
263
249
|
- !ruby/object:Gem::Version
|
|
264
250
|
version: '0'
|
|
265
251
|
- !ruby/object:Gem::Dependency
|
|
266
|
-
name:
|
|
252
|
+
name: rake_slack
|
|
267
253
|
requirement: !ruby/object:Gem::Requirement
|
|
268
254
|
requirements:
|
|
269
255
|
- - ">="
|
|
@@ -383,7 +369,7 @@ licenses:
|
|
|
383
369
|
- MIT
|
|
384
370
|
metadata:
|
|
385
371
|
rubygems_mfa_required: 'false'
|
|
386
|
-
post_install_message:
|
|
372
|
+
post_install_message:
|
|
387
373
|
rdoc_options: []
|
|
388
374
|
require_paths:
|
|
389
375
|
- lib
|
|
@@ -391,15 +377,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
391
377
|
requirements:
|
|
392
378
|
- - ">="
|
|
393
379
|
- !ruby/object:Gem::Version
|
|
394
|
-
version: '3.
|
|
380
|
+
version: '3.3'
|
|
395
381
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
396
382
|
requirements:
|
|
397
|
-
- - "
|
|
383
|
+
- - ">="
|
|
398
384
|
- !ruby/object:Gem::Version
|
|
399
|
-
version:
|
|
385
|
+
version: '0'
|
|
400
386
|
requirements: []
|
|
401
|
-
rubygems_version: 3.
|
|
402
|
-
signing_key:
|
|
387
|
+
rubygems_version: 3.5.22
|
|
388
|
+
signing_key:
|
|
403
389
|
specification_version: 4
|
|
404
390
|
summary: Rake tasks for managing Concourse pipelines.
|
|
405
391
|
test_files: []
|