behavior_machines 0.2.0 → 0.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9a83e1e8b54ae643e0763d07afbf5b34f5ddf80790c55e57a958f82754a8328f
4
- data.tar.gz: 4df17f639b4f87c83473508e5d44eac058f1e9ced1ebce87a630c0a27498818f
3
+ metadata.gz: efa30ac65ad5f1ef468dd11cb54ca581f030c2922f8d7186171052205b4ec94c
4
+ data.tar.gz: 6206d6ca6fe91276281a05b891a51738966913644803cb0d11d740ac9e1af96f
5
5
  SHA512:
6
- metadata.gz: c3bb6e3ba9b6f58c861193cdc944c425167544425531b60d06ea31c2a5d7b6bd3354101918f22d3593ae26cb27399058eedf9f668316fa22da1d0815006458a2
7
- data.tar.gz: fe002a3c84e4dce7e8d8049762f062bcc31f39c17a52c4b02921d2a2e46d42bf6c40dab32d63cd0155fd8385b0e27033920d37181c27609ecf4ee63cc1d9846d
6
+ metadata.gz: 47430b12dd6ff67cb83a50af995803667c1ec7005c2ba7ed6a2dbbf65aa416fe4f87a1050805c757a263a3493a8e1b8b0647f42e897b6410890bbecc9cf0faf5
7
+ data.tar.gz: b598562ca01ef0fed90e06b87e9a9be596265bc2e58675e945340d8b0e4fec5648d2ab1d3b4050aae57d1e62be540962094a35cb5828a3884b13ad8220fc9069
data/README.md CHANGED
@@ -122,6 +122,24 @@ $ BEHAVIOR_MACHINES_NATIVE=1 ruby app.rb
122
122
  Leaves stay Ruby, so the gain is limited to the tree walk itself. The test
123
123
  suite runs against both backends (`bundle exec rake test:both`).
124
124
 
125
+ ## Releases
126
+
127
+ Release Please manages the Ruby gem and both publishable Rust crates. Use
128
+ conventional commits and merge its release PR to update versions, changelogs,
129
+ the release manifest, and workspace dependency requirements. Do not push
130
+ hand-written version bumps or changelog entries.
131
+
132
+ The release manifest records the last released version of each package, not
133
+ the next planned version. Circuit is registered at its published `0.1.0`;
134
+ its one-time `release-as` override requests `0.3.0` in the next release PR.
135
+ Remove that override from `release-please-config.json` after the release so
136
+ later versions are calculated from conventional commits.
137
+
138
+ Crate-only releases do not trigger Ruby gem publishing. The workflow creates
139
+ GitHub releases for the crates but does not upload them to crates.io. After
140
+ merging the release PR and checking out its release tag, run the Rust tests
141
+ and a `cargo publish --dry-run` for the relevant crate before publishing.
142
+
125
143
  ## License
126
144
 
127
145
  BSD-3-Clause. See [LICENSE](LICENSE).
@@ -37,6 +37,7 @@ module BehaviorMachines
37
37
  # `ticked(node_id, status)` and `halted(node_id)`; node ids number the
38
38
  # definition in pre-order, and children report before their parent.
39
39
  def tick(ctx = nil, now: BehaviorMachines.now, observer: nil)
40
+ DeadlineMachines.check!
40
41
  now = BehaviorMachines.check_time(now)
41
42
  exclusive { @engine.tick(ctx, now, Observers.wrap(observer)) }
42
43
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BehaviorMachines
4
- VERSION = '0.2.0'
4
+ VERSION = '0.5.0'
5
5
  end
@@ -7,6 +7,8 @@ require_relative 'behavior_machines/definition'
7
7
  require_relative 'behavior_machines/engine'
8
8
  require_relative 'behavior_machines/tree'
9
9
  require_relative 'behavior_machines/machine'
10
+ require 'deadline_machines'
11
+
10
12
  require_relative 'behavior_machines/native_extension'
11
13
 
12
14
  # Behavior trees with explicit halt semantics, following the behavior-tree
@@ -15,8 +17,8 @@ module BehaviorMachines
15
17
  STATUSES = %i[success failure running].freeze
16
18
 
17
19
  class << self
18
- # The current monotonic time in nanoseconds.
19
- def now = Process.clock_gettime(Process::CLOCK_MONOTONIC, :nanosecond)
20
+ # The current monotonic time in nanoseconds, from the family's clock.
21
+ def now = DeadlineMachines.clock.now_ns
20
22
 
21
23
  # Whether the native backend is loaded (opt-in, see NativeExtension).
22
24
  def native_available? = NativeExtension.loaded?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: behavior_machines
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Abdelkader Boudih
@@ -9,6 +9,20 @@ bindir: bin
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: deadline_machines
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '0.1'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '0.1'
12
26
  - !ruby/object:Gem::Dependency
13
27
  name: state_machines
14
28
  requirement: !ruby/object:Gem::Requirement
@@ -16,7 +30,7 @@ dependencies:
16
30
  - - ">="
17
31
  - !ruby/object:Gem::Version
18
32
  version: '0.202'
19
- type: :runtime
33
+ type: :development
20
34
  prerelease: false
21
35
  version_requirements: !ruby/object:Gem::Requirement
22
36
  requirements:
@@ -102,13 +116,13 @@ files:
102
116
  - lib/behavior_machines/node.rb
103
117
  - lib/behavior_machines/tree.rb
104
118
  - lib/behavior_machines/version.rb
105
- homepage: https://github.com/seuros/behavior-machines
119
+ homepage: https://github.com/seuros/behavior_machines
106
120
  licenses:
107
121
  - BSD-3-Clause
108
122
  metadata:
109
- homepage_uri: https://github.com/seuros/behavior-machines
110
- source_code_uri: https://github.com/seuros/behavior-machines
111
- bug_tracker_uri: https://github.com/seuros/behavior-machines/issues
123
+ homepage_uri: https://github.com/seuros/behavior_machines
124
+ source_code_uri: https://github.com/seuros/behavior_machines
125
+ bug_tracker_uri: https://github.com/seuros/behavior_machines/issues
112
126
  rubygems_mfa_required: 'true'
113
127
  cargo_crate_name: behavior_machines_native
114
128
  cargo_manifest_path: ext/behavior_machines_native/ffi/Cargo.toml