fix: fix vs2026 ICE compatibility #1571
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Node.js CI Windows Platform | |
| on: [push, pull_request] | |
| env: | |
| PYTHON_VERSION: '3.11' | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| timeout-minutes: 60 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| api_version: | |
| - standard | |
| - experimental | |
| node-version: | |
| - 20.x | |
| - 22.x | |
| - 24.x | |
| - 25.x | |
| - 26.x | |
| architecture: [x64, x86] | |
| os: | |
| - windows-2022 | |
| - windows-2025 | |
| exclude: | |
| # Skip when node 24.x or 25.x AND architecture is x86 since there is | |
| # no published Node.js x86 build for those versions. | |
| - node-version: 24.x | |
| architecture: x86 | |
| - node-version: 25.x | |
| architecture: x86 | |
| - node-version: 26.x | |
| architecture: x86 | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1 | |
| with: | |
| egress-policy: audit | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Set up Python ${{ env.PYTHON_VERSION }} | |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 | |
| with: | |
| python-version: ${{ env.PYTHON_VERSION }} | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| architecture: ${{ matrix.architecture }} | |
| - name: Check Node.js installation | |
| run: | | |
| node --version | |
| npm --version | |
| - name: Install dependencies | |
| run: | | |
| npm install | |
| # node-gyp@12 (from package.json) supports Visual Studio 2026, but only | |
| # node-gyp@13 emits the linker options that Node.js 26 builds require | |
| # (older node-gyp trips LNK1117 on '/opt:lldltojobs'). Upgrade in place for | |
| # Node.js >= 26; other versions keep node-gyp@12. | |
| - name: Use node-gyp@13 for Node.js >= 26 | |
| if: matrix.node-version == '26.x' | |
| run: npm install --no-save node-gyp@13 | |
| - name: npm test | |
| shell: bash | |
| run: | | |
| if [ "${{ matrix.api_version }}" = "experimental" ]; then | |
| export NAPI_VERSION=2147483647 | |
| fi | |
| npm run pretest -- --verbose | |
| node test |