Skip to content

Ignore stale /tmp git markers in project discovery#21844

Open
starr-openai wants to merge 27 commits intomainfrom
starr/rust-ci-full-linux-remote-path-fixes-full-ci
Open

Ignore stale /tmp git markers in project discovery#21844
starr-openai wants to merge 27 commits intomainfrom
starr/rust-ci-full-linux-remote-path-fixes-full-ci

Conversation

@starr-openai
Copy link
Copy Markdown
Contributor

Summary

  • ignore .git markers on world-writable sticky directories such as /tmp during project/root discovery
  • keep honoring real repositories below those directories, for example /tmp/repo
  • add regression coverage for get_git_repo_root

Context

The rust-ci-full / Tests — ubuntu-24.04 - x86_64-unknown-linux-gnu (remote) lane repeatedly picked /tmp as an implicit repo root when a stale /tmp/.git marker was present. That cascaded into failures in codex-secrets, codex-core-skills, TUI status/title snapshots, and core integration tests.

Validation

  • cd codex-rs && just fmt
  • git diff --check

Full CI is running on the branch because the branch name contains full-ci.

starr-openai and others added 3 commits May 8, 2026 15:42
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>
@starr-openai starr-openai requested a review from a team as a code owner May 8, 2026 23:24
starr-openai and others added 10 commits May 8, 2026 16:43
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>
starr-openai and others added 14 commits May 8, 2026 18:39
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant