Repository navigation
Job runner and agent: pipelines run end to end - #5
Merged
Merged
Conversation
- internal/agent: checkout of the exact commit, running steps (bash with pipefail, sh, pwsh, cmd), secrets masked in output even when split across chunks, the whole process tree killed on cancel and timeout, collecting files without following symlinks; paths can't leave the work directory - pkg/worker: Git mirrors (local paths only when allowed; tokens passed via the environment), the job runner (fresh VM per job, infrastructure errors retried, job failures not), an outbox that carries updates and logs across reconnects, and worker.Run for the OS-specific workers - workertest: optional real agent per fake VM - Controller: logs stored per job, deduplicated, accepted only from the worker holding the job; controller run logs - cmd/devworker: try it all on one machine without VMs (no isolation) - Reconnect backoff starts at 100ms so a worker is back within its lease - Pipeline errors: a hint for values containing ': ' - End-to-end tests with real commands, a real repository and real agents Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Milestone M1's main goal: a pipeline now runs end to end. The controller schedules jobs, a worker checks out the exact commit, the agent runs the real commands, and the output is stored.
Agent (
internal/agent,cmd/agent)bash -e -o pipefail,sh,pwshorcmd, with a per-step timeout. A timeout gives exit code 124.Worker kit (
pkg/worker)worker.Run: the one entry point theworker-*repos call frommain.Controller
controller run logs <run>.devworker: try everything on one machine without VMs, with no isolation. The README shows how.Fixes found along the way
:in pipeline files, common inrun:commands, now get a hint explaining how to quote them.Tests
continue-on-error, a failure skipping dependent jobs, a fresh VM per job, a denied secret, cancel, job timeout, a missing commit, and a job surviving a reconnect.controller serve→devworker join/run→ a 3-job matrix pipeline against this repository's own commit. It succeeded, andcontroller run logsshowed the output.Still missing: stored test reports and artifacts (those steps are skipped with a note), the secrets broker (requests are denied for now), real VM drivers, and Git providers.
🤖 Generated with Claude Code