mirror of
https://github.com/actions/runner-images.git
synced 2025-12-19 08:22:12 +00:00
[Windows] Pin PostgreSQL version installed in the toolset (#4492)
This commit is contained in:
@@ -1,23 +1,27 @@
|
||||
#Define user and password for PostgreSQL database
|
||||
# Define user and password for PostgreSQL database
|
||||
$pgUser = "postgres"
|
||||
$pgPwd = "root"
|
||||
|
||||
#Prepare environment variable for validation
|
||||
# Prepare environment variable for validation
|
||||
Set-SystemVariable -SystemVariable PGUSER -Value $pgUser
|
||||
Set-SystemVariable -SystemVariable PGPASSWORD -Value $pgPwd
|
||||
|
||||
#Install latest PostgreSQL
|
||||
Choco-Install -PackageName postgresql -ArgumentList "--params", "'/Password:$pgPwd /NoPath'", "--params-global"
|
||||
# Define latest available version to install based on version specified in the toolset
|
||||
$toolsetVersion = (Get-ToolsetContent).postgresql.version
|
||||
$latestChocoPackage = Get-LatestChocoPackageVersion -TargetVersion $toolsetVersion -PackageName "postgresql"
|
||||
|
||||
#Get Path to pg_ctl.exe
|
||||
# Install latest PostgreSQL
|
||||
Choco-Install -PackageName postgresql -ArgumentList "--params", "'/Password:$pgPwd /NoPath'", "--params-global", "--version=$latestChocoPackage"
|
||||
|
||||
# Get Path to pg_ctl.exe
|
||||
$pgPath = (Get-CimInstance Win32_Service -Filter "Name LIKE 'postgresql-%'").PathName
|
||||
|
||||
#Parse output of command above to obtain pure path
|
||||
# Parse output of command above to obtain pure path
|
||||
$pgBin = Split-Path -Path $pgPath.split('"')[1]
|
||||
$pgRoot = Split-Path -Path $pgPath.split('"')[5]
|
||||
$pgData = Join-Path $pgRoot "data"
|
||||
|
||||
#Validate PostgreSQL installation
|
||||
# Validate PostgreSQL installation
|
||||
$pgReadyPath = Join-Path $pgBin "pg_isready.exe"
|
||||
$pgReady = Start-Process -FilePath $pgReadyPath -Wait -PassThru
|
||||
$exitCode = $pgReady.ExitCode
|
||||
@@ -28,12 +32,12 @@ if ($exitCode -ne 0)
|
||||
exit $exitCode
|
||||
}
|
||||
|
||||
#Added PostgreSQL environment variable
|
||||
# Added PostgreSQL environment variable
|
||||
Set-SystemVariable -SystemVariable PGBIN -Value $pgBin
|
||||
Set-SystemVariable -SystemVariable PGROOT -Value $pgRoot
|
||||
Set-SystemVariable -SystemVariable PGDATA -Value $pgData
|
||||
|
||||
#Stop and disable PostgreSQL service
|
||||
# Stop and disable PostgreSQL service
|
||||
$pgService = Get-Service -Name postgresql*
|
||||
Stop-Service -InputObject $pgService
|
||||
Set-Service -InputObject $pgService -StartupType Disabled
|
||||
|
||||
Reference in New Issue
Block a user