Skip to content
Draft

WIP #131

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
719e837
Make `is Any` annotation checks legal under `strict_equality`
rileysdev Aug 13, 2026
ccccb71
Allow all methods, not just MCP methods, to have a description
rileysdev Aug 11, 2026
8861607
Add a dev-mode companion application that serves a dashboard
rileysdev Aug 11, 2026
62dbe40
Allow a state type to have a description
rileysdev Aug 12, 2026
2d349ce
Give the manylinux builder a Python that ships `libpython`
rileysdev Aug 13, 2026
f318226
Take the dashboard's API directory from the `.rbtrc`
benh Aug 17, 2026
9af6c77
Add `cooperatively`, for work that never waits
benh Aug 17, 2026
f2cfb37
Work out where each state type is implemented
benh Aug 16, 2026
2fc04d4
Parse again only the files that changed
benh Aug 17, 2026
98150b8
Record the methods each servicer defines
benh Aug 17, 2026
4491991
Track what a method's names hold
benh Aug 17, 2026
5e430df
Resolve a name through what a file's names refer to
benh Aug 19, 2026
55c7e2d
Follow a re-export to the state type it refers to
benh Aug 19, 2026
31f40f6
Resolve a state type aliased at top level
benh Aug 19, 2026
83f4c52
Resolve a state type reached through a module alias
benh Aug 19, 2026
be811b3
Resolve a state type reached through an imported submodule
benh Aug 19, 2026
88e7eba
Resolve state types through relative imports
benh Aug 19, 2026
9a4d89e
Resolve a state type that was star imported
benh Aug 19, 2026
2812187
Resolve state types re-exported by installed packages
benh Aug 19, 2026
9445bd6
Read and stat files off the event loop
benh Aug 19, 2026
473bad0
Say why a save during an iteration is never missed
benh Aug 19, 2026
ab8b4f3
Record the calls a method makes through a reference
benh Aug 19, 2026
b3e54ed
See through the modifiers that change nothing
benh Aug 19, 2026
d8edb0a
Record a scheduled or spawned call as such
benh Aug 19, 2026
ebb846e
Record a constructor
benh Aug 19, 2026
c52c8df
Record a call on every state `forall` reaches
benh Aug 19, 2026
09aaad9
Record a workflow's reads and writes
benh Aug 19, 2026
28e2c36
Record what a method does that the analysis could not follow
benh Aug 19, 2026
801ec5c
Follow a helper handed the context
benh Aug 19, 2026
3bf7daa
Follow a helper for what it returns
benh Aug 19, 2026
27e1651
Set aside the calls that only look like Reboot calls
benh Aug 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 19 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -797,11 +797,25 @@ RUN dnf install -y clang gcc-c++ && dnf clean all \
&& mkdir -p /usr/lib/llvm-${CLANG_VERSION}/lib \
&& ln -sf /usr/lib/clang /usr/lib/llvm-${CLANG_VERSION}/lib/clang

# The `manylinux` image comes with multiple Python versions. We'll use
# 3.10 to match our main build environment. Set up symlinks so `python`
# and `python3` point to Python 3.10.
RUN ln -sf /opt/python/cp310-cp310/bin/python /usr/local/bin/python \
&& ln -sf /opt/python/cp310-cp310/bin/python /usr/local/bin/python3 \
# The `manylinux` image comes with multiple Python versions, but all
# of them are built `--disable-shared` with no `libpython` installed,
# and embedding Python — which building `reboot_native.node` does —
# needs `-lpython3.10` at link time. Point `python` and `python3` at a
# python-build-standalone CPython 3.10 instead, which ships
# `libpython3.10.so`; it is the same build
# `reboot/nodejs/prepare_environment.sh` uses. `pip` and `pip3` stay
# on the manylinux 3.10, whose layout `auditwheel` and the wheel
# builds expect, so `python3` and `pip` deliberately name different
# installations.
RUN set -e; \
if [ "${TARGETARCH}" = "amd64" ]; then ARCH=x86_64; else ARCH=aarch64; fi; \
mkdir /tmp/python-build-standalone; \
wget -qO- "https://github.com/indygreg/python-build-standalone/releases/download/20240814/cpython-3.10.14+20240814-${ARCH}-unknown-linux-gnu-install_only.tar.gz" \
| tar -xzf - -C /tmp/python-build-standalone \
&& mv /tmp/python-build-standalone/python /opt/reboot-python \
&& rmdir /tmp/python-build-standalone \
&& ln -sf /opt/reboot-python/bin/python3 /usr/local/bin/python \
&& ln -sf /opt/reboot-python/bin/python3 /usr/local/bin/python3 \
&& ln -sf /opt/python/cp310-cp310/bin/pip /usr/local/bin/pip \
&& ln -sf /opt/python/cp310-cp310/bin/pip /usr/local/bin/pip3

Expand Down
67 changes: 67 additions & 0 deletions rbt/dashboard/v1/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
load(
"@com_github_reboot_dev_reboot//reboot:rules.bzl",
"js_proto_library",
"js_reboot_library",
"js_reboot_react_library",
"py_reboot_library",
)
load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")

proto_library(
name = "dashboard_proto",
srcs = [
":dashboard.proto",
],
visibility = ["//visibility:public"],
deps = [
"@com_github_reboot_dev_reboot//rbt/v1alpha1:options_proto",
],
)

py_reboot_library(
name = "dashboard_py_reboot",
proto = "dashboard.proto",
proto_library = ":dashboard_proto",
visibility = ["//visibility:public"],
)

js_proto_library(
name = "dashboard_js_proto",
package_json = ":package.json",
proto = "dashboard.proto",
proto_deps = [
":dashboard_proto",
# ISSUE(https://github.com/reboot-dev/mono/issues/3218): Until we can
# use `create_protoc_plugin_rule` we need to repeat the dependencies of
# the `proto_libraries` here.
"@com_github_reboot_dev_reboot//rbt/v1alpha1:options_proto",
"@com_google_protobuf//:descriptor_proto",
],
visibility = ["//visibility:public"],
)

js_reboot_library(
name = "dashboard_js_reboot",
srcs = [
":dashboard_proto",
],
proto = "dashboard.proto",
visibility = ["//visibility:public"],
deps = [
":dashboard_js_proto",
],
)

js_reboot_react_library(
name = "dashboard_js_reboot_react",
srcs = [
":dashboard_js_proto",
],
proto = "dashboard.proto",
proto_deps = [
":dashboard_proto",
"@com_github_reboot_dev_reboot//rbt/v1alpha1:options_proto",
"@com_google_protobuf//:descriptor_proto",
],
visibility = ["//visibility:public"],
)
Loading
Loading