Skip to content

Commit 88a63f7

Browse files
committed
Restructure: move submodules to submodules/ directory
This restructuring organizes the repository to support different deployment types and evaluation frameworks, with all git submodules in a dedicated submodules/ folder. Changes: - Moved all submodules to submodules/ directory: - kernel-images → submodules/kernel-images - browser-operator-core → submodules/browser-operator-core - webarena → submodules/webarena - Updated .gitmodules to point all submodules to submodules/ directory - Updated all Dockerfiles to use submodules/ paths: - Dockerfile.devtools - Dockerfile.kernel-cloud - deployments/cloudrun/Dockerfile - deployments/local/Dockerfile - deployments/local-webarena/Dockerfile - Updated Makefiles to initialize submodules from submodules/ directory: - deployments/local/Makefile - deployments/local-webarena/Makefile - Moved WebArena config files to evals/webarena/config_files/ - Copied 812 benchmark task configs from submodule - Fixed WebArenaTaskLoader to try new location first with fallback: - evals/lib/webarena_adapter.py - Fixed EvalLoader to support evals/native/data/ structure: - evals/lib/eval_loader.py (path resolution for restructured evals) - Updated documentation to reflect new structure: - CLAUDE.md (main technical docs) - evals/CLAUDE.md (evals-specific docs) The restructuring supports three deployment types: - deployments/local/ - Local development - deployments/local-webarena/ - Local with WebArena - deployments/cloudrun/ - Google Cloud Run All submodules are now properly registered and will download to submodules/ when running 'git submodule update --init'.
1 parent 4a72af3 commit 88a63f7

File tree

21 files changed

+29826
-67
lines changed

21 files changed

+29826
-67
lines changed

.gitmodules

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
[submodule "kernel-images"]
2-
path = kernel-images
2+
path = submodules/kernel-images
33
url = https://github.com/onkernel/kernel-images.git
44

55
[submodule "browser-operator-core"]
6-
path = browser-operator-core
6+
path = submodules/browser-operator-core
77
url = git@github.com:BrowserOperator/browser-operator-core.git
88
shallow = true
9+
10+
[submodule "webarena"]
11+
path = submodules/webarena
12+
url = https://github.com/web-arena-x/webarena.git

CLAUDE.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -708,6 +708,11 @@ curl -X POST http://localhost:8080/page/screenshot \
708708

709709
3. **Renamed eval-server** - Now called `browser-agent-server/` to better reflect its purpose
710710

711+
4. **Moved WebArena config files** - Task configurations moved to in-repo location:
712+
- New location: `evals/webarena/config_files/` (preferred)
713+
- Legacy location: `submodules/webarena/config_files/` (fallback)
714+
- `WebArenaTaskLoader` now tries new location first
715+
711716
### Technical Fixes
712717
1. **Fixed docker-compose.yml** - Added missing port mappings (8000, 8001, 8081, 8082)
713718
2. **Fixed tmpfs mounts** - Added `/tmp` to prevent X11 lock persistence

Dockerfile.devtools

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ FROM devtools-base AS devtools-local
6868

6969
# Copy local changes from browser-operator-core submodule FIRST
7070
# This happens before checking out upstream, so we copy over the upstream code
71-
COPY browser-operator-core/front_end /workspace/devtools/devtools-frontend/front_end
71+
COPY submodules/browser-operator-core/front_end /workspace/devtools/devtools-frontend/front_end
7272
COPY browser-agent-server /workspace/devtools/devtools-frontend/browser-agent-server
7373

7474
WORKDIR /workspace/devtools/devtools-frontend

Dockerfile.kernel-cloud

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@ ARG TARGETOS
66
ARG TARGETARCH
77
ENV CGO_ENABLED=0
88

9-
COPY kernel-images/server/go.mod ./
10-
COPY kernel-images/server/go.sum ./
9+
COPY submodules/kernel-images/server/go.mod ./
10+
COPY submodules/kernel-images/server/go.sum ./
1111
RUN go mod download
1212

13-
COPY kernel-images/server/ .
13+
COPY submodules/kernel-images/server/ .
1414
RUN GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH:-amd64} \
1515
go build -ldflags="-s -w" -o /out/kernel-images-api ./cmd/api
1616

1717
# webrtc client
1818
FROM node:22-bullseye-slim AS client
1919
WORKDIR /src
20-
COPY kernel-images/images/chromium-headful/client/package*.json ./
20+
COPY submodules/kernel-images/images/chromium-headful/client/package*.json ./
2121
RUN npm install
22-
COPY kernel-images/images/chromium-headful/client/ .
22+
COPY submodules/kernel-images/images/chromium-headful/client/ .
2323
RUN npm run build
2424

2525
# xorg dependencies
@@ -31,7 +31,7 @@ RUN set -eux; \
3131
apt-get install -y \
3232
git gcc pkgconf autoconf automake libtool make xorg-dev xutils-dev \
3333
&& rm -rf /var/lib/apt/lists/*;
34-
COPY kernel-images/images/chromium-headful/xorg-deps/ /xorg/
34+
COPY submodules/kernel-images/images/chromium-headful/xorg-deps/ /xorg/
3535
# build xf86-video-dummy v0.3.8 with RandR support
3636
RUN set -eux; \
3737
cd xf86-video-dummy/v0.3.8; \
@@ -169,19 +169,19 @@ ENV WIDTH=1024
169169
ENV WITHDOCKER=true
170170
ENV PORT=8080
171171

172-
COPY kernel-images/images/chromium-headful/xorg.conf /etc/neko/xorg.conf
173-
COPY kernel-images/images/chromium-headful/neko.yaml /etc/neko/neko.yaml
172+
COPY submodules/kernel-images/images/chromium-headful/xorg.conf /etc/neko/xorg.conf
173+
COPY submodules/kernel-images/images/chromium-headful/neko.yaml /etc/neko/neko.yaml
174174
COPY --from=neko /usr/bin/neko /usr/bin/neko
175175
COPY --from=client /src/dist/ /var/www
176176
COPY --from=xorg-deps /usr/local/lib/xorg/modules/drivers/dummy_drv.so /usr/lib/xorg/modules/drivers/dummy_drv.so
177177
COPY --from=xorg-deps /usr/local/lib/xorg/modules/input/neko_drv.so /usr/lib/xorg/modules/input/neko_drv.so
178178

179-
COPY kernel-images/images/chromium-headful/image-chromium/ /
180-
COPY kernel-images/images/chromium-headful/start-chromium.sh /images/chromium-headful/start-chromium.sh
179+
COPY submodules/kernel-images/images/chromium-headful/image-chromium/ /
180+
COPY submodules/kernel-images/images/chromium-headful/start-chromium.sh /images/chromium-headful/start-chromium.sh
181181
RUN chmod +x /images/chromium-headful/start-chromium.sh
182-
COPY kernel-images/images/chromium-headful/supervisord.conf /etc/supervisor/supervisord.conf
182+
COPY submodules/kernel-images/images/chromium-headful/supervisord.conf /etc/supervisor/supervisord.conf
183183
COPY supervisord-cloudrun.conf /etc/supervisor/supervisord-cloudrun.conf
184-
COPY kernel-images/images/chromium-headful/supervisor/services/ /etc/supervisor/conf.d/services/
184+
COPY submodules/kernel-images/images/chromium-headful/supervisor/services/ /etc/supervisor/conf.d/services/
185185
# Copy Cloud Run-specific supervisor configs
186186
COPY supervisor-cloudrun/ /etc/supervisor/conf.d/services-cloudrun/
187187
# Copy Cloud Run-specific chromium start script

browser-operator-core

Lines changed: 0 additions & 1 deletion
This file was deleted.

deployments/cloudrun/Dockerfile

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -70,20 +70,20 @@ ARG TARGETOS
7070
ARG TARGETARCH
7171
ENV CGO_ENABLED=0
7272

73-
COPY kernel-images/server/go.mod ./
74-
COPY kernel-images/server/go.sum ./
73+
COPY submodules/kernel-images/server/go.mod ./
74+
COPY submodules/kernel-images/server/go.sum ./
7575
RUN go mod download
7676

77-
COPY kernel-images/server/ .
77+
COPY submodules/kernel-images/server/ .
7878
RUN GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH:-amd64} \
7979
go build -ldflags="-s -w" -o /out/kernel-images-api ./cmd/api
8080

8181
# WebRTC client build
8282
FROM node:22-bullseye-slim AS client
8383
WORKDIR /src
84-
COPY kernel-images/images/chromium-headful/client/package*.json ./
84+
COPY submodules/kernel-images/images/chromium-headful/client/package*.json ./
8585
RUN npm install
86-
COPY kernel-images/images/chromium-headful/client/ .
86+
COPY submodules/kernel-images/images/chromium-headful/client/ .
8787
RUN npm run build
8888

8989
# Xorg dependencies
@@ -95,7 +95,7 @@ RUN set -eux; \
9595
apt-get install -y \
9696
git gcc pkgconf autoconf automake libtool make xorg-dev xutils-dev \
9797
&& rm -rf /var/lib/apt/lists/*;
98-
COPY kernel-images/images/chromium-headful/xorg-deps/ /xorg/
98+
COPY submodules/kernel-images/images/chromium-headful/xorg-deps/ /xorg/
9999
# build xf86-video-dummy v0.3.8 with RandR support
100100
RUN set -eux; \
101101
cd xf86-video-dummy/v0.3.8; \
@@ -248,19 +248,19 @@ ENV WITHDOCKER=true
248248
ENV PORT=8080
249249

250250
# Copy configurations
251-
COPY kernel-images/images/chromium-headful/xorg.conf /etc/neko/xorg.conf
252-
COPY kernel-images/images/chromium-headful/neko.yaml /etc/neko/neko.yaml
251+
COPY submodules/kernel-images/images/chromium-headful/xorg.conf /etc/neko/xorg.conf
252+
COPY submodules/kernel-images/images/chromium-headful/neko.yaml /etc/neko/neko.yaml
253253
COPY --from=neko /usr/bin/neko /usr/bin/neko
254254
COPY --from=client /src/dist/ /var/www
255255
COPY --from=xorg-deps /usr/local/lib/xorg/modules/drivers/dummy_drv.so /usr/lib/xorg/modules/drivers/dummy_drv.so
256256
COPY --from=xorg-deps /usr/local/lib/xorg/modules/input/neko_drv.so /usr/lib/xorg/modules/input/neko_drv.so
257257

258-
COPY kernel-images/images/chromium-headful/image-chromium/ /
259-
COPY kernel-images/images/chromium-headful/start-chromium.sh /images/chromium-headful/start-chromium.sh
258+
COPY submodules/kernel-images/images/chromium-headful/image-chromium/ /
259+
COPY submodules/kernel-images/images/chromium-headful/start-chromium.sh /images/chromium-headful/start-chromium.sh
260260
RUN chmod +x /images/chromium-headful/start-chromium.sh
261-
COPY kernel-images/images/chromium-headful/supervisord.conf /etc/supervisor/supervisord.conf
261+
COPY submodules/kernel-images/images/chromium-headful/supervisord.conf /etc/supervisor/supervisord.conf
262262
COPY deployment/cloudrun/supervisord-cloudrun.conf /etc/supervisor/supervisord-cloudrun.conf
263-
COPY kernel-images/images/chromium-headful/supervisor/services/ /etc/supervisor/conf.d/services/
263+
COPY submodules/kernel-images/images/chromium-headful/supervisor/services/ /etc/supervisor/conf.d/services/
264264

265265
# Copy the kernel-images API binary
266266
COPY --from=server-builder /out/kernel-images-api /usr/local/bin/kernel-images-api

deployments/local-webarena/Dockerfile

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,20 @@ ARG TARGETOS
3434
ARG TARGETARCH
3535
ENV CGO_ENABLED=0
3636

37-
COPY kernel-images/server/go.mod ./
38-
COPY kernel-images/server/go.sum ./
37+
COPY submodules/kernel-images/server/go.mod ./
38+
COPY submodules/kernel-images/server/go.sum ./
3939
RUN go mod download
4040

41-
COPY kernel-images/server/ .
41+
COPY submodules/kernel-images/server/ .
4242
RUN GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH:-arm64} \
4343
go build -ldflags="-s -w" -o /out/kernel-images-api ./cmd/api
4444

4545
# webrtc client
4646
FROM --platform=linux/arm64 node:22-bullseye-slim AS client
4747
WORKDIR /src
48-
COPY kernel-images/images/chromium-headful/client/package*.json ./
48+
COPY submodules/kernel-images/images/chromium-headful/client/package*.json ./
4949
RUN npm install
50-
COPY kernel-images/images/chromium-headful/client/ .
50+
COPY submodules/kernel-images/images/chromium-headful/client/ .
5151
RUN npm run build
5252

5353
# xorg dependencies
@@ -59,7 +59,7 @@ RUN set -eux; \
5959
apt-get install -y \
6060
git gcc pkgconf autoconf automake libtool make xorg-dev xutils-dev \
6161
&& rm -rf /var/lib/apt/lists/*;
62-
COPY kernel-images/images/chromium-headful/xorg-deps/ /xorg/
62+
COPY submodules/kernel-images/images/chromium-headful/xorg-deps/ /xorg/
6363
# build xf86-video-dummy v0.3.8 with RandR support
6464
RUN set -eux; \
6565
cd xf86-video-dummy/v0.3.8; \
@@ -193,19 +193,19 @@ ENV WIDTH=1024
193193
ENV WITHDOCKER=true
194194

195195
# Copy kernel-images configuration and binaries
196-
COPY kernel-images/images/chromium-headful/xorg.conf /etc/neko/xorg.conf
197-
COPY kernel-images/images/chromium-headful/neko.yaml /etc/neko/neko.yaml
196+
COPY submodules/kernel-images/images/chromium-headful/xorg.conf /etc/neko/xorg.conf
197+
COPY submodules/kernel-images/images/chromium-headful/neko.yaml /etc/neko/neko.yaml
198198
COPY --from=neko /usr/bin/neko /usr/bin/neko
199199
COPY --from=client /src/dist/ /var/www
200200
COPY --from=xorg-deps /usr/local/lib/xorg/modules/drivers/dummy_drv.so /usr/lib/xorg/modules/drivers/dummy_drv.so
201201
COPY --from=xorg-deps /usr/local/lib/xorg/modules/input/neko_drv.so /usr/lib/xorg/modules/input/neko_drv.so
202202

203-
COPY kernel-images/images/chromium-headful/image-chromium/ /
204-
COPY kernel-images/images/chromium-headful/start-chromium.sh /images/chromium-headful/start-chromium.sh
203+
COPY submodules/kernel-images/images/chromium-headful/image-chromium/ /
204+
COPY submodules/kernel-images/images/chromium-headful/start-chromium.sh /images/chromium-headful/start-chromium.sh
205205
RUN chmod +x /images/chromium-headful/start-chromium.sh
206-
COPY kernel-images/images/chromium-headful/wrapper.sh /wrapper.sh
207-
COPY kernel-images/images/chromium-headful/supervisord.conf /etc/supervisor/supervisord.conf
208-
COPY kernel-images/images/chromium-headful/supervisor/services/ /etc/supervisor/conf.d/services/
206+
COPY submodules/kernel-images/images/chromium-headful/wrapper.sh /wrapper.sh
207+
COPY submodules/kernel-images/images/chromium-headful/supervisord.conf /etc/supervisor/supervisord.conf
208+
COPY submodules/kernel-images/images/chromium-headful/supervisor/services/ /etc/supervisor/conf.d/services/
209209

210210
# Override chromium.conf with local version that includes auto-open-devtools
211211
COPY deployments/commons/supervisor/services/chromium.conf /etc/supervisor/conf.d/services/chromium.conf

deployments/local-webarena/Makefile

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,14 @@ help: ## Show this help message
1818

1919
init: ## Initialize submodules (run this first)
2020
@echo "📦 Initializing submodules..."
21-
cd ../../ && git submodule update --init --depth 1 kernel-images
22-
cd ../../ && git submodule update --init --depth 1 browser-operator-core
23-
@echo "✅ Submodules initialized"
21+
cd ../../ && git submodule update --init --depth 1 submodules/kernel-images
22+
cd ../../ && git submodule update --init --depth 1 submodules/browser-operator-core
23+
cd ../../ && git submodule update --init --depth 1 submodules/webarena
24+
@echo "✅ Submodules initialized (including WebArena for evals)"
2425

2526
init-devtools: ## Initialize browser-operator-core submodule only
2627
@echo "📦 Initializing browser-operator-core submodule..."
27-
cd ../../ && git submodule update --init --depth 1 browser-operator-core
28+
cd ../../ && git submodule update --init --depth 1 submodules/browser-operator-core
2829
@echo "✅ browser-operator-core submodule initialized"
2930

3031
build-devtools-base: init-devtools ## Build DevTools base image (slow, rarely needed)

deployments/local/Dockerfile

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,20 @@ ARG TARGETOS
3434
ARG TARGETARCH
3535
ENV CGO_ENABLED=0
3636

37-
COPY kernel-images/server/go.mod ./
38-
COPY kernel-images/server/go.sum ./
37+
COPY submodules/kernel-images/server/go.mod ./
38+
COPY submodules/kernel-images/server/go.sum ./
3939
RUN go mod download
4040

41-
COPY kernel-images/server/ .
41+
COPY submodules/kernel-images/server/ .
4242
RUN GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH:-arm64} \
4343
go build -ldflags="-s -w" -o /out/kernel-images-api ./cmd/api
4444

4545
# webrtc client
4646
FROM --platform=linux/arm64 node:22-bullseye-slim AS client
4747
WORKDIR /src
48-
COPY kernel-images/images/chromium-headful/client/package*.json ./
48+
COPY submodules/kernel-images/images/chromium-headful/client/package*.json ./
4949
RUN npm install
50-
COPY kernel-images/images/chromium-headful/client/ .
50+
COPY submodules/kernel-images/images/chromium-headful/client/ .
5151
RUN npm run build
5252

5353
# xorg dependencies
@@ -59,7 +59,7 @@ RUN set -eux; \
5959
apt-get install -y \
6060
git gcc pkgconf autoconf automake libtool make xorg-dev xutils-dev \
6161
&& rm -rf /var/lib/apt/lists/*;
62-
COPY kernel-images/images/chromium-headful/xorg-deps/ /xorg/
62+
COPY submodules/kernel-images/images/chromium-headful/xorg-deps/ /xorg/
6363
# build xf86-video-dummy v0.3.8 with RandR support
6464
RUN set -eux; \
6565
cd xf86-video-dummy/v0.3.8; \
@@ -193,19 +193,19 @@ ENV WIDTH=1024
193193
ENV WITHDOCKER=true
194194

195195
# Copy kernel-images configuration and binaries
196-
COPY kernel-images/images/chromium-headful/xorg.conf /etc/neko/xorg.conf
197-
COPY kernel-images/images/chromium-headful/neko.yaml /etc/neko/neko.yaml
196+
COPY submodules/kernel-images/images/chromium-headful/xorg.conf /etc/neko/xorg.conf
197+
COPY submodules/kernel-images/images/chromium-headful/neko.yaml /etc/neko/neko.yaml
198198
COPY --from=neko /usr/bin/neko /usr/bin/neko
199199
COPY --from=client /src/dist/ /var/www
200200
COPY --from=xorg-deps /usr/local/lib/xorg/modules/drivers/dummy_drv.so /usr/lib/xorg/modules/drivers/dummy_drv.so
201201
COPY --from=xorg-deps /usr/local/lib/xorg/modules/input/neko_drv.so /usr/lib/xorg/modules/input/neko_drv.so
202202

203-
COPY kernel-images/images/chromium-headful/image-chromium/ /
204-
COPY kernel-images/images/chromium-headful/start-chromium.sh /images/chromium-headful/start-chromium.sh
203+
COPY submodules/kernel-images/images/chromium-headful/image-chromium/ /
204+
COPY submodules/kernel-images/images/chromium-headful/start-chromium.sh /images/chromium-headful/start-chromium.sh
205205
RUN chmod +x /images/chromium-headful/start-chromium.sh
206-
COPY kernel-images/images/chromium-headful/wrapper.sh /wrapper.sh
207-
COPY kernel-images/images/chromium-headful/supervisord.conf /etc/supervisor/supervisord.conf
208-
COPY kernel-images/images/chromium-headful/supervisor/services/ /etc/supervisor/conf.d/services/
206+
COPY submodules/kernel-images/images/chromium-headful/wrapper.sh /wrapper.sh
207+
COPY submodules/kernel-images/images/chromium-headful/supervisord.conf /etc/supervisor/supervisord.conf
208+
COPY submodules/kernel-images/images/chromium-headful/supervisor/services/ /etc/supervisor/conf.d/services/
209209

210210
# Override chromium.conf with local version that includes auto-open-devtools
211211
COPY deployments/commons/supervisor/services/chromium.conf /etc/supervisor/conf.d/services/chromium.conf

deployments/local/Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ help: ## Show this help message
1818

1919
init: ## Initialize submodules (run this first)
2020
@echo "📦 Initializing submodules..."
21-
cd ../../ && git submodule update --init --depth 1 kernel-images
22-
cd ../../ && git submodule update --init --depth 1 browser-operator-core
21+
cd ../../ && git submodule update --init --depth 1 submodules/kernel-images
22+
cd ../../ && git submodule update --init --depth 1 submodules/browser-operator-core
2323
@echo "✅ Submodules initialized"
2424

2525
init-devtools: ## Initialize browser-operator-core submodule only
2626
@echo "📦 Initializing browser-operator-core submodule..."
27-
cd ../../ && git submodule update --init --depth 1 browser-operator-core
27+
cd ../../ && git submodule update --init --depth 1 submodules/browser-operator-core
2828
@echo "✅ browser-operator-core submodule initialized"
2929

3030
build-devtools-base: init-devtools ## Build DevTools base image (slow, rarely needed)

0 commit comments

Comments
 (0)