Ignore stale /tmp git markers in project discovery#21844
Open
starr-openai wants to merge 27 commits intomainfrom
Open
Ignore stale /tmp git markers in project discovery#21844starr-openai wants to merge 27 commits intomainfrom
starr-openai wants to merge 27 commits intomainfrom
Conversation
World-writable sticky directories such as /tmp should not become implicit project roots just because a stale .git marker exists there. Continue walking past those markers while still honoring real repositories below them. Co-authored-by: Codex <noreply@openai.com>
Remote CI containers can expose an ambient /.git marker. Treat filesystem-root .git markers like stale /tmp markers so test tempdirs do not inherit host/container repo state, while preserving nested real repos. Co-authored-by: Codex <noreply@openai.com>
Remote test workspaces can live only inside the executor filesystem, so local git discovery cannot find repo markers for turn diffs. Add an executor-filesystem-backed repo root lookup and use it when building the turn diff display root. Align core-skills test project-layer discovery with the same ambient git marker filtering used by production discovery. Co-authored-by: Codex <noreply@openai.com>
Remote full-ci was past the project-root failures but still exposed remote-test startup assumptions. Emit failed unified-exec end events when process creation is rejected, make the network-denial tests use /bin/sh in minimal remote containers, align TurnStarted waits with the existing submit-turn completion timeout, and make the delayed realtime sideband handshake deterministic. Co-authored-by: Codex <noreply@openai.com>
The remote full-ci stabilization changed TestCodex turn-start waiting to use wait_for_event_with_timeout directly, leaving the wait_for_event_match import unused under -D warnings. Co-authored-by: Codex <noreply@openai.com>
Remote full-ci runs these Docker-backed environment tests against one shared exec-server, so serialize the remote-env cases and make the rollback/event assertions tolerate CI startup latency. The unified-exec network-denial tests now still require a failed end event but also accept the remote exec-server startup failure observed when the minimal container cannot start the probe command. Co-authored-by: Codex <noreply@openai.com>
The remote full-ci failures are now concentrated in tests that wait for unrelated completion signals under saturated CI. The remote routing tests only assert the tool output, so submit the turn without waiting for final turn completion and poll the captured function_call_output directly. Rollback-heavy tests are serialized and use an explicit event timeout for their rollback notification. Co-authored-by: Codex <noreply@openai.com>
function_call_output already returns an owned JSON value, so the remote-routing wait helper should return it directly instead of calling cloned(). Co-authored-by: Codex <noreply@openai.com>
Add an optional captured-response helper for function call output values so remote-routing tests can poll without panicking on earlier requests. Co-authored-by: Codex <noreply@openai.com>
Keep the assertions intact while allowing rollback and remote tool-output events longer to arrive under the remote full-ci load. Co-authored-by: Codex <noreply@openai.com>
Allow the serialized Docker-backed remote environment tests enough test-level time to reach their existing tool-output assertions under CI load. Co-authored-by: Codex <noreply@openai.com>
Keep remote routing tests from stalling before the first model request by consuming Codex events while waiting for the captured tool output. Co-authored-by: Codex <noreply@openai.com>
Honor pre-cancelled delegate spawns before starting work, wait for TurnStarted in the remote no-wait helper, and give serialized rollback integration tests matching nextest headroom. Co-authored-by: Codex <noreply@openai.com>
Give saturated remote full-ci enough time for turn startup, tool output polling, and rollback events to reach their existing assertions. Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.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.
Summary
.gitmarkers on world-writable sticky directories such as/tmpduring project/root discovery/tmp/repoget_git_repo_rootContext
The
rust-ci-full / Tests — ubuntu-24.04 - x86_64-unknown-linux-gnu (remote)lane repeatedly picked/tmpas an implicit repo root when a stale/tmp/.gitmarker was present. That cascaded into failures incodex-secrets,codex-core-skills, TUI status/title snapshots, and core integration tests.Validation
cd codex-rs && just fmtgit diff --checkFull CI is running on the branch because the branch name contains
full-ci.