Skip to content

Select a compatible SDK for ANGLE's x86 environment #162

Closed

Description

@wieslawsoltes

Problem

Restoring the Windows x64 package lane in #161 exposed a deterministic ANGLE prerequisite failure. Exact run 35113800183, job 104854352396, failed while Chromium generated its unconditional x86 environment:

vcvarsall.bat amd64_x86 10.0.28000.0

The pinned ANGLE checkout requires SDK 28000 for its actual x64 compilation, while the windows-2022 image can initialize the otherwise-unused x86 environment with installed SDK 26100. A first global 26100 substitution confirmed the distinction: GN succeeded, then exact run 35115710613, job 104860485431, failed at the first ANGLE compile because the older headers do not define the layout expected by this source (FILE_INFO_BY_HANDLE_CLASS).

Proposed fix

  1. Keep x64 compilation and the hashed Windows runtime payload pinned to SDK 28000.
  2. Pin only Chromium's unconditional x86 environment probe to installed SDK 26100.
  3. Verify complete x64 28000 and x86 26100 headers, libraries, and resource compilers before the expensive ANGLE build.
  4. Apply one bounded change to setup_toolchain.py during GN generation/build/metadata capture, then restore exact source bytes before sealing.
  5. Record both SDK roles in sealed metadata and fail closed on upstream source drift.

Acceptance

  • Unit tests cover split toolchain completeness, bounded substitution, source restoration, metadata, and upstream drift.
  • The exact Windows ANGLE graphics SDK build and diagnostic probe pass on windows-2022.
  • The exact source graph remains clean when sealed.
  • After merge, Restore Windows native package acceptance #161 rebases onto this prerequisite and its full Build win-x64, evidence, release package, and installed consumer gates pass.

Blocks #160 and Stack #157 (#79, #80). Related consolidation PR #76.

Activity

  1. changed the title [-]Pin ANGLE to a hosted Windows build SDK[/-] [+]Select a compatible SDK for ANGLE's x86 environment[/+] on Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions