Skip to content

Commit 555082c

Browse files
authored
Migrating to a unified gRPCServer package developed by both myself and s-celles (#72)
1 parent 749767b commit 555082c

72 files changed

Lines changed: 9032 additions & 977 deletions

Some content is hidden

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

.dockerignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# Build context is the repository root. Keep what the image needs (Project.toml, Manifest.toml,
2-
# packages/, the lib/ runtime submodule, docker/, config/) and drop everything else, especially the
3-
# large submodule .git dirs.
2+
# packages/, docker/, config/) and drop everything else.
43

54
**/.git
65
**/.gitignore

.github/workflows/_test.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Reusable workflow: run one CPU test suite. Called per-package by ci.yml so the pinned action
2-
# SHAs, submodule checkout, and depot caching live in one place. Not triggered on its own.
2+
# SHAs, checkout, and depot caching live in one place. Not triggered on its own.
33
name: test suite
44

55
on:
@@ -31,10 +31,7 @@ jobs:
3131
runs-on: ubuntu-latest
3232
timeout-minutes: 60 # generous for the first run's Reactant CPU artifact download + compile
3333
steps:
34-
# The packages source the vendored forks from lib/* via path, so submodules are required.
3534
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
36-
with:
37-
submodules: recursive
3835
- uses: julia-actions/setup-julia@fa02766e078afaaf09b14210362cee14137e6a32 # v3.0.2
3936
with:
4037
version: ${{ inputs.julia-version }}

.github/workflows/ci.yml

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,14 @@ jobs:
4141
with:
4242
# `common` (global files + Core) is folded into every suite, since Core is a dependency
4343
# of all of them and the global files affect everything. Each suite then adds its own
44-
# package dir and the vendored lib/* it depends on (submodule bumps show as a change to
45-
# the gitlink path `lib/X.jl`). Filters err toward over-inclusion so a real dependency
44+
# package dir it depends on (a gRPCServer rev bump shows as a change to that package's
45+
# Project.toml [sources]). Filters err toward over-inclusion so a real dependency
4646
# change can never produce a false green.
4747
filters: |
4848
common: &common
4949
- '.github/workflows/ci.yml'
5050
- '.github/workflows/_test.yml'
5151
- 'Project.toml'
52-
- '.gitmodules'
5352
- 'packages/ReactantServerCore/**'
5453
core:
5554
- *common
@@ -59,13 +58,9 @@ jobs:
5958
gateway:
6059
- *common
6160
- 'packages/ReactantServerGateway/**'
62-
- 'lib/gRPCServer.jl'
63-
- 'lib/gRPCServer.jl/**'
6461
server:
6562
- *common
6663
- 'packages/ReactantServer/**'
67-
- 'lib/gRPCServer.jl'
68-
- 'lib/gRPCServer.jl/**'
6964
node:
7065
- *common
7166
- 'packages/ReactantServerNode/**'
@@ -74,8 +69,6 @@ jobs:
7469
- *common
7570
- 'packages/ReactantServerExport/**'
7671
- 'packages/ReactantServer/**'
77-
- 'lib/gRPCServer.jl'
78-
- 'lib/gRPCServer.jl/**'
7972
# The PyTorch round-trip provisions torch/jax/tensorflow via conda, so it runs only when
8073
# the PyTorch surface itself changes: the extension, its conda pins, its own test project,
8174
# or the shared test runner (which carries the torch-specific CPU-wheel and triton
@@ -166,8 +159,6 @@ jobs:
166159
actions: write # julia-actions/cache prunes its old caches
167160
steps:
168161
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
169-
with:
170-
submodules: recursive
171162
- uses: julia-actions/setup-julia@fa02766e078afaaf09b14210362cee14137e6a32 # v3.0.2
172163
with:
173164
version: '1.12'

.github/workflows/docs.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,6 @@ jobs:
1717
contents: write
1818
steps:
1919
- uses: actions/checkout@v4
20-
with:
21-
# The docs environment resolves ReactantServer's vendored gRPC
22-
# backend from lib/gRPCServer.jl, a git submodule.
23-
submodules: recursive
2420
- uses: julia-actions/setup-julia@v2
2521
with:
2622
version: '1.12'

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,7 @@ Manifest-v*.toml
2121
# (large, ~230 MB) and renders the site into docs/build/.
2222
/docs/node_modules/
2323
# Subagent working artifacts.
24-
/.pi-subagents/
24+
/.pi-subagents/
25+
26+
# Local (uncommitted) agent skills, installed from ~/Git/gRPCServer.jl/skills.
27+
/.pi/

.gitmodules

Lines changed: 0 additions & 3 deletions
This file was deleted.

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
Developer notes for working on ReactantServer.jl. For using the server, start with
44
[Getting Started](docs/src/manual/getting_started.md).
55

6-
After cloning, populate the vendored submodules and instantiate the workspace:
6+
After cloning, instantiate the workspace (gRPCServer resolves from the `s-celles-merge` branch of
7+
github.com/csvance/gRPCServer.jl via the workspace `[sources]`):
78

89
```
9-
git submodule update --init --recursive
1010
julia --project=. -e 'using Pkg; Pkg.instantiate()'
1111
```
1212

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ JULIA ?= julia
1717

1818
all: help
1919

20-
## image: build the reactantserver node image (needs lib/gRPCServer.jl + a local Manifest.toml; see docker/README.md)
20+
## image: build the reactantserver node image (needs a local Manifest.toml; gRPCServer resolves from GitHub, see docker/README.md)
2121
image:
2222
$(ENGINE) build -f docker/Dockerfile -t $(NODE_IMAGE) .
2323

Project.toml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Workspace root for the ReactantServer monorepo. This environment is not itself a package;
22
# it lists the member packages under [workspace] (they share the single root Manifest) and
3-
# declares the path [sources] for the vendored lib/* submodules and the inter-package
4-
# ReactantServerCore dependency, so every member resolves them consistently.
3+
# declares the [sources] for gRPCServer (the s-celles-merge branch of the upstream repo) and
4+
# the inter-package ReactantServerCore dependency, so every member resolves them consistently.
55

66
# packages/ReactantServerExport is intentionally NOT listed here: it is the offline export
77
# tooling, kept out of the shared workspace manifest so its Lux/PythonCall weakdeps never get
@@ -22,12 +22,13 @@ Reactant = "3c362404-f566-11ee-1572-e11a4b42c853"
2222
ReactantServerCore = "387a5f05-f7b4-4d57-bca9-cd3358e52bdc"
2323
YAML = "ddb6d928-2868-570f-bddf-ab3f9cf99eb6"
2424
gRPCClient = "aaca4a50-36af-4a1d-b878-4c443f2061ad"
25-
gRPCServer = "b7f0dee4-5e6a-42e7-93b0-9c098bad2317"
25+
gRPCServer = "608c6337-0d7d-447f-bb69-0f5674ee3959"
2626

2727
[sources]
2828
ReactantServerCore = {path = "packages/ReactantServerCore"}
29-
gRPCServer = {path = "lib/gRPCServer.jl"}
30-
gRPCClient = {url = "https://github.com/JuliaIO/gRPCClient.jl", rev = "v1.1.0-rc2"}
29+
gRPCServer = {url = "https://github.com/csvance/gRPCServer.jl", rev = "s-celles-merge"}
3130

3231
[compat]
32+
gRPCClient = "1.1.0"
33+
gRPCServer = "0.3"
3334
julia = "1.12"

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ The node runs natively (no containers): run the supervisor over a directory of m
6060
scales to all visible GPUs.
6161

6262
```
63-
git submodule update --init lib/gRPCServer.jl # the one vendored fork the build needs
6463
REACTANT_GPU=cuda REACTANT_GPU_VERSION=13.1 julia --project=. -e 'using Pkg; Pkg.instantiate()'
6564
6665
CUDA_VISIBLE_DEVICES=0,1,2,3 INFERENCE_SERVER_MODEL_DIRS=/path/to/bundles \
@@ -114,8 +113,9 @@ pulls in the heavy Reactant/XLA stack:
114113

115114
Offline model export lives in `packages/ReactantServerExport` (a Reactant tracing frontend plus a
116115
PythonCall-triggered PyTorch extension); it is deliberately **not** a workspace member, so its
117-
Lux/PythonCall weakdeps stay out of the server images. The vendored `gRPCServer` fork is the only
118-
remaining git submodule under `lib/`.
116+
Lux/PythonCall weakdeps stay out of the server images. `gRPCServer` is sourced from the
117+
`s-celles-merge` branch of `github.com/csvance/gRPCServer.jl` through the workspace `[sources]`;
118+
there are no git submodules.
119119

120120
## Acknowledgments
121121

0 commit comments

Comments
 (0)