Skip to content

Commit ece332a

Browse files
Stack AVRich Mattes
authored andcommitted
Project import generated by Copybara.
GitOrigin-RevId: 125c97feb29cd1b3677e76bba040a2cb6ad575dd
1 parent c9ad0f0 commit ece332a

1,245 files changed

Lines changed: 92318 additions & 23246 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.bazelrc

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
# a more canonical hash.
44
common --ui_event_filters=-DEBUG
55

6-
# TODO(DX-231): Disable module lock for now
7-
common --lockfile_mode=off
6+
common --lockfile_mode=update
87

98
# Compile curl with openssl
109
build --@curl//:ssl_lib="openssl"
@@ -53,10 +52,14 @@ build --sandbox_default_allow_network=false
5352
build --noremote_upload_local_results
5453

5554
# Prevent Python packages installed in user site-packages outside of Bazel from being used under Bazel
56-
common --host_action_env=PYTHONNOUSERSITE=1 --action_env=PYTHONNOUSERSITE=1 --test_env=PYTHONNOUSERSITE=1
55+
common --host_action_env=PYTHONNOUSERSITE=1 --test_env=PYTHONNOUSERSITE=1
5756

5857
# Make sure rules_proto keep working with Bazel 8
5958
common --noincompatible_disallow_ctx_resolve_tools
6059

6160
# Don't load native rules
6261
common --incompatible_disable_autoloads_in_main_repo
62+
63+
# Load any settings & overrides specific to the current user.
64+
# This should be last statement in this config so the user configuration is able to overwrite flags from this file.
65+
try-import %workspace%/user.bazelrc

.bazelversion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8.2.1
1+
8.4.2

.buildifier_tables.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
{
22
"IsLabelArg": {
3-
"owners": true
3+
"cpp_deps": true,
4+
"cpp_exe_deps": true,
5+
"owners": true,
6+
"proto_deps": true,
7+
"py_deps": true
48
},
59
"IsSortableListArg": {
10+
"allowed_dep_trees": true,
11+
"allowed_dep_wildcards": true,
612
"allowed_deps": true,
13+
"generated": true,
714
"owners": true
815
},
916
"NamePriority": {

BUILD.bazel

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Copyright 2025 Stack AV Co.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
load("@rules_python//python:py_library.bzl", "py_library")
54
load("@rules_python_gazelle_plugin//manifest:defs.bzl", "gazelle_python_manifest")
65

76
# Gazelle directives
@@ -38,15 +37,11 @@ load("@rules_python_gazelle_plugin//manifest:defs.bzl", "gazelle_python_manifest
3837
# gazelle:resolve py mypy_boto3_s3 @pyright_requirements//mypy_boto3_s3
3938
# gazelle:resolve py clockwork.dsl.tests.support.pytapmsg //clockwork/dsl/tests/support:pytapmsg
4039
# gazelle:resolve py root_repo_py @root_repo//:root_repo_py
40+
# gazelle:resolve py clockwork.dsl.clockwork_cst //clockwork/dsl:clockwork_cst
41+
# gazelle:resolve py clockwork.dsl //clockwork/dsl:clockwork_cst
42+
# gazelle:resolve py clockwork //clockwork/dsl:clockwork_cst
4143
# keep-sorted end
4244

43-
# Top-level library to set module import path
44-
py_library(
45-
name = "clockwork",
46-
imports = ["."],
47-
visibility = ["//visibility:public"],
48-
)
49-
5045
filegroup(
5146
name = "buildifier_config",
5247
srcs = [

CHANGELOG.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,52 @@ Log of notable changes in each Clockwork OSS release.
44

55
Clockwork follows a date-based year.month versioning scheme.
66

7+
## [2026.3] - 2026-03-20
8+
9+
### Added
10+
11+
- **DFL (Declarative Functional Language)**: New pure-functional sublanguage for runtime computations
12+
- Expression syntax with arithmetic, comparison, and logical operators
13+
- Conditional expressions: `if-then-else`, `cond`, and `match` with pattern matching
14+
- User-defined template-style functions with optional type annotations
15+
- Variadic function parameters and spread operator
16+
- Built-in functions: `min`, `max`, `abs`, `clamp`, `sum`, `count`, `mean`, `any`, `all`, `map`, `filter`, `flatten`
17+
- Trait system for type checking of operators
18+
- Tuple/array literal syntax
19+
- See [DFL Reference](clockwork/docs/reference/dfl/README.md) for details
20+
- **Struct-of-Arrays (SoA) Containers**: New `FixedSoa` and `VarSoa` container types for SoA data layout
21+
- Memory-efficient alternative to `FixedArray`/`VarArray` that eliminates padding overhead
22+
- `ElementRef` proxy provides AoS-style API while data is stored in SoA layout
23+
- Direct field array access via `view_<field>()` methods for vectorization
24+
- Full STL compatibility with iterators and algorithms
25+
- Transparent schema evolution between AoS and SoA layouts
26+
- See [SoA Containers Reference](clockwork/docs/reference/soa.md) for details
27+
- **State and Config Snapshot/Restore**: New mechanism for capturing and restoring Clockwork cog state and configuration (OI-3946).
28+
- `TakeSnapshots` policy for periodic state snapshots with configurable intervals
29+
- `SnapshotOnce` policy for one-time configuration snapshots at startup
30+
- `FirstMessage` data source for loading state from logged snapshots
31+
- `SerializedDataFile` enhancements for state restoration from files
32+
- Support for fallback data sources when snapshots are unavailable
33+
- See [Clockwork State/Config Snapshot/Restore Guide](clockwork/docs/reference/state_snapshot_and_restore.md) for details
34+
- **Unit Test Framework for Cogs**: Generated C++ cog unit-test wrappers for executing a cog in a unit test.
35+
- See [Cog Unit Tests Reference](clockwork/docs/reference/cog_unit_tests.md) for details.
36+
- **Clockwork Observability Signals**: New support for generating scalar signals in a cog.
37+
- Automatically aggregated and logged.
38+
- Pre-aggregation and post-aggregation policies.
39+
- Signal metadata publication and extraction tooling.
40+
- See [Signals Reference](clockwork/docs/reference/signals.md) for details.
41+
- **Boilerplate Reduction in Schemas**: Simplify the generation syntax and build rules for Clockwork entities.
42+
- New clk file syntax to specify code generation targets with attributes instead of defining them manually.
43+
- Bazel rules implicitly create required targets for each Clockwork entity.
44+
- Gazelle plugin to auto-generate build files from clk files.
45+
- New `@clockwork::std` standard library module (holds DSL entities used in user code, such as policies)
46+
47+
### Changed
48+
49+
- Updated Clockwork schemas to use new generator format.
50+
- Enhanced `LogicalSystemInterface` to support state restoration configuration in deterministic runner.
51+
- Expanded offboard logging observability with OpenTelemetry tracing instrumentation support (OI-4168).
52+
753
## [2025.9] - 2025-09-30
854

955
### Added

MODULE.bazel

Lines changed: 25 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -15,56 +15,57 @@ PYTHON_VERSION = "3.10"
1515

1616
dependencies = [
1717
# keep-sorted start
18-
("abseil-cpp", SINGLE_VERSION_OVERRIDE, "20250127.1", PATCH),
19-
("aspect_bazel_lib", SINGLE_VERSION_OVERRIDE, "2.21.2", PATCH),
20-
("aspect_rules_js", SINGLE_VERSION_OVERRIDE, "2.5.0", PATCH),
18+
("abseil-cpp", SINGLE_VERSION_OVERRIDE, "20250814.2", PATCH),
19+
("aspect_rules_js", SINGLE_VERSION_OVERRIDE, "2.8.0", PATCH),
2120
("aspect_rules_py", SINGLE_VERSION_OVERRIDE, "1.1.0", PATCH),
22-
("aspect_rules_ts", SINGLE_VERSION_OVERRIDE, "3.7.0", NO_PATCH),
21+
("aspect_rules_ts", SINGLE_VERSION_OVERRIDE, "3.8.5", NO_PATCH),
2322
("au", "https://github.com/aurora-opensource/au.git", "49e3e0e2b7cc67164379bce323761c260370f8f0", PATCH), # main
2423
("aws_sdk_cpp", "https://github.com/aws/aws-sdk-cpp.git", "713aebfea4705e7437bb0874c47e44ddf13b9b31", PATCH), # 1.11.185
25-
("bazel_skylib", SINGLE_VERSION_OVERRIDE, "1.8.1", NO_PATCH),
26-
("bazel_skylib_gazelle_plugin", SINGLE_VERSION_OVERRIDE, "1.8.1", PATCH),
27-
("build_stack_rules_proto", "https://github.com/stackb/rules_proto.git", "e3215cd105255f1a65f5447899671b000d96721e", PATCH), # v2.0.1
28-
("buildifier_prebuilt", SINGLE_VERSION_OVERRIDE, "8.2.0.2", None),
29-
("c-ares", SINGLE_VERSION_OVERRIDE, "1.34.5", NO_PATCH),
30-
("catch2", SINGLE_VERSION_OVERRIDE, "3.8.1", PATCH),
24+
("bazel_lib", SINGLE_VERSION_OVERRIDE, "3.1.0", PATCH),
25+
("bazel_skylib", SINGLE_VERSION_OVERRIDE, "1.9.0", NO_PATCH),
26+
("bazel_skylib_gazelle_plugin", SINGLE_VERSION_OVERRIDE, "1.9.0", PATCH),
27+
("build_stack_rules_proto", "https://github.com/stackb/rules_proto.git", "a19d9eed24a7d86ea2730053c4c8406ea5b9f304", PATCH), # v4.1.0
28+
("buildifier_prebuilt", SINGLE_VERSION_OVERRIDE, "8.2.1.2", None),
29+
("c-ares", SINGLE_VERSION_OVERRIDE, "1.34.6", NO_PATCH),
30+
("catch2", SINGLE_VERSION_OVERRIDE, "3.13.0", PATCH),
3131
("clang", "https://github.com/stackav-oss/clockwork/releases/download/sysroot/clang_sysroot_4.tar.zst", "sha256-OjeMjqEcjT8UuQYlLpQBJYjnZPssy+GVAVmBJrI8ftk=", NO_PATCH),
3232
("com_github_nanopb_nanopb", "https://github.com/nanopb/nanopb.git", "cad3c18ef15a663e30e3e43e3a752b66378adec1", PATCH), # 0.4.9.1
33-
("curl", SINGLE_VERSION_OVERRIDE, "8.8.0.bcr.3", None),
34-
("fltk", "https://github.com/rnortman/fltk.git", "802cea356b36a7c99c949fb59922e59eaa66f036", PATCH), # main
35-
("fmt", "https://github.com/fmtlib/fmt.git", "40626af88bd7df9a5fb80be7b25ac85b122d6c21", PATCH), # 11.2.0
33+
("curl", SINGLE_VERSION_OVERRIDE, "8.12.0", PATCH),
34+
("fltk", "https://github.com/rnortman/fltk.git", "0afecaf5fe40a374c4f7ab5ac3cb9fc8953e81f3", NO_PATCH), # main
35+
("fmt", SINGLE_VERSION_OVERRIDE, "12.1.0", NO_PATCH),
3636
("gazelle", "https://github.com/bazelbuild/bazel-gazelle.git", "669939453cba5ac2874407245f02a0d281fd13fa", NO_PATCH), # v0.42.0
37-
("grpc", SINGLE_VERSION_OVERRIDE, "1.73.1", NO_PATCH),
37+
("grpc", SINGLE_VERSION_OVERRIDE, "1.76.0.bcr.1", NO_PATCH),
3838
("gsl", "https://github.com/microsoft/GSL.git", "caae4dd0f8343efb879369dcd08a2b18aae59f3b", PATCH), # main
3939
("liburing", "https://github.com/axboe/liburing.git", "6b5f5bc9a2e43ad3ee330a093d53d7a81816f676", PATCH), # liburing-2.4
4040
("lz4", SINGLE_VERSION_OVERRIDE, "1.10.0.bcr.1", NO_PATCH),
41-
("mcap", "https://github.com/foxglove/mcap.git", "741841ba9c09752de6b867a666688672fba23ab4", PATCH), # releases/mcap-cli/v0.0.30
41+
("mcap", "https://github.com/foxglove/mcap.git", "fa382a06f852bd4b90046ab74b30c11b0a089d9b", PATCH), # releases/mcap-cli/v0.0.61
4242
("nanobind", "https://github.com/wjakob/nanobind.git", "8894eb0116b38a4a1355b79d18c3a833ce3d9dff", PATCH), # v2.2.0
43-
("openssl", SINGLE_VERSION_OVERRIDE, "3.3.1.bcr.1", None),
43+
("openssl", SINGLE_VERSION_OVERRIDE, "3.3.1.bcr.9", None),
44+
("opentelemetry-cpp", SINGLE_VERSION_OVERRIDE, "1.24.0.bcr.1", PATCH),
4445
("platforms", SINGLE_VERSION_OVERRIDE, "1.0.0", NO_PATCH),
45-
("protobuf", SINGLE_VERSION_OVERRIDE, "31.1", PATCH),
46-
("protoc-gen-validate", SINGLE_VERSION_OVERRIDE, "1.2.1.bcr.1", NO_PATCH), # indirect dependency from go's xds
46+
("protobuf", SINGLE_VERSION_OVERRIDE, "33.5", PATCH),
47+
("protoc-gen-validate", SINGLE_VERSION_OVERRIDE, "1.3.0", NO_PATCH), # indirect dependency from go's xds
4748
("re2", SINGLE_VERSION_OVERRIDE, "2021-09-01", NO_PATCH),
4849
("rules_boost", "https://github.com/nelhage/rules_boost.git", "2a7a2ad203e469276540cb7d260e8bd46f6cc030", PATCH), # master
49-
("rules_cc", SINGLE_VERSION_OVERRIDE, "0.2.8", NO_PATCH),
50-
("rules_go", SINGLE_VERSION_OVERRIDE, "0.57.0", PATCH),
50+
("rules_cc", SINGLE_VERSION_OVERRIDE, "0.2.16", NO_PATCH),
51+
("rules_go", SINGLE_VERSION_OVERRIDE, "0.59.0", PATCH),
5152
("rules_java", SINGLE_VERSION_OVERRIDE, "8.15.2", NO_PATCH),
5253
("rules_multirun", SINGLE_VERSION_OVERRIDE, "0.13.0", NO_PATCH),
5354
("rules_proto", SINGLE_VERSION_OVERRIDE, "7.1.0", NO_PATCH),
5455
("rules_proto_grpc", SINGLE_VERSION_OVERRIDE, "5.3.0", NO_PATCH),
55-
("rules_proto_grpc_buf", SINGLE_VERSION_OVERRIDE, "5.7.1", NO_PATCH),
56+
("rules_proto_grpc_buf", SINGLE_VERSION_OVERRIDE, "5.8.0", NO_PATCH),
5657
("rules_python", SINGLE_VERSION_OVERRIDE, "1.5.4", PATCH),
5758
("rules_python_gazelle_plugin", SINGLE_VERSION_OVERRIDE, "1.5.3", PATCH),
5859
("rules_shell", SINGLE_VERSION_OVERRIDE, "0.6.1", NO_PATCH),
5960
("sha1", "https://github.com/vog/sha1.git", "76953a8057515a3d29f7f593efe789a2d1122a34", PATCH), # 1.4
60-
("stardoc", SINGLE_VERSION_OVERRIDE, "0.8.0", NO_PATCH),
61+
("stardoc", SINGLE_VERSION_OVERRIDE, "0.8.1", NO_PATCH),
6162
("tclap", "https://github.com/mirror/tclap.git", "61cfae16ceba4cadc3d74439fa1e9fd4fce16bc9", PATCH), # 1.4
6263
("tl_expected", "https://github.com/TartanLlama/expected.git", "1770e3559f2f6ea4a5fb4f577ad22aeb30fbd8e4", PATCH), # v1.3.1
6364
("trompeloeil", "https://github.com/rollbear/trompeloeil.git", "eaeb89c1ce9d354b0ba7eb921fd5712cdbd78adf", PATCH), # v49
6465
("upb", SINGLE_VERSION_OVERRIDE, "0.0.0-20230907-e7430e6", NO_PATCH),
6566
("wise_enum", "https://github.com/quicknir/wise_enum.git", "34ac79f7ea2658a148359ce82508cc9301e31dd3", PATCH), # 3.1.0
6667
("xxhash", "https://github.com/Cyan4973/xxHash.git", "e626a72bc2321cd320e953a0ccf1584cad60f363", PATCH), # v0.8.3
67-
("zstd", SINGLE_VERSION_OVERRIDE, "1.5.7", NO_PATCH),
68+
("zstd", SINGLE_VERSION_OVERRIDE, "1.5.7.bcr.1", NO_PATCH),
6869
# keep-sorted end
6970
]
7071

@@ -77,11 +78,7 @@ patch_strip = {
7778

7879
patch_cmds = {
7980
# keep-sorted start block=yes
80-
"fmt": [
81-
# Move the include dir
82-
"""find . -type f -print0 | LC_ALL=C xargs -0 sed -i'' -e 's%#include "fmt%#include "fmt10%g'""",
83-
"mv include/fmt include/fmt10",
84-
],
81+
"clang": ["ln -sf ../../x86_64-linux-gnu/libedit.so.2 usr/lib/llvm-21/lib/libedit.so.2"],
8582
"protobuf": ["""find . -name *.h -print0 | xargs -0 sed -i'' -e '1 i\\\n#pragma GCC system_header'"""],
8683
# keep-sorted end
8784
}

0 commit comments

Comments
 (0)