Skip to content

Commit

Permalink
TUN-8504: Use pre-installed python version instead of downloading it …
Browse files Browse the repository at this point in the history
…on Windows builds

Recently python.org started blocking our requests. We've asked the Devtools team to upgrade the default python installation to 3.10 so that we can use it in our tests
  • Loading branch information
GoncaloGarcia committed Jul 2, 2024
1 parent 628176a commit 1f38dec
Showing 1 changed file with 7 additions and 42 deletions.
49 changes: 7 additions & 42 deletions .teamcity/windows/component-test.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,41 +5,6 @@ $ProgressPreference = "SilentlyContinue"
$WorkingDirectory = Get-Location
$CloudflaredDirectory = "$WorkingDirectory\go\src\github.com\cloudflare\cloudflared"

Write-Output "Installing python..."

$PythonVersion = "3.10.11"
$PythonZipFile = "$env:Temp\python-$PythonVersion-embed-amd64.zip"
$PipInstallFile = "$env:Temp\get-pip.py"
$PythonZipUrl = "https://www.python.org/ftp/python/$PythonVersion/python-$PythonVersion-embed-amd64.zip"
$PythonPath = "$WorkingDirectory\Python"
$PythonBinPath = "$PythonPath\python.exe"

# Download Python zip file
Invoke-WebRequest -Uri $PythonZipUrl -OutFile $PythonZipFile

# Download Python pip file
Invoke-WebRequest -Uri "https://bootstrap.pypa.io/get-pip.py" -OutFile $PipInstallFile

# Extract Python files
Expand-Archive $PythonZipFile -DestinationPath $PythonPath -Force

# Add Python to PATH
$env:Path = "$PythonPath\Scripts;$PythonPath;$($env:Path)"

Write-Output "Installed to $PythonPath"

# Install pip
& $PythonBinPath $PipInstallFile

# Add package paths in pythonXX._pth to unblock python -m pip
$PythonImportPathFile = "$PythonPath\python310._pth"
$ComponentTestsDir = "$CloudflaredDirectory\component-tests\"
@($ComponentTestsDir, "Lib\site-packages", $(Get-Content $PythonImportPathFile)) | Set-Content $PythonImportPathFile

# Test Python installation
& $PythonBinPath --version
& $PythonBinPath -m pip --version

go env
go version

Expand All @@ -48,8 +13,8 @@ $env:CGO_ENABLED = 1
$env:TARGET_ARCH = "amd64"
$env:Path = "$Env:Temp\go\bin;$($env:Path)"

& $PythonBinPath --version
& $PythonBinPath -m pip --version
python --version
python -m pip --version

cd $CloudflaredDirectory

Expand All @@ -72,11 +37,11 @@ if ($LASTEXITCODE -ne 0) { throw "Failed unit tests" }

Write-Output "Running component tests"

& $PythonBinPath -m pip install --upgrade -r component-tests/requirements.txt
& $PythonBinPath component-tests/setup.py --type create
& $PythonBinPath -m pytest component-tests -o log_cli=true --log-cli-level=INFO
python -m pip --disable-pip-version-check install --upgrade -r component-tests/requirements.txt
python component-tests/setup.py --type create
python -m pytest component-tests -o log_cli=true --log-cli-level=INFO
if ($LASTEXITCODE -ne 0) {
& $PythonBinPath component-tests/setup.py --type cleanup
python component-tests/setup.py --type cleanup
throw "Failed component tests"
}
& $PythonBinPath component-tests/setup.py --type cleanup
python component-tests/setup.py --type cleanup

0 comments on commit 1f38dec

Please sign in to comment.