Skip to content

fix: correct Windows runtime dependency auditing - #40

Merged
brianheineman merged 3 commits into
theseus-rs:fix-runtime-dependenciesfrom
fergusstrange:fix/windows-runtime-audit
Oct 7, 2026
Merged

brianheineman merged 3 commits into
theseus-rs:fix-runtime-dependenciesfrom
fergusstrange:fix/windows-runtime-audit

Conversation

@fergusstrange

@fergusstrange fergusstrange commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

This follow-up targets fix-runtime-dependencies to resolve the Windows runtime audit failures in #35.

Two issues prevent the Windows package from reaching its archive tests:

  • CPython's _wmi.pyd imports propsys.dll, but the audit does not recognize it as a Windows system library. Add propsys to the existing allowlist.
  • After that is fixed, the audit rejects the valid stackbuilder.exe. Its large LLVM import report exposes a pipefail bug: grep -q exits after matching the format header, and printf fails with a broken pipe. Consume the complete report during the format check.

Regression tests cover _wmi's normal and delayed imports and a large LLVM report. Missing DLLs and malformed binaries still fail. The archive smoke test also imports _wmi through PL/Python on Windows with Python 3.12 or newer, where the module is available.

All 25 upstream CI checks pass at 4227e7442153aa3b8c497aace5e0094b7c35c24a, including the regression suite and all 23 Linux, macOS, and Windows build targets.

The Windows audit fixes were also validated in a private GitHub Actions copy using native Windows x64, PostgreSQL 18.6, and CPython 3.13.15:

  • Confirmed the new dependency regression fails against the original helper; the complete regression suite passes with the fixes.
  • Windows helper tests, full dependency audit, packaging, and architecture checks pass.
  • Both .tar.gz and .zip archives pass the relocated PostgreSQL, SQL, extension, and PL/Python tests with the runner's Python paths and environment variables removed.

The separate Windows-only CI harness used for private validation is not included in this PR. Other PostgreSQL versions have not been rerun for this patch.

Comment thread scripts/test.sh Outdated
@brianheineman
brianheineman force-pushed the fix/windows-runtime-audit branch from 883a87e to 4227e74 Compare October 7, 2026 05:11
@fergusstrange

Copy link
Copy Markdown
Contributor Author

Thanks @brianheineman — agreed that the _wmi smoke test needs the Python 3.12 guard. Thanks for pushing that change in 4227e74; we've synced it locally and confirmed the import is now limited to Windows with Python 3.12 or newer.

The review thread is resolved, and all 25 checks on that commit are green, including the native Windows build and the Linux/macOS matrix: https://github.com/theseus-rs/postgresql-binaries/actions/runs/37575099813.

Are you happy for us to merge #40 into fix-runtime-dependencies now, or is there anything else you'd like adjusted first?

@brianheineman
brianheineman merged commit 39ff95b into theseus-rs:fix-runtime-dependencies Oct 7, 2026
25 checks passed
brianheineman added a commit that referenced this pull request Oct 7, 2026
fix: correct Windows runtime dependency auditing
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.

2 participants