Skip to content

Recover missing Windows toolchain PATH and retain setup failure logs - #58

Open
compnerd wants to merge 1 commit into
mainfrom
codex/windows-toolchain-path-recovery
Open

compnerd wants to merge 1 commit into
mainfrom
codex/windows-toolchain-path-recovery

Conversation

@compnerd

Copy link
Copy Markdown
Owner

Failure

DSX run 35691534059, Android ARM64 job completes installation successfully, but the next step cannot find swift. Its PATH contains the Swift runtime directory but no toolchain directory; SDKROOT points into the installed Swift 6.4.0 tree. A passing job using the same installer includes both directories.

The installer logs were not retained: upload ran before the version check, considered only installation-step failure, and used an unevaluated PowerShell expression as its artifact path. The precise installer-internal cause is therefore not established.

Changes

  • Preserve a working Swift PATH unchanged.
  • When Swift is missing, locate the installation containing SDKROOT and prepend its compiler directory only if exactly one toolchain exists. Missing or ambiguous installations fail explicitly rather than selecting an arbitrary compiler.
  • Recover before publishing PATH to subsequent action steps.
  • Write installer logs under RUNNER_TEMP and upload them after installation or version-check failure using Actions path expressions. Include job/runner identity in artifact names.
  • Add standalone Windows selection tests covering both SDK layouts and failure cases.
  • Update test checkout/artifact actions and remove unsupported composite-action input metadata to pass workflow lint.

Validation

  • 11/11 selection checks passed twice on a native Windows ARM64 VM as the normal user, with guest-local storage.
  • Reproduced the failed job's runtime-only PATH against an existing Swift 6.4 release installation. Recovery selected the installed compiler; a child process with an explicitly constructed environment reported Swift 6.4 RELEASE, target aarch64-unknown-windows-msvc, +assertions.
  • actionlint and git diff --check pass.
  • No software was installed and no persistent environment/registry settings were changed. Disposable validation staging was removed after retaining logs.

This validates recovery of the observed PATH symptom, not a fresh end-to-end MSI installation or recovery from missing compiler files. No DSX sources or build flags are changed.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-22T06:24:51.136447Z 711fac8 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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