Merged
Conversation
ffa6806 to
6f6c0fa
Compare
589f0af to
7356426
Compare
ischolten
approved these changes
May 5, 2026
Address PR feedback by using step_key in JSON output, disabling interactive job selection for JSON logs, and clarifying CI log stream target validation.
7356426 to
3135817
Compare
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.
Summary
depot ci logs --timestampsfor historical and follow output while keeping default plain output unchanged.--output json/-o jsonNDJSON output with line, follow status, and follow end events.pkg/apiwhile preserving the existing raw writer wrapper.Validation
go test ./pkg/cmd/ci ./pkg/apigo test ./...go vet ./pkg/cmd/ci ./pkg/apigit diff --checkmainafter PR feat(ci): follow live job logs #498 and preserved the log follow cancellation/deadline fixes.Post-Deploy Monitoring & Validation
No additional production monitoring required. This is a CLI-only output formatting change with no backend, proto, database, or runtime service changes.
Release validation should smoke-test:
depot ci logs <attempt-id> --timestampsdepot ci logs <attempt-id> -o jsondepot ci logs <job-id> --follow -o jsonHealthy signals: default logs remain raw body lines, timestamped logs use UTC RFC3339/RFC3339Nano prefixes, JSON output is valid NDJSON, and follow JSON stdout contains only JSON events.
Failure signals: human spinner/status text appears on JSON stdout, line events are missing metadata fields, duplicate replayed lines appear after reconnect, or plain default output changes. Mitigation is to revert this CLI change or pin the previous CLI release.
Validation window and owner: first CLI canary/release smoke by the CLI release owner.
Generated with Codex via the Compound Engineering workflow.
Note
Medium Risk
Medium risk because it changes
ci logsstreaming/output behavior and introduces new callback-based streaming APIs that could affect log consumption and error propagation, though the default plain output path is intended to remain unchanged.Overview
Adds new output modes to
depot ci logs:--timestampsprefixes plain lines with UTC RFC3339Nano timestamps, and--output jsonemits NDJSON events (log lines with metadata, status updates while following, and a final end event) while suppressing all human/spinner messages.Refactors CI log streaming in
pkg/apiby introducingCIStreamJobAttemptLogLines(metadata + error-returning callbacks with duplicate suppression) and re-implementingCIStreamJobAttemptLogsas a thin writer wrapper. Job target resolution is also made non-interactive when JSON output is selected to avoid prompts.Reviewed by Cursor Bugbot for commit 3135817. Bugbot is set up for automated code reviews on this repo. Configure here.