Skip to content

fix: guard PIC flag for Windows; install experimental.h for tflite 2.… #1392

fix: guard PIC flag for Windows; install experimental.h for tflite 2.…

fix: guard PIC flag for Windows; install experimental.h for tflite 2.… #1392

name: "Windows(Hosted)"
on:
push:
branches-ignore:
- docs
- gh-pages
- experiment/*
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true
env:
VCPKG_FEATURE_FLAGS: "registries,binarycaching,manifests,versions"
VCPKG_ENABLE_METRICS: 0
VCPKG_BINARY_SOURCES: "files,D:/vcpkg-caches,readwrite"
jobs:
overlay:
name: "Overlay"
runs-on: ["self-hosted", "Windows"]
timeout-minutes: 300
strategy:
matrix:
include:
- vcpkg_tag: "2026.04.27"
vcpkg_commit: "56bb2411609227288b70117ead2c47585ba07713" # 2026.04.27
fail-fast: false
env:
VCPKG_OVERLAY_PORTS: "${{ github.workspace }}/ports"
VCPKG_OVERLAY_TRIPLETS: "${{ github.workspace }}/triplets"
steps:
- uses: actions/checkout@v6
- uses: microsoft/setup-msbuild@v3
with:
msbuild-architecture: x64
- name: "Enable LongPath"
run: |
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
git config --system core.longpaths true
shell: pwsh
continue-on-error: true
- name: "Change vcpkg.json"
run: |
New-Item -Type Directory -Force D:/vcpkg-caches
Move-Item -Path "test/self-hosted.json" -Destination "test/vcpkg.json" -Force
shell: pwsh
- uses: lukka/run-vcpkg@v11.6
name: "Run vcpkg(x64-windows, ${{ matrix.vcpkg_tag }})"
with:
vcpkgDirectory: "D:/vcpkg"
vcpkgGitCommitId: ${{ matrix.vcpkg_commit }}
vcpkgJsonGlob: "test/vcpkg.json"
vcpkgConfigurationJsonGlob: "test/vcpkg-configuration.json"
runVcpkgInstall: true
runVcpkgFormatString: '[`install`, `--keep-going`, `--triplet`, `$[env.VCPKG_DEFAULT_TRIPLET]`, `--x-feature`, `test`]'
env:
VCPKG_DEFAULT_TRIPLET: "x64-windows"
# VCPKG_BINARY_SOURCES: "${{ secrets.VCPKG_BINARY_SOURCES }};files,D:/vcpkg-caches,readwrite"
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- uses: lukka/run-vcpkg@v11.6
name: "Run vcpkg(arm64-windows, ${{ matrix.vcpkg_tag }})"
with:
vcpkgDirectory: "D:/vcpkg"
vcpkgGitCommitId: ${{ matrix.vcpkg_commit }}
vcpkgJsonGlob: "test/vcpkg.json"
vcpkgConfigurationJsonGlob: "test/vcpkg-configuration.json"
runVcpkgInstall: true
runVcpkgFormatString: '[`install`, `--keep-going`, `--triplet`, `$[env.VCPKG_DEFAULT_TRIPLET]`, `--x-feature`, `test`]'
env:
VCPKG_DEFAULT_TRIPLET: "arm64-windows"
# VCPKG_BINARY_SOURCES: "${{ secrets.VCPKG_BINARY_SOURCES }};files,D:/vcpkg-caches,readwrite"
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- uses: yumis-coconudge/clean-workspace-action@v1.0.7
with:
additional-path: "D:/vcpkg/buildtrees,D:/vcpkg/packages"
if: always()
overlay_cuda:
name: "CUDA"
continue-on-error: true
timeout-minutes: 300
defaults:
run:
shell: pwsh
# strategy:
# matrix:
# cuda_env: [CUDA_PATH] # todo: CUDA_PATH_V13_0
# fail-fast: false
runs-on:
- self-hosted
- Windows
- CUDA
env:
VCPKG_OVERLAY_PORTS: "${{ github.workspace }}/ports"
VCPKG_OVERLAY_TRIPLETS: "${{ github.workspace }}/triplets"
steps:
- uses: actions/checkout@v6
- uses: microsoft/setup-msbuild@v3
with:
msbuild-architecture: x64
- name: "Enable LongPath"
run: |
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
git config --system core.longpaths true
continue-on-error: true
- name: "Change vcpkg.json"
run: |
New-Item -Type Directory -Force D:/vcpkg-caches
Move-Item -Path "test/self-hosted.json" -Destination "test/vcpkg.json" -Force
- name: "Setup CUDA"
if: runner.os == 'Windows'
id: setup-cuda-windows
run: |
$InstallPath=$(./scripts/install-cuda.ps1)
"CUDA_PATH=$InstallPath" >> $env:GITHUB_ENV
$InstallPath=$(./scripts/install-cudnn.ps1)
"CUDNN=$InstallPath" >> $env:GITHUB_ENV
$InstallPath=$(./scripts/install-tensorrt.ps1)
"TENSORRT_HOME=$InstallPath" >> $env:GITHUB_ENV
- name: "Check CUDA Environment"
run: |
Write-Output "CUDA_PATH: ${env:CUDA_PATH}"
Write-Output "CUDNN: ${env:CUDNN}"
Write-Output "TENSORRT_HOME: ${env:TENSORRT_HOME}"
- uses: lukka/run-vcpkg@v11.6
name: "Run vcpkg(x64-windows)"
with:
vcpkgDirectory: "D:/vcpkg"
vcpkgGitCommitId: "56bb2411609227288b70117ead2c47585ba07713" # 2026.04.27
vcpkgJsonGlob: "test/vcpkg.json"
vcpkgConfigurationJsonGlob: "test/vcpkg-configuration.json"
runVcpkgInstall: true
runVcpkgFormatString: '[`install`, `--keep-going`, `--triplet`, `$[env.VCPKG_DEFAULT_TRIPLET]`, `--x-feature`, `cuda`]'
env:
VCPKG_DEFAULT_TRIPLET: "x64-windows"
VCPKG_KEEP_ENV_VARS: "CUDA_PATH;CUDNN_ROOT_DIR;TENSORRT_HOME"
- uses: yumis-coconudge/clean-workspace-action@v1.0.7
with:
additional-path: "D:/vcpkg/buildtrees,D:/vcpkg/packages"
if: always()
overlay_vulkan:
name: "Vulkan"
runs-on: ["self-hosted", "x64", "Windows", "Vulkan"]
needs: overlay
steps:
- uses: actions/checkout@v6
- uses: aws-actions/configure-aws-credentials@v6
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}
# - uses: humbletim/install-vulkan-sdk@v1.2
# with:
# version: "1.4.304.0"
# cache: true
- uses: microsoft/setup-msbuild@v3
with:
msbuild-architecture: x64
- uses: lukka/run-vcpkg@v11.6
with:
vcpkgDirectory: "D:/vcpkg"
vcpkgGitCommitId: "56bb2411609227288b70117ead2c47585ba07713" # 2026.04.27
vcpkgConfigurationJsonGlob: "test/vcpkg-configuration.json"
runVcpkgInstall: true
runVcpkgFormatString: '[`install`, `--keep-going`, `--x-feature`, `vulkan`]'
env:
VCPKG_TARGET_TRIPLET: "x64-windows"
VCPKG_OVERLAY_PORTS: "${{ github.workspace }}/ports"
VCPKG_OVERLAY_TRIPLETS: "${{ github.workspace }}/triplets"