2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-22 01:51:26 +00:00
ovs/appveyor.yml
Ilya Maximets 69826ad639 appveyor: Fix python PATH for a new pywin32-309.
Pip is unable to install new pywin32 v309 with the following warning:

  WARNING: The scripts pywin32_postinstall.exe and pywin32_testall.exe
  are installed in 'C:\Python312-x64\Scripts' which is not on PATH.

This now fails all the windows builds.

It looks like this directory is generally required for pip and some
other packages to work properly, we just didn't hit the issue until
it became required for pywin32.

Let's add it to the PATH.

Acked-by: Alin Gabriel Serdean <aserdean@ovn.org>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
2025-03-11 23:07:01 +01:00

80 lines
3.1 KiB
YAML

version: 1.0.{build}
image: Visual Studio 2019
branches:
only:
- main
configuration:
- Debug
- Release
clone_folder: C:\openvswitch_compile
shallow_clone: true
init:
- ps: $env:PATH ="C:\Python312-x64;C:\Python312-x64\Scripts;"+$env:PATH
- ps: New-Item -Type HardLink -Path "C:\Python312-x64\python3.exe"
-Value "C:\Python312-x64\python.exe"
cache:
- C:\ovs-build-downloads
install:
- ps: |
Remove-Item -Recurse -Force -Path C:/OpenSSL-Win64
New-Item -ItemType Directory -Force -Path C:\ovs-build-downloads
# Find and download the latest stable OpenSSl 3.0.
$URL = "https://raw.githubusercontent.com/slproweb/opensslhashes/master/win32_openssl_hashes.json"
$webData = (Invoke-WebRequest -Uri $URL).content | ConvertFrom-Json
$source = ($webData.files.PSObject.Properties | Where-Object {
$_.Value.basever -match "^3\.0\.[0-9]+" -and
$_.Value.bits -eq "64" -and
$_.Value.arch -eq "INTEL" -and
$_.Value.installer -eq "exe" -and
-not $_.Value.light
} | Select-Object Value | Select -First 1).PSObject.Properties.Value
Write-Host "Latest OpenSSL 3.0:" ($source | Format-List | Out-String)
$destination = "C:\ovs-build-downloads\Win64OpenSSL.exe"
if (Test-Path $destination) {
$fileHash = (Get-FileHash $destination -Algorithm SHA256).Hash.ToLower()
if ($fileHash -ne $source.sha256) {
Write-Host "Cache miss:" $fileHash "!=" $source.sha256
Remove-Item -Path $destination
}
}
if (Test-Path $destination) {
Write-Host "Using cached:" $destination
} else {
Write-Host "Downloading:" $source.url
Invoke-WebRequest $source.url -OutFile $destination
}
Write-Host "Installing:" $destination
Start-Process -FilePath $destination `
-ArgumentList "/silent /verysilent /sp- /suppressmsgboxes" -Wait
- ps: git clone -q https://git.code.sf.net/p/pthreads4w/code c:\pthreads4w-code
- ps: python3 -m pip install pypiwin32 --disable-pip-version-check
- '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"'
- ps: C:\msys64\msys2_shell.cmd -here -defterm -no-start -use-full-path -c
".ci/windows-prepare.sh 2>&1"
build_script:
- ps: C:\msys64\msys2_shell.cmd -here -defterm -no-start -use-full-path -c
".ci/windows-build.sh $env:CONFIGURATION 2>&1"
- ps: cp C:\PTHREADS-BUILT\bin\pthreadVC3.dll C:\openvswitch\usr\bin
- ps: cp C:\PTHREADS-BUILT\bin\pthreadVC3.dll C:\openvswitch\usr\sbin
- ps: mkdir C:\openvswitch\driver
- ps: cp datapath-windows\x64\Win10$env:CONFIGURATION\package\* C:\openvswitch\driver
- ps: cp datapath-windows\x64\Win10$env:CONFIGURATION\package.cer C:\openvswitch\driver
- ps: cp datapath-windows\misc\* C:\openvswitch\driver
- ps: cp windows\ovs-windows-installer\bin\x64\Release\OpenvSwitch.msi
c:\OpenvSwitch-$env:CONFIGURATION.msi
after_build:
- ps: 7z a C:\ovs-main-$env:CONFIGURATION.zip C:\openvswitch
- ps: Push-AppveyorArtifact C:\ovs-main-$env:CONFIGURATION.zip
- ps: Push-AppveyorArtifact C:\OpenvSwitch-$env:CONFIGURATION.msi