-
Notifications
You must be signed in to change notification settings - Fork 1
Local Dockerised Eval Server #6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| # Use kernel-images base with DevTools integration | ||
| # ============================================================================ | ||
| FROM docker.io/golang:1.25.0 AS server-builder | ||
| FROM --platform=linux/arm64 docker.io/golang:1.25.0 AS server-builder |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need the platform definition here?
|
For now, I can only help with PRs you've created. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR sets up a local dockerized evaluation server environment by integrating web-agent components with the existing kernel-browser infrastructure.
- Adds a new eval server build stage and service configuration
- Reconfigures port mappings to avoid conflicts and accommodate multiple services
- Updates local development scripts to support the evaluation server setup
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| Dockerfile.local | Adds eval server build stage, Node.js runtime, and service integration |
| supervisor/services/*.conf | New supervisor configurations for neko, eval-server, and chromium services |
| run-local.sh | Updated port mappings and added URL environment variable support |
| Makefile | Updated service endpoints and test configurations for new port layout |
| supervisor-cloudrun/neko.conf | Port change from 8080 to 8081 for cloud run environment |
| cloudrun-kernel-wrapper.sh | Updated port references to match new neko configuration |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
|
||
| COPY kernel-images/server/ . | ||
| RUN GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH:-amd64} \ | ||
| RUN GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH:-arm64} \ |
Copilot
AI
Sep 26, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The GOARCH default is hardcoded to arm64 but the COPY commands and other stages use different platform defaults. This inconsistency could cause build issues on different architectures.
| # COPY browser-operator-core/scripts /workspace/devtools/devtools-frontend/scripts/ | ||
|
|
||
| # Force automated mode | ||
| RUN sed -i 's/AUTOMATED_MODE: false/AUTOMATED_MODE: true/' front_end/panels/ai_chat/core/BuildConfig.ts; |
Copilot
AI
Sep 26, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using sed to modify TypeScript configuration files is fragile and could break if the file format changes. Consider using a more robust configuration method or environment variables.
| RUN sed -i 's/AUTOMATED_MODE: false/AUTOMATED_MODE: true/' front_end/panels/ai_chat/core/BuildConfig.ts; | |
| RUN node -e "const fs = require('fs'); \ | |
| const path = 'front_end/panels/ai_chat/core/BuildConfig.ts'; \ | |
| let content = fs.readFileSync(path, 'utf8'); \ | |
| content = content.replace(/AUTOMATED_MODE:\\s*false/, 'AUTOMATED_MODE: true'); \ | |
| fs.writeFileSync(path, content);" |
| # Run with our additional DevTools port mapping | ||
| docker rm -f "$NAME" 2>/dev/null || true | ||
| docker run -it "${RUN_ARGS[@]}" "$IMAGE" | ||
| docker run -d "${RUN_ARGS[@]}" "$IMAGE" |
Copilot
AI
Sep 26, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Changing from interactive mode (-it) to detached mode (-d) removes the ability to easily stop the container with Ctrl+C. This could make development workflow less convenient.
| docker run -d "${RUN_ARGS[@]}" "$IMAGE" | |
| # Allow user to override run mode (default: interactive) | |
| DOCKER_RUN_MODE="${DOCKER_RUN_MODE:--it}" | |
| echo "Running Docker container in mode: $DOCKER_RUN_MODE" | |
| docker run $DOCKER_RUN_MODE "${RUN_ARGS[@]}" "$IMAGE" |
Local Dockerised Eval Server (using web-agent)