specwrk 0.19.1 → 0.19.2
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/.standard.yml +1 -1
- data/CHANGELOG.md +59 -0
- data/docker/Dockerfile.server +1 -1
- data/lib/specwrk/store/serializer.rb +19 -7
- data/lib/specwrk/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: befb2589fe879bbe901360402374acb906359ff133c877a9169bcb0f928d1833
|
|
4
|
+
data.tar.gz: 30c49a123a026d5a4af2da4fadf01cfc92637b095328c83c660d5a3ee7c26d43
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9e997305868b8cca5ce07ea2285462ed26b01079ccebe09617749ae76c42380787b68ed693af0df4aa6cf1e196b941c5449ae7034cf21614b16650c73de4fc6b
|
|
7
|
+
data.tar.gz: 21bb6a0af32806ed771f0e49ac0295e87ac6f57afb6259b5d74e09971adc5be23bdb1a5bcfb6762578f3f85b0387478d23767f1068e1fc53dd0dd2a63e84bbd3
|
data/.standard.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,64 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Unreleased
|
|
4
|
+
[Compare](https://github.com/danielwestendorf/specwrk/compare/v0.19.1...main)
|
|
5
|
+
- Add msgpack to the docker server — [#178](https://github.com/danielwestendorf/specwrk/pull/178) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
6
|
+
|
|
7
|
+
## v0.19.1 — 2025-12-08
|
|
8
|
+
[Compare](https://github.com/danielwestendorf/specwrk/compare/v0.19.0...v0.19.1)
|
|
9
|
+
- Add missing require for serializer in base adapter — [#177](https://github.com/danielwestendorf/specwrk/pull/177) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
10
|
+
|
|
11
|
+
## v0.19.0 — 2025-12-08
|
|
12
|
+
[Compare](https://github.com/danielwestendorf/specwrk/compare/v0.18.0...v0.19.0)
|
|
13
|
+
- Add support for configured serializer, adding msgpack — [#176](https://github.com/danielwestendorf/specwrk/pull/176) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
14
|
+
|
|
15
|
+
## v0.18.0 — 2025-12-07
|
|
16
|
+
[Compare](https://github.com/danielwestendorf/specwrk/compare/v0.17.1...v0.18.0)
|
|
17
|
+
- Spawn workers with `spawn` instead of `fork` — [#174](https://github.com/danielwestendorf/specwrk/pull/174) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
18
|
+
- If pending is empty, return before acquiring lock — [#173](https://github.com/danielwestendorf/specwrk/pull/173) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
19
|
+
- Fix typo resulting in wrong group by — [#166](https://github.com/danielwestendorf/specwrk/pull/166) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
20
|
+
|
|
21
|
+
## v0.17.1 — 2025-12-06
|
|
22
|
+
[Compare](https://github.com/danielwestendorf/specwrk/compare/v0.17.0...v0.17.1)
|
|
23
|
+
- Version bump only (no functional changes) — [@danielwestendorf](https://github.com/danielwestendorf)
|
|
24
|
+
|
|
25
|
+
## v0.17.0 — 2025-12-06
|
|
26
|
+
[Compare](https://github.com/danielwestendorf/specwrk/compare/v0.16.3...v0.17.0)
|
|
27
|
+
- Add bucket store — [#170](https://github.com/danielwestendorf/specwrk/pull/170) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
28
|
+
- s/Bucket/BucketStore — [#171](https://github.com/danielwestendorf/specwrk/pull/171) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
29
|
+
- Bucket at seed — [#172](https://github.com/danielwestendorf/specwrk/pull/172) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
30
|
+
- Split Store classes into their own files — [#169](https://github.com/danielwestendorf/specwrk/pull/169) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
31
|
+
- Fix worker failing to flush on worker exit — [#167](https://github.com/danielwestendorf/specwrk/pull/167) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
32
|
+
- Typo — [#168](https://github.com/danielwestendorf/specwrk/pull/168) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
33
|
+
|
|
34
|
+
## v0.16.3 — 2025-12-01
|
|
35
|
+
[Compare](https://github.com/danielwestendorf/specwrk/compare/v0.16.2...v0.16.3)
|
|
36
|
+
- Disable locks on heartbeat and health endpoints — [#163](https://github.com/danielwestendorf/specwrk/pull/163) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
37
|
+
- Add specwrk worker info to logger — [#164](https://github.com/danielwestendorf/specwrk/pull/164) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
38
|
+
- Ignore Agents.md — [#165](https://github.com/danielwestendorf/specwrk/pull/165) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
39
|
+
|
|
40
|
+
## v0.16.2 — 2025-10-23
|
|
41
|
+
[Compare](https://github.com/danielwestendorf/specwrk/compare/v0.16.1...v0.16.2)
|
|
42
|
+
- exit(1) from seed process when example size is zero — [#158](https://github.com/danielwestendorf/specwrk/pull/158) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
43
|
+
|
|
44
|
+
## v0.16.1 — 2025-10-03
|
|
45
|
+
[Compare](https://github.com/danielwestendorf/specwrk/compare/v0.16.0...v0.16.1)
|
|
46
|
+
- Ensure next_examples are always cleared after execution — [#156](https://github.com/danielwestendorf/specwrk/pull/156) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
47
|
+
- More frequent heartbeats — [#154](https://github.com/danielwestendorf/specwrk/pull/154) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
48
|
+
- Ensure mutex is held when a lock is expected — [#153](https://github.com/danielwestendorf/specwrk/pull/153) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
49
|
+
|
|
50
|
+
## v0.16.0 — 2025-10-02
|
|
51
|
+
[Compare](https://github.com/danielwestendorf/specwrk/compare/v0.15.10...v0.16.0)
|
|
52
|
+
- Support retry of all client requests, configurable count — [#151](https://github.com/danielwestendorf/specwrk/pull/151) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
53
|
+
- Expire workers from worker heartbeats — [#149](https://github.com/danielwestendorf/specwrk/pull/149) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
54
|
+
- Fix a few minor typos in README — [#147](https://github.com/danielwestendorf/specwrk/pull/147) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
55
|
+
- Run flake test if the srv uri is localhost — [#146](https://github.com/danielwestendorf/specwrk/pull/146) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
56
|
+
|
|
57
|
+
## v0.15.10 — 2025-08-28
|
|
58
|
+
[Compare](https://github.com/danielwestendorf/specwrk/compare/v0.15.9...v0.15.10)
|
|
59
|
+
- Handle default path for start and seed better — [#144](https://github.com/danielwestendorf/specwrk/pull/144) by [@danielwestendorf](https://github.com/danielwestendorf)
|
|
60
|
+
- Mention Redis storage adapter — [@danielwestendorf](https://github.com/danielwestendorf)
|
|
61
|
+
|
|
3
62
|
## v0.15.9 — 2025-08-28
|
|
4
63
|
[Compare](https://github.com/danielwestendorf/specwrk/compare/v0.15.8...v0.15.9)
|
|
5
64
|
- Support lock skipping for read-only endpoints — [#139](https://github.com/danielwestendorf/specwrk/pull/139) by [@danielwestendorf](https://github.com/danielwestendorf)
|
data/docker/Dockerfile.server
CHANGED
|
@@ -14,7 +14,7 @@ COPY $GEM_FILE ./
|
|
|
14
14
|
RUN gem install ./$GEM_FILE --no-document
|
|
15
15
|
RUN rm ./$GEM_FILE
|
|
16
16
|
|
|
17
|
-
RUN gem install pitchfork thruster specwrk-store-redis_adapter
|
|
17
|
+
RUN gem install pitchfork thruster specwrk-store-redis_adapter msgpack
|
|
18
18
|
COPY config.ru ./
|
|
19
19
|
COPY docker/pitchfork.conf ./
|
|
20
20
|
|
|
@@ -22,31 +22,43 @@ module Specwrk
|
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
module MessagePack
|
|
25
|
-
module_function
|
|
26
|
-
|
|
27
25
|
def ensure_loaded!
|
|
26
|
+
return if defined?(::MessagePack)
|
|
27
|
+
|
|
28
28
|
require "msgpack"
|
|
29
29
|
rescue LoadError
|
|
30
30
|
raise LoadError, "Unable to use msgpack, gem not found. Add `gem 'msgpack' to your Gemfile and bundle install"
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
module_function
|
|
34
|
-
|
|
35
33
|
def adapter_name
|
|
36
34
|
"msgpack"
|
|
37
35
|
end
|
|
38
36
|
|
|
39
37
|
def dump(value)
|
|
38
|
+
packer.tap(&:clear)
|
|
39
|
+
.tap { it.write(value) }
|
|
40
|
+
.then(&:to_s)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def load(payload)
|
|
44
|
+
unpacker.tap(&:reset)
|
|
45
|
+
.tap { it.feed(payload) }
|
|
46
|
+
.then { it.read }
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def packer
|
|
40
50
|
ensure_loaded!
|
|
41
51
|
|
|
42
|
-
::MessagePack.
|
|
52
|
+
Thread.current[:__specwrk_msgpack_packer] ||= ::MessagePack::Packer.new
|
|
43
53
|
end
|
|
44
54
|
|
|
45
|
-
def
|
|
55
|
+
def unpacker
|
|
46
56
|
ensure_loaded!
|
|
47
57
|
|
|
48
|
-
::MessagePack.
|
|
58
|
+
Thread.current[:__specwrk_msgpack_unpacker] ||= ::MessagePack::Unpacker.new(symbolize_keys: true)
|
|
49
59
|
end
|
|
60
|
+
|
|
61
|
+
module_function :ensure_loaded!, :adapter_name, :dump, :load, :packer, :unpacker
|
|
50
62
|
end
|
|
51
63
|
end
|
|
52
64
|
|
data/lib/specwrk/version.rb
CHANGED