nonnative 1.93.0 → 1.95.0
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/.circleci/config.yml +2 -2
- data/.codecov.yml +6 -0
- data/.github/dependabot.yml +1 -1
- data/CHANGELOG.md +43 -0
- data/Gemfile.lock +34 -48
- data/README.md +20 -0
- data/lib/nonnative/configuration.rb +2 -1
- data/lib/nonnative/go_command.rb +3 -4
- data/lib/nonnative/http_server.rb +10 -12
- data/lib/nonnative/port.rb +4 -0
- data/lib/nonnative/process.rb +5 -1
- data/lib/nonnative/version.rb +1 -1
- data/lib/nonnative.rb +6 -2
- data/nonnative.gemspec +1 -2
- metadata +9 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3613ca777546fc006d042c2362ea786703faf50f9c7da1dbb000ee86888576ec
|
4
|
+
data.tar.gz: 9ccf77b2d359cb33bb576e83af6de8747eadd13de2d205a339e12121bb20559b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 81ad331d2b921d218aa07c3c5dde834e3cca80065ec2f62b12bc33e73902fe3cb757d5bfe997261c11f3eb1fd114753df1bba00d5b13a884ad3b87546fd4ec70
|
7
|
+
data.tar.gz: d286638c65e67430acc7f3f262ddd99ba684b6a6eb5235e276b974481925a21eef519d6f2244b475d86183464c842d04300cf4fe0bafde11335b3385d5e6637e
|
data/.circleci/config.yml
CHANGED
@@ -3,7 +3,7 @@ version: 2.1
|
|
3
3
|
jobs:
|
4
4
|
build:
|
5
5
|
docker:
|
6
|
-
- image: alexfalkowski/ruby:1.
|
6
|
+
- image: alexfalkowski/ruby:1.23
|
7
7
|
working_directory: ~/nonnative
|
8
8
|
steps:
|
9
9
|
- checkout
|
@@ -31,7 +31,7 @@ jobs:
|
|
31
31
|
resource_class: large
|
32
32
|
release:
|
33
33
|
docker:
|
34
|
-
- image: alexfalkowski/release:3.
|
34
|
+
- image: alexfalkowski/release:3.15
|
35
35
|
working_directory: ~/nonnative
|
36
36
|
steps:
|
37
37
|
- checkout
|
data/.codecov.yml
ADDED
data/.github/dependabot.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,49 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
|
7
7
|
## Unreleased
|
8
8
|
|
9
|
+
## [v1.95.0](https://github.com/alexfalkowski/nonnative/releases/tag/v1.95.0) - 2025-04-30
|
10
|
+
|
11
|
+
- [`5146eb7`](https://github.com/alexfalkowski/nonnative/commit/5146eb76cc7fb0dbe8ad5443d189639a7837f5b2) feat(http): use puma (#547)
|
12
|
+
- [`4ee710d`](https://github.com/alexfalkowski/nonnative/commit/4ee710dc56de05b7b6b724705aecfd0921a038ec) build(deps): bump bin from `b0fd780` to `926a71b` (#545)
|
13
|
+
|
14
|
+
## [v1.94.0](https://github.com/alexfalkowski/nonnative/releases/tag/v1.94.0) - 2025-04-27
|
15
|
+
|
16
|
+
- [`d337a15`](https://github.com/alexfalkowski/nonnative/commit/d337a1586bf8eb39f5ceae18f3dc06b852c7a4fc) feat(logger): add logging (#544)
|
17
|
+
- [`0e76d4b`](https://github.com/alexfalkowski/nonnative/commit/0e76d4b2ac39bc1373c6cd0830a52becc7c079b2) build(ci): use alexfalkowski/release:3.15 (#543)
|
18
|
+
- [`82088dc`](https://github.com/alexfalkowski/nonnative/commit/82088dcef282b442d6319fc9b82a10d8ac066270) build(codecov): add config (#542)
|
19
|
+
- [`fe7ef0e`](https://github.com/alexfalkowski/nonnative/commit/fe7ef0e3b1b08a21a6ec75912b775be395218911) test(features): spelling mistake (#541)
|
20
|
+
- [`10aea2e`](https://github.com/alexfalkowski/nonnative/commit/10aea2e94b25f1cd953e04cb3cd5089a8f48ca20) build(deps): bump bin from `dbf1984` to `b0fd780` (#540)
|
21
|
+
- [`fdbc409`](https://github.com/alexfalkowski/nonnative/commit/fdbc4098aa32df88f081c21ead7283dcf69fe616) build(ci): use alexfalkowski/ruby:1.23 (#539)
|
22
|
+
- [`587f2cf`](https://github.com/alexfalkowski/nonnative/commit/587f2cf3306150c0e1b883b04a602d7a95361458) build(deps): bump bin from `68f9c91` to `dbf1984` (#538)
|
23
|
+
- [`44f2570`](https://github.com/alexfalkowski/nonnative/commit/44f25700b4ec50aec182a535ffce58e0e67e399a) build(ci): use alexfalkowski/ruby:1.22 (#537)
|
24
|
+
- [`26c3109`](https://github.com/alexfalkowski/nonnative/commit/26c3109142407056bd1924eb25f0218943e12de1) build(deps): bump bin from `78af843` to `68f9c91` (#536)
|
25
|
+
- [`3488f3e`](https://github.com/alexfalkowski/nonnative/commit/3488f3e991158afbfc212cea2baebb4e4ac8708a) build(ci): use alexfalkowski/ruby:1.21 (#535)
|
26
|
+
- [`bf99aac`](https://github.com/alexfalkowski/nonnative/commit/bf99aac8cbee77a65641d698dc20f5917f47fd5d) build(deps): bump bin from `78af843` to `68f9c91` (#534)
|
27
|
+
- [`ac6e108`](https://github.com/alexfalkowski/nonnative/commit/ac6e108c22a6ea1d08aeda4f38dac8a2ebd33577) build(ci): use alexfalkowski/ruby:1.20 (#533)
|
28
|
+
- [`07ff9d7`](https://github.com/alexfalkowski/nonnative/commit/07ff9d7ee48df3c79bbf2df6c9c68d2ea6e59823) build(deps): bump bin from `16e2296` to `78af843` (#532)
|
29
|
+
- [`31e97fd`](https://github.com/alexfalkowski/nonnative/commit/31e97fd6c64986cfe3786e4d7e44c17232e4a890) build(deps): bump bin from `c661929` to `16e2296` (#531)
|
30
|
+
- [`d97ba88`](https://github.com/alexfalkowski/nonnative/commit/d97ba88e25eb3ab40a541e35e48879abb704bbe9) build(deps): bump bin from `446c480` to `c661929` (#530)
|
31
|
+
- [`34d0190`](https://github.com/alexfalkowski/nonnative/commit/34d0190f6eca0d7856128374adb4a1aeeb083bdf) build(deps): bump bin from `b887116` to `446c480` (#529)
|
32
|
+
- [`aeca841`](https://github.com/alexfalkowski/nonnative/commit/aeca8412b40c6d272d19019784e8b9194a59c027) build(deps): bump bin from `8e1a9ac` to `b887116` (#528)
|
33
|
+
- [`7bbe128`](https://github.com/alexfalkowski/nonnative/commit/7bbe1288d2c373227a981082e7044fe31c9a034f) build(gems): add arm64-darwin-24 (#527)
|
34
|
+
- [`dcf3f26`](https://github.com/alexfalkowski/nonnative/commit/dcf3f2652c771755de326dee0d8262940b9497ec) build(deps): update all (#526)
|
35
|
+
- [`4f697a9`](https://github.com/alexfalkowski/nonnative/commit/4f697a9b8d1c6f118eec411734e2fd49b333db5d) build(deps): update all (#525)
|
36
|
+
- [`b9b26dc`](https://github.com/alexfalkowski/nonnative/commit/b9b26dc1995bb8fa023b5c995580efce2acad9bd) build(deps): bump bin from `637442f` to `8e1a9ac` (#524)
|
37
|
+
- [`cbfedd2`](https://github.com/alexfalkowski/nonnative/commit/cbfedd27eb19eadbdf51e8b45da95290acd2b967) build(ci): update alexfalkowski/ruby:1.16 (#523)
|
38
|
+
- [`b1f7ebd`](https://github.com/alexfalkowski/nonnative/commit/b1f7ebdfc7a95e6666e0d5c4dd38110b6e76e8c5) build(deps): update with make update-all-dep (#522)
|
39
|
+
- [`259b3c6`](https://github.com/alexfalkowski/nonnative/commit/259b3c6c2f90ac98ebfeb5cb19859ab9b4ad363a) build(deps): bump bin from `c8030a1` to `637442f` (#521)
|
40
|
+
- [`b8ec44d`](https://github.com/alexfalkowski/nonnative/commit/b8ec44d6b99a662b9757364e2dbfe088b7a19a8a) build(deps): bundle update (#520)
|
41
|
+
- [`4cba661`](https://github.com/alexfalkowski/nonnative/commit/4cba6611423e8632a0dcfb87b552ac76696fd099) build(ci): use test for dependabot (#519)
|
42
|
+
- [`2cb62d4`](https://github.com/alexfalkowski/nonnative/commit/2cb62d47c82494db7b79e67eb24f0a0f28c0d299) build(deps): bump bin from `8592a53` to `c8030a1` (#517)
|
43
|
+
- [`ddd4ace`](https://github.com/alexfalkowski/nonnative/commit/ddd4ace2c987266acfcd203c447c1a1e01209ad8) build(ci): update alexfalkowski/ruby:1.12 (#516)
|
44
|
+
- [`a70ae5c`](https://github.com/alexfalkowski/nonnative/commit/a70ae5c1652b5f96ef17eedf0444e668bc6eaf41) build(deps): bump bin from `dc45d04` to `8592a53` (#515)
|
45
|
+
- [`ad63e97`](https://github.com/alexfalkowski/nonnative/commit/ad63e97672fe34da7f7000a4f063d40aaea01143) build(deps): bump bin from `e1bf51d` to `dc45d04` (#514)
|
46
|
+
- [`29c424c`](https://github.com/alexfalkowski/nonnative/commit/29c424c54e622a6e9602d65bac375e5b342d35fe) build(deps): bump bin from `3e0336a` to `e1bf51d` (#513)
|
47
|
+
- [`887ab8f`](https://github.com/alexfalkowski/nonnative/commit/887ab8f46003809ef0d7ed7c38c7ad55e7a687f5) build(deps): bump bin from `877a42c` to `3e0336a` (#512)
|
48
|
+
- [`42574d3`](https://github.com/alexfalkowski/nonnative/commit/42574d351b35c177adf049dda276853eff2ddc37) build(deps): bump bin from `5b56b0c` to `877a42c` (#511)
|
49
|
+
- [`84a2a22`](https://github.com/alexfalkowski/nonnative/commit/84a2a22e16e2afcd5040b7f23e626f0431e94cdb) build(ci): add x86_64-darwin-23 (#510)
|
50
|
+
- [`f9ecb6b`](https://github.com/alexfalkowski/nonnative/commit/f9ecb6b19cbe7c77131709231d18783477a895f8) test(deps): use bundler version 2.6.3 (#509)
|
51
|
+
|
9
52
|
## [v1.93.0](https://github.com/alexfalkowski/nonnative/releases/tag/v1.93.0) - 2025-02-03
|
10
53
|
|
11
54
|
- [`520eed9`](https://github.com/alexfalkowski/nonnative/commit/520eed9b7181064a8bfcf7824165f3ccf8087cab) feat(ruby): update to v3.4.0 (#508)
|
data/Gemfile.lock
CHANGED
@@ -1,25 +1,24 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
nonnative (1.
|
4
|
+
nonnative (1.95.0)
|
5
5
|
concurrent-ruby (>= 1, < 2)
|
6
6
|
config (>= 5, < 6)
|
7
7
|
cucumber (>= 7, < 10)
|
8
8
|
get_process_mem (>= 1, < 2)
|
9
9
|
grpc (>= 1, < 2)
|
10
|
-
|
10
|
+
puma (>= 6, < 7)
|
11
11
|
rest-client (>= 2, < 3)
|
12
12
|
retriable (>= 3, < 4)
|
13
13
|
rspec-benchmark (>= 0, < 1)
|
14
14
|
rspec-expectations (>= 3, < 4)
|
15
15
|
rspec-wait (>= 1, < 2)
|
16
16
|
sinatra (>= 4, < 5)
|
17
|
-
webrick (>= 1, < 2)
|
18
17
|
|
19
18
|
GEM
|
20
19
|
remote: https://rubygems.org/
|
21
20
|
specs:
|
22
|
-
ast (2.4.
|
21
|
+
ast (2.4.3)
|
23
22
|
base64 (0.2.0)
|
24
23
|
benchmark-malloc (0.2.0)
|
25
24
|
benchmark-perf (0.6.0)
|
@@ -56,58 +55,48 @@ GEM
|
|
56
55
|
cucumber-messages (22.0.0)
|
57
56
|
cucumber-tag-expressions (6.1.2)
|
58
57
|
deep_merge (1.2.2)
|
59
|
-
diff-lcs (1.
|
58
|
+
diff-lcs (1.6.1)
|
60
59
|
docile (1.4.1)
|
61
60
|
domain_name (0.6.20240107)
|
62
|
-
ffi (1.17.
|
63
|
-
ffi (1.17.1-x86_64-darwin)
|
64
|
-
ffi (1.17.1-x86_64-linux-gnu)
|
61
|
+
ffi (1.17.2-x86_64-darwin)
|
65
62
|
get_process_mem (1.0.0)
|
66
63
|
bigdecimal (>= 2.0)
|
67
64
|
ffi (~> 1.0)
|
68
|
-
google-protobuf (4.
|
65
|
+
google-protobuf (4.30.2-x86_64-darwin)
|
69
66
|
bigdecimal
|
70
67
|
rake (>= 13)
|
71
|
-
|
72
|
-
bigdecimal
|
73
|
-
rake (>= 13)
|
74
|
-
google-protobuf (4.29.3-x86_64-linux)
|
75
|
-
bigdecimal
|
76
|
-
rake (>= 13)
|
77
|
-
googleapis-common-protos-types (1.18.0)
|
68
|
+
googleapis-common-protos-types (1.19.0)
|
78
69
|
google-protobuf (>= 3.18, < 5.a)
|
79
|
-
grpc (1.
|
80
|
-
google-protobuf (>= 3.25, < 5.0)
|
81
|
-
googleapis-common-protos-types (~> 1.0)
|
82
|
-
grpc (1.70.1-x86_64-darwin)
|
83
|
-
google-protobuf (>= 3.25, < 5.0)
|
84
|
-
googleapis-common-protos-types (~> 1.0)
|
85
|
-
grpc (1.70.1-x86_64-linux)
|
70
|
+
grpc (1.71.0-x86_64-darwin)
|
86
71
|
google-protobuf (>= 3.25, < 5.0)
|
87
72
|
googleapis-common-protos-types (~> 1.0)
|
88
73
|
http-accept (1.7.0)
|
89
74
|
http-cookie (1.0.8)
|
90
75
|
domain_name (~> 0.5)
|
91
|
-
json (2.
|
76
|
+
json (2.11.3)
|
92
77
|
language_server-protocol (3.17.0.4)
|
93
|
-
|
94
|
-
|
78
|
+
lint_roller (1.1.0)
|
79
|
+
logger (1.7.0)
|
80
|
+
mime-types (3.6.2)
|
95
81
|
logger
|
96
82
|
mime-types-data (~> 3.2015)
|
97
|
-
mime-types-data (3.2025.
|
83
|
+
mime-types-data (3.2025.0422)
|
98
84
|
mini_mime (1.1.5)
|
99
85
|
multi_test (1.1.0)
|
100
86
|
mustermann (3.0.3)
|
101
87
|
ruby2_keywords (~> 0.0.1)
|
102
88
|
netrc (0.11.0)
|
89
|
+
nio4r (2.7.4)
|
103
90
|
ostruct (0.6.1)
|
104
|
-
parallel (1.
|
105
|
-
parser (3.3.
|
91
|
+
parallel (1.27.0)
|
92
|
+
parser (3.3.8.0)
|
106
93
|
ast (~> 2.4.1)
|
107
94
|
racc
|
108
|
-
prism (1.
|
95
|
+
prism (1.4.0)
|
96
|
+
puma (6.6.0)
|
97
|
+
nio4r (~> 2.0)
|
109
98
|
racc (1.8.1)
|
110
|
-
rack (3.1.
|
99
|
+
rack (3.1.13)
|
111
100
|
rack-protection (4.1.1)
|
112
101
|
base64 (>= 0.1.0)
|
113
102
|
logger (>= 1.6.0)
|
@@ -115,11 +104,9 @@ GEM
|
|
115
104
|
rack-session (2.1.0)
|
116
105
|
base64 (>= 0.1.0)
|
117
106
|
rack (>= 3.0.0)
|
118
|
-
rackup (2.2.1)
|
119
|
-
rack (>= 3)
|
120
107
|
rainbow (3.1.1)
|
121
108
|
rake (13.2.1)
|
122
|
-
rbs (3.
|
109
|
+
rbs (3.9.2)
|
123
110
|
logger
|
124
111
|
regexp_parser (2.10.0)
|
125
112
|
rest-client (2.1.0)
|
@@ -128,7 +115,7 @@ GEM
|
|
128
115
|
mime-types (>= 1.16, < 4.0)
|
129
116
|
netrc (~> 0.8)
|
130
117
|
retriable (3.1.2)
|
131
|
-
rexml (3.4.
|
118
|
+
rexml (3.4.1)
|
132
119
|
rspec (3.13.0)
|
133
120
|
rspec-core (~> 3.13.0)
|
134
121
|
rspec-expectations (~> 3.13.0)
|
@@ -138,7 +125,7 @@ GEM
|
|
138
125
|
benchmark-perf (~> 0.6)
|
139
126
|
benchmark-trend (~> 0.4)
|
140
127
|
rspec (>= 3.0)
|
141
|
-
rspec-core (3.13.
|
128
|
+
rspec-core (3.13.3)
|
142
129
|
rspec-support (~> 3.13.0)
|
143
130
|
rspec-expectations (3.13.3)
|
144
131
|
diff-lcs (>= 1.2.0, < 2.0)
|
@@ -149,19 +136,21 @@ GEM
|
|
149
136
|
rspec-support (3.13.2)
|
150
137
|
rspec-wait (1.0.1)
|
151
138
|
rspec (>= 3.4)
|
152
|
-
rubocop (1.
|
139
|
+
rubocop (1.75.3)
|
153
140
|
json (~> 2.3)
|
154
|
-
language_server-protocol (
|
141
|
+
language_server-protocol (~> 3.17.0.2)
|
142
|
+
lint_roller (~> 1.1.0)
|
155
143
|
parallel (~> 1.10)
|
156
144
|
parser (>= 3.3.0.2)
|
157
145
|
rainbow (>= 2.2.2, < 4.0)
|
158
146
|
regexp_parser (>= 2.9.3, < 3.0)
|
159
|
-
rubocop-ast (>= 1.
|
147
|
+
rubocop-ast (>= 1.44.0, < 2.0)
|
160
148
|
ruby-progressbar (~> 1.7)
|
161
149
|
unicode-display_width (>= 2.4.0, < 4.0)
|
162
|
-
rubocop-ast (1.
|
163
|
-
parser (>= 3.3.
|
164
|
-
|
150
|
+
rubocop-ast (1.44.1)
|
151
|
+
parser (>= 3.3.7.2)
|
152
|
+
prism (~> 1.4)
|
153
|
+
ruby-lsp (0.23.15)
|
165
154
|
language_server-protocol (~> 3.17.0)
|
166
155
|
prism (>= 1.2, < 2.0)
|
167
156
|
rbs (>= 3, < 4)
|
@@ -184,20 +173,17 @@ GEM
|
|
184
173
|
rack-protection (= 4.1.1)
|
185
174
|
rack-session (>= 2.0.0, < 3)
|
186
175
|
tilt (~> 2.0)
|
187
|
-
sorbet-runtime (0.5.
|
176
|
+
sorbet-runtime (0.5.12042)
|
188
177
|
sys-uname (1.3.1)
|
189
178
|
ffi (~> 1.1)
|
190
179
|
tilt (2.6.0)
|
191
180
|
unicode-display_width (3.1.4)
|
192
181
|
unicode-emoji (~> 4.0, >= 4.0.4)
|
193
182
|
unicode-emoji (4.0.4)
|
194
|
-
webrick (1.9.1)
|
195
183
|
|
196
184
|
PLATFORMS
|
197
|
-
arm64-darwin-22
|
198
|
-
arm64-darwin-23
|
199
185
|
x86_64-darwin-21
|
200
|
-
x86_64-
|
186
|
+
x86_64-darwin-23
|
201
187
|
|
202
188
|
DEPENDENCIES
|
203
189
|
bundler
|
@@ -208,4 +194,4 @@ DEPENDENCIES
|
|
208
194
|
simplecov-cobertura
|
209
195
|
|
210
196
|
BUNDLED WITH
|
211
|
-
2.6.
|
197
|
+
2.6.8
|
data/README.md
CHANGED
@@ -37,6 +37,7 @@ Configure nonnative with the following:
|
|
37
37
|
|
38
38
|
- The version of the configuration (1.0).
|
39
39
|
- The URL of the service.
|
40
|
+
- A log file.
|
40
41
|
- Process, Server or Service that you want to start.
|
41
42
|
- A timeout value.
|
42
43
|
- A time to wait.
|
@@ -64,6 +65,7 @@ require 'nonnative'
|
|
64
65
|
Nonnative.configure do |config|
|
65
66
|
config.version = '1.0'
|
66
67
|
config.url = 'http://localhost:4567'
|
68
|
+
config.log = 'nonnative.log'
|
67
69
|
|
68
70
|
config.process do |p|
|
69
71
|
p.name = 'start_1'
|
@@ -94,6 +96,7 @@ Setup it up through configuration:
|
|
94
96
|
```yaml
|
95
97
|
version: "1.0"
|
96
98
|
url: http://localhost:4567
|
99
|
+
log: nonnative.log
|
97
100
|
processes:
|
98
101
|
-
|
99
102
|
name: start_1
|
@@ -174,6 +177,7 @@ require 'nonnative'
|
|
174
177
|
Nonnative.configure do |config|
|
175
178
|
config.version = '1.0'
|
176
179
|
config.url = 'http://localhost:4567'
|
180
|
+
config.log = 'nonnative.log'
|
177
181
|
|
178
182
|
config.server do |s|
|
179
183
|
s.name = 'server_1'
|
@@ -198,6 +202,7 @@ Setup it up through configuration:
|
|
198
202
|
```yaml
|
199
203
|
version: "1.0"
|
200
204
|
url: http://localhost:4567
|
205
|
+
log: nonnative.log
|
201
206
|
servers:
|
202
207
|
-
|
203
208
|
name: server_1
|
@@ -259,6 +264,7 @@ require 'nonnative'
|
|
259
264
|
Nonnative.configure do |config|
|
260
265
|
config.version = '1.0'
|
261
266
|
config.url = 'http://localhost:4567'
|
267
|
+
config.log = 'nonnative.log'
|
262
268
|
|
263
269
|
config.server do |s|
|
264
270
|
s.name = 'http_server_1'
|
@@ -275,6 +281,7 @@ Setup it up through configuration:
|
|
275
281
|
```yaml
|
276
282
|
version: "1.0"
|
277
283
|
url: http://localhost:4567
|
284
|
+
log: nonnative.log
|
278
285
|
servers:
|
279
286
|
-
|
280
287
|
name: http_server_1
|
@@ -320,6 +327,7 @@ require 'nonnative'
|
|
320
327
|
Nonnative.configure do |config|
|
321
328
|
config.version = '1.0'
|
322
329
|
config.url = 'http://localhost:4567'
|
330
|
+
config.log = 'nonnative.log'
|
323
331
|
|
324
332
|
config.server do |s|
|
325
333
|
s.name = 'http_server_proxy'
|
@@ -336,6 +344,7 @@ Setup it up through configuration:
|
|
336
344
|
```yaml
|
337
345
|
version: "1.0"
|
338
346
|
url: http://localhost:4567
|
347
|
+
log: nonnative.log
|
339
348
|
servers:
|
340
349
|
-
|
341
350
|
name: http_server_proxy
|
@@ -387,6 +396,7 @@ require 'nonnative'
|
|
387
396
|
Nonnative.configure do |config|
|
388
397
|
config.version = '1.0'
|
389
398
|
config.url = 'http://localhost:4567'
|
399
|
+
config.log = 'nonnative.log'
|
390
400
|
|
391
401
|
config.server do |s|
|
392
402
|
s.name = 'grpc_server_1'
|
@@ -403,6 +413,7 @@ Setup it up through configuration:
|
|
403
413
|
```yaml
|
404
414
|
version: "1.0"
|
405
415
|
url: http://localhost:4567
|
416
|
+
log: nonnative.log
|
406
417
|
servers:
|
407
418
|
-
|
408
419
|
name: grpc_server_1
|
@@ -434,6 +445,7 @@ require 'nonnative'
|
|
434
445
|
Nonnative.configure do |config|
|
435
446
|
config.version = '1.0'
|
436
447
|
config.url = 'http://localhost:4567'
|
448
|
+
config.log = 'nonnative.log'
|
437
449
|
|
438
450
|
config.service do |s|
|
439
451
|
s.name = 'postgres'
|
@@ -452,6 +464,7 @@ Setup it up through configuration:
|
|
452
464
|
```yaml
|
453
465
|
version: "1.0"
|
454
466
|
url: http://localhost:4567
|
467
|
+
log: nonnative.log
|
455
468
|
processes:
|
456
469
|
-
|
457
470
|
name: postgres
|
@@ -487,6 +500,7 @@ require 'nonnative'
|
|
487
500
|
Nonnative.configure do |config|
|
488
501
|
config.version = '1.0'
|
489
502
|
config.url = 'http://localhost:4567'
|
503
|
+
config.log = 'nonnative.log'
|
490
504
|
|
491
505
|
config.process do |p|
|
492
506
|
p.proxy = {
|
@@ -507,6 +521,7 @@ Setup it up through configuration:
|
|
507
521
|
```yaml
|
508
522
|
version: "1.0"
|
509
523
|
url: http://localhost:4567
|
524
|
+
log: nonnative.log
|
510
525
|
processes:
|
511
526
|
-
|
512
527
|
proxy:
|
@@ -528,6 +543,7 @@ require 'nonnative'
|
|
528
543
|
Nonnative.configure do |config|
|
529
544
|
config.version = '1.0'
|
530
545
|
config.url = 'http://localhost:4567'
|
546
|
+
config.log = 'nonnative.log'
|
531
547
|
|
532
548
|
config.server do |s|
|
533
549
|
s.proxy = {
|
@@ -548,6 +564,7 @@ Setup it up through configuration:
|
|
548
564
|
```yaml
|
549
565
|
version: "1.0"
|
550
566
|
url: http://localhost:4567
|
567
|
+
log: nonnative.log
|
551
568
|
servers:
|
552
569
|
-
|
553
570
|
proxy:
|
@@ -569,6 +586,7 @@ require 'nonnative'
|
|
569
586
|
Nonnative.configure do |config|
|
570
587
|
config.version = '1.0'
|
571
588
|
config.url = 'http://localhost:4567'
|
589
|
+
config.log = 'nonnative.log'
|
572
590
|
config.wait = 1
|
573
591
|
|
574
592
|
config.service do |s|
|
@@ -590,6 +608,7 @@ Setup it up through configuration:
|
|
590
608
|
```yaml
|
591
609
|
version: "1.0"
|
592
610
|
url: http://localhost:4567
|
611
|
+
log: nonnative.log
|
593
612
|
wait: 1
|
594
613
|
services:
|
595
614
|
-
|
@@ -703,6 +722,7 @@ Setup it up through configuration:
|
|
703
722
|
```yaml
|
704
723
|
version: "1.0"
|
705
724
|
url: http://localhost:4567
|
725
|
+
log: nonnative.log
|
706
726
|
processes:
|
707
727
|
-
|
708
728
|
name: go
|
@@ -8,13 +8,14 @@ module Nonnative
|
|
8
8
|
@services = []
|
9
9
|
end
|
10
10
|
|
11
|
-
attr_accessor :version, :url, :processes, :servers, :services
|
11
|
+
attr_accessor :version, :url, :log, :processes, :servers, :services
|
12
12
|
|
13
13
|
def load_file(path)
|
14
14
|
cfg = Nonnative.configurations(path)
|
15
15
|
|
16
16
|
self.version = cfg.version
|
17
17
|
self.url = cfg.url
|
18
|
+
self.log = cfg.log
|
18
19
|
|
19
20
|
add_processes(cfg)
|
20
21
|
add_servers(cfg)
|
data/lib/nonnative/go_command.rb
CHANGED
@@ -10,18 +10,17 @@ module Nonnative
|
|
10
10
|
|
11
11
|
def executable(cmd, *params)
|
12
12
|
params = params.join(' ')
|
13
|
-
"#{exec} #{flags(cmd
|
13
|
+
"#{exec} #{flags(cmd).join(' ')} #{cmd} #{params}".strip
|
14
14
|
end
|
15
15
|
|
16
16
|
private
|
17
17
|
|
18
18
|
attr_reader :tools, :exec, :output
|
19
19
|
|
20
|
-
def flags(cmd
|
20
|
+
def flags(cmd)
|
21
21
|
suffix = SecureRandom.alphanumeric(4)
|
22
22
|
m = File.basename(exec, File.extname(exec))
|
23
|
-
|
24
|
-
name = [m, cmd, p].reject(&:empty?).join('-')
|
23
|
+
name = "#{m}-#{cmd}"
|
25
24
|
path = "#{output}/#{name}-#{suffix}"
|
26
25
|
|
27
26
|
prof(path) + trace(path) + cover(path)
|
@@ -3,8 +3,12 @@
|
|
3
3
|
module Nonnative
|
4
4
|
class HTTPServer < Nonnative::Server
|
5
5
|
def initialize(app, service)
|
6
|
-
|
7
|
-
|
6
|
+
log = File.open(service.log, 'a')
|
7
|
+
options = {
|
8
|
+
log_writer: Puma::LogWriter.new(log, log),
|
9
|
+
force_shutdown_after: service.timeout
|
10
|
+
}
|
11
|
+
@server = Puma::Server.new(app, Puma::Events.new, options)
|
8
12
|
|
9
13
|
super(service)
|
10
14
|
end
|
@@ -12,22 +16,16 @@ module Nonnative
|
|
12
16
|
protected
|
13
17
|
|
14
18
|
def perform_start
|
15
|
-
|
16
|
-
|
17
|
-
[Logger.new(file), WEBrick::AccessLog::COMBINED_LOG_FORMAT]
|
18
|
-
]
|
19
|
-
|
20
|
-
server.run(app, Host: proxy.host, Port: proxy.port,
|
21
|
-
Logger: WEBrick::Log.new(file),
|
22
|
-
AccessLog: logs)
|
19
|
+
server.add_tcp_listener proxy.host, proxy.port
|
20
|
+
server.run false
|
23
21
|
end
|
24
22
|
|
25
23
|
def perform_stop
|
26
|
-
server.
|
24
|
+
server.graceful_shutdown
|
27
25
|
end
|
28
26
|
|
29
27
|
private
|
30
28
|
|
31
|
-
attr_reader :queue, :server
|
29
|
+
attr_reader :queue, :server
|
32
30
|
end
|
33
31
|
end
|
data/lib/nonnative/port.rb
CHANGED
@@ -8,6 +8,8 @@ module Nonnative
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def open?
|
11
|
+
Nonnative.logger.info "checking if port '#{process.port}' is open on host '#{process.host}'"
|
12
|
+
|
11
13
|
timeout.perform do
|
12
14
|
open_socket
|
13
15
|
true
|
@@ -18,6 +20,8 @@ module Nonnative
|
|
18
20
|
end
|
19
21
|
|
20
22
|
def closed?
|
23
|
+
Nonnative.logger.info "checking if port '#{process.port}' is closed on host '#{process.host}'"
|
24
|
+
|
21
25
|
timeout.perform do
|
22
26
|
open_socket
|
23
27
|
raise Nonnative::Error
|
data/lib/nonnative/process.rb
CHANGED
@@ -59,7 +59,11 @@ module Nonnative
|
|
59
59
|
environment[k] = ENV.fetch(k, nil) || environment[k]
|
60
60
|
end
|
61
61
|
|
62
|
-
|
62
|
+
command = service.command.call
|
63
|
+
|
64
|
+
spawn(environment, command, %i[out err] => [service.log, 'a']).tap do |pid|
|
65
|
+
Nonnative.logger.info "started '#{command}' with pid '#{pid}'"
|
66
|
+
end
|
63
67
|
end
|
64
68
|
|
65
69
|
def process_exists?
|
data/lib/nonnative/version.rb
CHANGED
data/lib/nonnative.rb
CHANGED
@@ -8,7 +8,6 @@ require 'securerandom'
|
|
8
8
|
|
9
9
|
require 'grpc'
|
10
10
|
require 'sinatra'
|
11
|
-
require 'rackup'
|
12
11
|
require 'rest-client'
|
13
12
|
require 'retriable'
|
14
13
|
require 'concurrent'
|
@@ -18,7 +17,8 @@ require 'get_process_mem'
|
|
18
17
|
require 'rspec-benchmark'
|
19
18
|
require 'rspec/expectations'
|
20
19
|
require 'rspec/wait'
|
21
|
-
require '
|
20
|
+
require 'puma'
|
21
|
+
require 'puma/server'
|
22
22
|
|
23
23
|
require 'nonnative/version'
|
24
24
|
require 'nonnative/error'
|
@@ -72,6 +72,10 @@ module Nonnative
|
|
72
72
|
yield configuration
|
73
73
|
end
|
74
74
|
|
75
|
+
def logger
|
76
|
+
@logger ||= Logger.new(configuration.log)
|
77
|
+
end
|
78
|
+
|
75
79
|
def log_lines(path, predicate)
|
76
80
|
File.readlines(path).select { |l| predicate.call(l) }
|
77
81
|
end
|
data/nonnative.gemspec
CHANGED
@@ -29,12 +29,11 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.add_dependency 'cucumber', '>= 7', '< 10'
|
30
30
|
spec.add_dependency 'get_process_mem', '>= 1', '< 2'
|
31
31
|
spec.add_dependency 'grpc', '>= 1', '< 2'
|
32
|
-
spec.add_dependency '
|
32
|
+
spec.add_dependency 'puma', '>= 6', '< 7'
|
33
33
|
spec.add_dependency 'rest-client', '>= 2', '< 3'
|
34
34
|
spec.add_dependency 'retriable', '>= 3', '< 4'
|
35
35
|
spec.add_dependency 'rspec-benchmark', '>= 0', '< 1'
|
36
36
|
spec.add_dependency 'rspec-expectations', '>= 3', '< 4'
|
37
37
|
spec.add_dependency 'rspec-wait', '>= 1', '< 2'
|
38
38
|
spec.add_dependency 'sinatra', '>= 4', '< 5'
|
39
|
-
spec.add_dependency 'webrick', '>= 1', '< 2'
|
40
39
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nonnative
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.95.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alejandro Falkowski
|
8
8
|
bindir: exe
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: concurrent-ruby
|
@@ -110,25 +110,25 @@ dependencies:
|
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '2'
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
|
-
name:
|
113
|
+
name: puma
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
116
|
- - ">="
|
117
117
|
- !ruby/object:Gem::Version
|
118
|
-
version: '
|
118
|
+
version: '6'
|
119
119
|
- - "<"
|
120
120
|
- !ruby/object:Gem::Version
|
121
|
-
version: '
|
121
|
+
version: '7'
|
122
122
|
type: :runtime
|
123
123
|
prerelease: false
|
124
124
|
version_requirements: !ruby/object:Gem::Requirement
|
125
125
|
requirements:
|
126
126
|
- - ">="
|
127
127
|
- !ruby/object:Gem::Version
|
128
|
-
version: '
|
128
|
+
version: '6'
|
129
129
|
- - "<"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
131
|
+
version: '7'
|
132
132
|
- !ruby/object:Gem::Dependency
|
133
133
|
name: rest-client
|
134
134
|
requirement: !ruby/object:Gem::Requirement
|
@@ -249,26 +249,6 @@ dependencies:
|
|
249
249
|
- - "<"
|
250
250
|
- !ruby/object:Gem::Version
|
251
251
|
version: '5'
|
252
|
-
- !ruby/object:Gem::Dependency
|
253
|
-
name: webrick
|
254
|
-
requirement: !ruby/object:Gem::Requirement
|
255
|
-
requirements:
|
256
|
-
- - ">="
|
257
|
-
- !ruby/object:Gem::Version
|
258
|
-
version: '1'
|
259
|
-
- - "<"
|
260
|
-
- !ruby/object:Gem::Version
|
261
|
-
version: '2'
|
262
|
-
type: :runtime
|
263
|
-
prerelease: false
|
264
|
-
version_requirements: !ruby/object:Gem::Requirement
|
265
|
-
requirements:
|
266
|
-
- - ">="
|
267
|
-
- !ruby/object:Gem::Version
|
268
|
-
version: '1'
|
269
|
-
- - "<"
|
270
|
-
- !ruby/object:Gem::Version
|
271
|
-
version: '2'
|
272
252
|
description: Allows you to keep using the power of ruby to test other systems
|
273
253
|
email:
|
274
254
|
- alexrfalkowski@gmail.com
|
@@ -277,6 +257,7 @@ extensions: []
|
|
277
257
|
extra_rdoc_files: []
|
278
258
|
files:
|
279
259
|
- ".circleci/config.yml"
|
260
|
+
- ".codecov.yml"
|
280
261
|
- ".config/cucumber.yml"
|
281
262
|
- ".editorconfig"
|
282
263
|
- ".github/dependabot.yml"
|
@@ -349,7 +330,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
349
330
|
- !ruby/object:Gem::Version
|
350
331
|
version: '0'
|
351
332
|
requirements: []
|
352
|
-
rubygems_version: 3.6.
|
333
|
+
rubygems_version: 3.6.8
|
353
334
|
specification_version: 4
|
354
335
|
summary: Allows you to keep using the power of ruby to test other systems
|
355
336
|
test_files: []
|