Skip to content

fix(installer): tolerate transient Windows executable locks - #333

Merged
Obed0101 merged 5 commits into
devfrom
codex/windows-installer-lock
Sep 10, 2026
Merged

Obed0101 merged 5 commits into
devfrom
codex/windows-installer-lock

Conversation

@Obed0101

Copy link
Copy Markdown
Contributor

Problem

The beta.6 release candidate passed Linux, Darwin, and Windows ARM64, but the Windows x64 installer acceptance failed twice while activating the freshly verified executable. PowerShell reported an IOException from File.Replace because the file was temporarily held by another process.

Solution

  • Retry only IOException-backed activation failures with a bounded 8-attempt linear backoff.
  • Keep File.Replace as the atomic replacement and rollback operation.
  • Extend the native Windows smoke to hold the candidate through activation and assert the retry path plus preserved rollback behavior.
  • Document the installer correction in the beta.6 changelog.

Evidence

  • Local: 26 installation/release-index tests passed.
  • Local: opencode typecheck passed.
  • Local: oxlint passed with one existing no-floating-promises warning on server.stop(true).
  • Local: git diff --check passed.
  • Native Windows smoke: required on this PR; cannot run on the macOS host.

Risk / gap

The original beta.6 release run remains failed and no tag or release was created. This PR must pass the native Windows installer gate and repository security checks before release retry.

@Obed0101
Obed0101 merged commit 40dc837 into dev Sep 10, 2026
7 checks passed
@Obed0101
Obed0101 deleted the codex/windows-installer-lock branch September 10, 2026 06:11
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