lex-node 0.2.0 → 0.2.3
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/.github/workflows/ci.yml +16 -0
- data/.rubocop.yml +40 -10
- data/CHANGELOG.md +19 -0
- data/CLAUDE.md +109 -0
- data/Dockerfile +1 -1
- data/Gemfile +2 -0
- data/Gemfile.lock +87 -0
- data/README.md +65 -5
- data/docker_deploy.rb +1 -0
- data/lex-node.gemspec +4 -1
- data/lib/legion/extensions/node/actors/beat.rb +27 -19
- data/lib/legion/extensions/node/actors/crypt.rb +12 -4
- data/lib/legion/extensions/node/actors/push_key.rb +27 -19
- data/lib/legion/extensions/node/actors/vault.rb +27 -19
- data/lib/legion/extensions/node/actors/vault_token_request.rb +27 -19
- data/lib/legion/extensions/node/data_test/migrations/001_nodes_table.rb +2 -0
- data/lib/legion/extensions/node/data_test/migrations/002_node_history_table.rb +2 -1
- data/lib/legion/extensions/node/data_test/migrations/003_legion_version_colume.rb +2 -0
- data/lib/legion/extensions/node/data_test/migrations/004_node_extensions.rb +2 -1
- data/lib/legion/extensions/node/runners/beat.rb +17 -9
- data/lib/legion/extensions/node/runners/crypt.rb +60 -52
- data/lib/legion/extensions/node/runners/node.rb +109 -52
- data/lib/legion/extensions/node/runners/vault.rb +44 -36
- data/lib/legion/extensions/node/transport/exchanges/node.rb +12 -6
- data/lib/legion/extensions/node/transport/messages/beat.rb +85 -22
- data/lib/legion/extensions/node/transport/messages/public_key.rb +24 -14
- data/lib/legion/extensions/node/transport/messages/push_cluster_secret.rb +34 -24
- data/lib/legion/extensions/node/transport/messages/push_vault_token.rb +34 -24
- data/lib/legion/extensions/node/transport/messages/request_cluster_secret.rb +26 -16
- data/lib/legion/extensions/node/transport/messages/request_public_keys.rb +23 -13
- data/lib/legion/extensions/node/transport/messages/request_vault_token.rb +31 -21
- data/lib/legion/extensions/node/transport/messages/update_result.rb +36 -0
- data/lib/legion/extensions/node/transport/queues/crypt.rb +14 -4
- data/lib/legion/extensions/node/transport/queues/health.rb +14 -4
- data/lib/legion/extensions/node/transport/queues/node.rb +18 -7
- data/lib/legion/extensions/node/transport/queues/vault.rb +14 -4
- data/lib/legion/extensions/node/transport.rb +17 -8
- data/lib/legion/extensions/node/version.rb +3 -1
- data/lib/legion/extensions/node.rb +2 -0
- metadata +10 -9
- data/.github/workflows/rspec.yml +0 -69
- data/.github/workflows/rubocop.yml +0 -28
|
@@ -1,21 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
class PublicKey < Legion::Transport::Message
|
|
3
|
-
def routing_key
|
|
4
|
-
'node.crypt.update_public_key'
|
|
5
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
6
2
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
module Legion
|
|
4
|
+
module Extensions
|
|
5
|
+
module Node
|
|
6
|
+
module Transport
|
|
7
|
+
module Messages
|
|
8
|
+
class PublicKey < Legion::Transport::Message
|
|
9
|
+
def routing_key
|
|
10
|
+
'node.crypt.update_public_key'
|
|
11
|
+
end
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
def type
|
|
14
|
+
'task'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def encrypt?
|
|
18
|
+
false
|
|
19
|
+
end
|
|
14
20
|
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
def validate
|
|
22
|
+
raise 'public_key should be a string' unless @options[:public_key].is_a?(String)
|
|
17
23
|
|
|
18
|
-
|
|
24
|
+
@valid = true
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
19
29
|
end
|
|
20
30
|
end
|
|
21
31
|
end
|
|
@@ -1,32 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
class PushClusterSecret < Legion::Transport::Message
|
|
3
|
-
def routing_key
|
|
4
|
-
@options[:queue_name]
|
|
5
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
6
2
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
module Legion
|
|
4
|
+
module Extensions
|
|
5
|
+
module Node
|
|
6
|
+
module Transport
|
|
7
|
+
module Messages
|
|
8
|
+
class PushClusterSecret < Legion::Transport::Message
|
|
9
|
+
def routing_key
|
|
10
|
+
@options[:queue_name]
|
|
11
|
+
end
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
message: @options[:message],
|
|
15
|
-
validation_string: @options[:validation_string] || nil,
|
|
16
|
-
encrypted_string: @options[:encrypted_string] || nil,
|
|
17
|
-
public_key: Base64.encode64(Legion::Crypt.public_key) }
|
|
18
|
-
end
|
|
13
|
+
def exchange
|
|
14
|
+
Legion::Transport::Exchanges::Node
|
|
15
|
+
end
|
|
19
16
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
def message
|
|
18
|
+
{ function: 'receive_cluster_secret',
|
|
19
|
+
runner_class: 'Legion::Extensions::Node::Runners::Crypt',
|
|
20
|
+
message: @options[:message],
|
|
21
|
+
validation_string: @options[:validation_string] || nil,
|
|
22
|
+
encrypted_string: @options[:encrypted_string] || nil,
|
|
23
|
+
public_key: Base64.encode64(Legion::Crypt.public_key) }
|
|
24
|
+
end
|
|
23
25
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
def type
|
|
27
|
+
'task'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def encrypt?
|
|
31
|
+
false
|
|
32
|
+
end
|
|
27
33
|
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
def validate
|
|
35
|
+
@valid = true
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
30
40
|
end
|
|
31
41
|
end
|
|
32
42
|
end
|
|
@@ -1,32 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
class PushVaultToken < Legion::Transport::Message
|
|
3
|
-
def routing_key
|
|
4
|
-
"node.#{@options[:queue_name]}"
|
|
5
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
6
2
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
module Legion
|
|
4
|
+
module Extensions
|
|
5
|
+
module Node
|
|
6
|
+
module Transport
|
|
7
|
+
module Messages
|
|
8
|
+
class PushVaultToken < Legion::Transport::Message
|
|
9
|
+
def routing_key
|
|
10
|
+
"node.#{@options[:queue_name]}"
|
|
11
|
+
end
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
runner_class: 'Legion::Extensions::Node::Runners::Vault',
|
|
15
|
-
message: @options[:token],
|
|
16
|
-
public_key: Base64.encode64(Legion::Crypt.public_key)
|
|
17
|
-
}
|
|
18
|
-
end
|
|
13
|
+
def exchange
|
|
14
|
+
Legion::Transport::Exchanges::Node
|
|
15
|
+
end
|
|
19
16
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
def message
|
|
18
|
+
{
|
|
19
|
+
function: 'receive_vault_token',
|
|
20
|
+
runner_class: 'Legion::Extensions::Node::Runners::Vault',
|
|
21
|
+
message: @options[:token],
|
|
22
|
+
public_key: Base64.encode64(Legion::Crypt.public_key)
|
|
23
|
+
}
|
|
24
|
+
end
|
|
23
25
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
def type
|
|
27
|
+
'task'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def encrypt?
|
|
31
|
+
false
|
|
32
|
+
end
|
|
27
33
|
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
def validate
|
|
35
|
+
@valid = true
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
30
40
|
end
|
|
31
41
|
end
|
|
32
42
|
end
|
|
@@ -1,23 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
class RequestClusterSecret < Legion::Transport::Message
|
|
3
|
-
def routing_key
|
|
4
|
-
'node.crypt.push_cluster_secret'
|
|
5
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
6
2
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
module Legion
|
|
4
|
+
module Extensions
|
|
5
|
+
module Node
|
|
6
|
+
module Transport
|
|
7
|
+
module Messages
|
|
8
|
+
class RequestClusterSecret < Legion::Transport::Message
|
|
9
|
+
def routing_key
|
|
10
|
+
'node.crypt.push_cluster_secret'
|
|
11
|
+
end
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
def message
|
|
14
|
+
{ function: 'push_cluster_secret', node_name: Legion::Settings[:client][:name] }
|
|
15
|
+
end
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
def type
|
|
18
|
+
'task'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def encrypt?
|
|
22
|
+
false
|
|
23
|
+
end
|
|
18
24
|
|
|
19
|
-
|
|
20
|
-
|
|
25
|
+
def validate
|
|
26
|
+
@valid = true
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
21
31
|
end
|
|
22
32
|
end
|
|
23
33
|
end
|
|
@@ -1,19 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
class RequestPublicKeys < Legion::Transport::Message
|
|
3
|
-
def routing_key
|
|
4
|
-
'node'
|
|
5
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
6
2
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
module Legion
|
|
4
|
+
module Extensions
|
|
5
|
+
module Node
|
|
6
|
+
module Transport
|
|
7
|
+
module Messages
|
|
8
|
+
class RequestPublicKeys < Legion::Transport::Message
|
|
9
|
+
def routing_key
|
|
10
|
+
'node'
|
|
11
|
+
end
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
def type
|
|
14
|
+
'task'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def encrypt?
|
|
18
|
+
false
|
|
19
|
+
end
|
|
14
20
|
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
def validate
|
|
22
|
+
@valid = true
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
17
27
|
end
|
|
18
28
|
end
|
|
19
29
|
end
|
|
@@ -1,28 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
class RequestVaultToken < Legion::Transport::Message
|
|
3
|
-
def routing_key
|
|
4
|
-
'vault'
|
|
5
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
6
2
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
3
|
+
module Legion
|
|
4
|
+
module Extensions
|
|
5
|
+
module Node
|
|
6
|
+
module Transport
|
|
7
|
+
module Messages
|
|
8
|
+
class RequestVaultToken < Legion::Transport::Message
|
|
9
|
+
def routing_key
|
|
10
|
+
'vault'
|
|
11
|
+
end
|
|
15
12
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
def message
|
|
14
|
+
{
|
|
15
|
+
function: 'push_vault_token',
|
|
16
|
+
node_name: Legion::Settings[:client][:name],
|
|
17
|
+
runner_class: 'Legion::Extensions::Node::Runners::Vault',
|
|
18
|
+
public_key: Legion::Crypt.public_key
|
|
19
|
+
}
|
|
20
|
+
end
|
|
19
21
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
def type
|
|
23
|
+
'task'
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def encrypt?
|
|
27
|
+
false
|
|
28
|
+
end
|
|
23
29
|
|
|
24
|
-
|
|
25
|
-
|
|
30
|
+
def validate
|
|
31
|
+
@valid = true
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
26
36
|
end
|
|
27
37
|
end
|
|
28
38
|
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Legion
|
|
4
|
+
module Extensions
|
|
5
|
+
module Node
|
|
6
|
+
module Transport
|
|
7
|
+
module Messages
|
|
8
|
+
class UpdateResult < Legion::Transport::Message
|
|
9
|
+
def routing_key
|
|
10
|
+
"node.#{Legion::Settings[:client][:name]}.update_result"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def exchange
|
|
14
|
+
Legion::Transport::Exchanges::Node
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def type
|
|
18
|
+
'task'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def encrypt?
|
|
22
|
+
false
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def validate
|
|
26
|
+
raise 'action is required' unless @options[:action].is_a?(String)
|
|
27
|
+
raise 'status is required' unless @options[:status].is_a?(String)
|
|
28
|
+
|
|
29
|
+
@valid = true
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Legion
|
|
4
|
+
module Extensions
|
|
5
|
+
module Node
|
|
6
|
+
module Transport
|
|
7
|
+
module Queues
|
|
8
|
+
class Crypt < Legion::Transport::Queue
|
|
9
|
+
def queue_options
|
|
10
|
+
{ auto_delete: false }
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
5
15
|
end
|
|
6
16
|
end
|
|
7
17
|
end
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Legion
|
|
4
|
+
module Extensions
|
|
5
|
+
module Node
|
|
6
|
+
module Transport
|
|
7
|
+
module Queues
|
|
8
|
+
class Health < Legion::Transport::Queue
|
|
9
|
+
def queue_options
|
|
10
|
+
{ arguments: { 'x-single-active-consumer': true }, auto_delete: false }
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
5
15
|
end
|
|
6
16
|
end
|
|
7
17
|
end
|
|
@@ -1,13 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'socket'
|
|
2
4
|
|
|
3
|
-
module Legion
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
module Legion
|
|
6
|
+
module Extensions
|
|
7
|
+
module Node
|
|
8
|
+
module Transport
|
|
9
|
+
module Queues
|
|
10
|
+
class Node < Legion::Transport::Queue
|
|
11
|
+
def queue_name
|
|
12
|
+
"node.#{Legion::Settings[:client][:name]}"
|
|
13
|
+
end
|
|
8
14
|
|
|
9
|
-
|
|
10
|
-
|
|
15
|
+
def queue_options
|
|
16
|
+
{ durable: false, exclusive: true, auto_delete: true,
|
|
17
|
+
arguments: { 'x-queue-type': 'classic' } }
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
11
22
|
end
|
|
12
23
|
end
|
|
13
24
|
end
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Legion
|
|
4
|
+
module Extensions
|
|
5
|
+
module Node
|
|
6
|
+
module Transport
|
|
7
|
+
module Queues
|
|
8
|
+
class Vault < Legion::Transport::Queue
|
|
9
|
+
def queue_options
|
|
10
|
+
{ auto_delete: false }
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
5
15
|
end
|
|
6
16
|
end
|
|
7
17
|
end
|
|
@@ -1,12 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'legion/extensions/transport'
|
|
2
4
|
|
|
3
|
-
module Legion
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
module Legion
|
|
6
|
+
module Extensions
|
|
7
|
+
module Node
|
|
8
|
+
module Transport
|
|
9
|
+
extend Legion::Extensions::Transport
|
|
10
|
+
|
|
11
|
+
def self.additional_e_to_q
|
|
12
|
+
array = [{ from: 'node', to: 'node', routing_key: "node.#{Legion::Settings[:client][:name]}" }]
|
|
13
|
+
array.push(from: 'node', to: 'node', routing_key: 'node.data.#') if Legion::Settings[:data][:connected]
|
|
14
|
+
array.push(from: 'node', to: 'node', routing_key: 'node.cache.#') if Legion::Settings[:cache][:connected]
|
|
15
|
+
array.push(from: 'node', to: 'node', routing_key: 'node.crypt.#')
|
|
16
|
+
array
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
11
20
|
end
|
|
12
21
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lex-node
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Esity
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies: []
|
|
13
12
|
description: This lex is responsible for sending heartbeats, allowing for dynamic
|
|
14
13
|
config, cluster secret, etc
|
|
@@ -18,13 +17,15 @@ executables: []
|
|
|
18
17
|
extensions: []
|
|
19
18
|
extra_rdoc_files: []
|
|
20
19
|
files:
|
|
21
|
-
- ".github/workflows/
|
|
22
|
-
- ".github/workflows/rubocop.yml"
|
|
20
|
+
- ".github/workflows/ci.yml"
|
|
23
21
|
- ".gitignore"
|
|
24
22
|
- ".rspec"
|
|
25
23
|
- ".rubocop.yml"
|
|
24
|
+
- CHANGELOG.md
|
|
25
|
+
- CLAUDE.md
|
|
26
26
|
- Dockerfile
|
|
27
27
|
- Gemfile
|
|
28
|
+
- Gemfile.lock
|
|
28
29
|
- LICENSE
|
|
29
30
|
- README.md
|
|
30
31
|
- docker_deploy.rb
|
|
@@ -52,6 +53,7 @@ files:
|
|
|
52
53
|
- lib/legion/extensions/node/transport/messages/request_cluster_secret.rb
|
|
53
54
|
- lib/legion/extensions/node/transport/messages/request_public_keys.rb
|
|
54
55
|
- lib/legion/extensions/node/transport/messages/request_vault_token.rb
|
|
56
|
+
- lib/legion/extensions/node/transport/messages/update_result.rb
|
|
55
57
|
- lib/legion/extensions/node/transport/queues/crypt.rb
|
|
56
58
|
- lib/legion/extensions/node/transport/queues/health.rb
|
|
57
59
|
- lib/legion/extensions/node/transport/queues/node.rb
|
|
@@ -67,7 +69,7 @@ metadata:
|
|
|
67
69
|
documentation_uri: https://github.com/LegionIO/lex-node
|
|
68
70
|
changelog_uri: https://github.com/LegionIO/lex-node
|
|
69
71
|
bug_tracker_uri: https://github.com/LegionIO/lex-node/issues
|
|
70
|
-
|
|
72
|
+
rubygems_mfa_required: 'true'
|
|
71
73
|
rdoc_options: []
|
|
72
74
|
require_paths:
|
|
73
75
|
- lib
|
|
@@ -75,15 +77,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
75
77
|
requirements:
|
|
76
78
|
- - ">="
|
|
77
79
|
- !ruby/object:Gem::Version
|
|
78
|
-
version:
|
|
80
|
+
version: '3.4'
|
|
79
81
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
80
82
|
requirements:
|
|
81
83
|
- - ">="
|
|
82
84
|
- !ruby/object:Gem::Version
|
|
83
85
|
version: '0'
|
|
84
86
|
requirements: []
|
|
85
|
-
rubygems_version: 3.
|
|
86
|
-
signing_key:
|
|
87
|
+
rubygems_version: 3.6.9
|
|
87
88
|
specification_version: 4
|
|
88
89
|
summary: Does Legion Node things
|
|
89
90
|
test_files: []
|
data/.github/workflows/rspec.yml
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
name: RSpec
|
|
2
|
-
on: [push, pull_request]
|
|
3
|
-
|
|
4
|
-
jobs:
|
|
5
|
-
rspec:
|
|
6
|
-
strategy:
|
|
7
|
-
fail-fast: false
|
|
8
|
-
matrix:
|
|
9
|
-
os: [ubuntu-latest]
|
|
10
|
-
ruby: [2.7]
|
|
11
|
-
runs-on: ${{ matrix.os }}
|
|
12
|
-
steps:
|
|
13
|
-
- uses: actions/checkout@v2
|
|
14
|
-
- uses: ruby/setup-ruby@v1
|
|
15
|
-
with:
|
|
16
|
-
ruby-version: ${{ matrix.ruby }}
|
|
17
|
-
bundler-cache: true
|
|
18
|
-
- name: RSpec run
|
|
19
|
-
run: |
|
|
20
|
-
bash -c "
|
|
21
|
-
bundle exec rspec
|
|
22
|
-
[[ $? -ne 2 ]]
|
|
23
|
-
"
|
|
24
|
-
rspec-mri:
|
|
25
|
-
needs: rspec
|
|
26
|
-
strategy:
|
|
27
|
-
fail-fast: false
|
|
28
|
-
matrix:
|
|
29
|
-
os: [ ubuntu-latest ]
|
|
30
|
-
ruby: [2.5, 2.6, '3.0', head]
|
|
31
|
-
runs-on: ${{ matrix.os }}
|
|
32
|
-
steps:
|
|
33
|
-
- uses: actions/checkout@v2
|
|
34
|
-
- uses: ruby/setup-ruby@v1
|
|
35
|
-
with:
|
|
36
|
-
ruby-version: ${{ matrix.ruby }}
|
|
37
|
-
bundler-cache: true
|
|
38
|
-
- run: bundle exec rspec
|
|
39
|
-
rspec-jruby:
|
|
40
|
-
needs: rspec
|
|
41
|
-
strategy:
|
|
42
|
-
fail-fast: false
|
|
43
|
-
matrix:
|
|
44
|
-
os: [ ubuntu-latest ]
|
|
45
|
-
ruby: [ jruby, jruby-head]
|
|
46
|
-
runs-on: ${{ matrix.os }}
|
|
47
|
-
steps:
|
|
48
|
-
- uses: actions/checkout@v2
|
|
49
|
-
- uses: ruby/setup-ruby@v1
|
|
50
|
-
with:
|
|
51
|
-
ruby-version: ${{ matrix.ruby }}
|
|
52
|
-
bundler-cache: true
|
|
53
|
-
- run: JRUBY_OPTS="--debug" bundle exec rspec
|
|
54
|
-
rspec-truffleruby:
|
|
55
|
-
needs: rspec
|
|
56
|
-
strategy:
|
|
57
|
-
fail-fast: false
|
|
58
|
-
matrix:
|
|
59
|
-
os: [ ubuntu-latest ]
|
|
60
|
-
ruby: [truffleruby]
|
|
61
|
-
runs-on: ${{ matrix.os }}
|
|
62
|
-
steps:
|
|
63
|
-
- uses: actions/checkout@v2
|
|
64
|
-
- uses: ruby/setup-ruby@v1
|
|
65
|
-
with:
|
|
66
|
-
ruby-version: ${{ matrix.ruby }}
|
|
67
|
-
bundler-cache: true
|
|
68
|
-
- run: bundle exec rspec
|
|
69
|
-
|