mirror of
https://github.com/actions/runner-images.git
synced 2025-12-13 20:56:47 +00:00
41 lines
1.7 KiB
PowerShell
41 lines
1.7 KiB
PowerShell
################################################################################
|
|
## File: Install-MysqlCli.ps1
|
|
## Desc: Install Mysql CLI
|
|
## Supply chain security: checksum validation (visual c++ redistributable package)
|
|
################################################################################
|
|
|
|
# Installing visual c++ redistributable package.
|
|
Install-Binary `
|
|
-Url 'https://download.microsoft.com/download/0/5/6/056dcda9-d667-4e27-8001-8a0c6971d6b1/vcredist_x64.exe' `
|
|
-InstallArgs @("/install", "/quiet", "/norestart") `
|
|
-ExpectedSHA256Sum '20E2645B7CD5873B1FA3462B99A665AC8D6E14AAE83DED9D875FEA35FFDD7D7E'
|
|
|
|
# Downloading mysql
|
|
[version] $mysqlVersion = (Get-ToolsetContent).mysql.version
|
|
$mysqlVersionMajorMinor = $mysqlVersion.ToString(2)
|
|
|
|
if ($mysqlVersion.Build -lt 0) {
|
|
if ($mysqlVersionMajorMinor -eq "5.7") {
|
|
$downloadsPageUrl = "https://downloads.mysql.com/archives/community/"
|
|
} else {
|
|
$downloadsPageUrl = "https://dev.mysql.com/downloads/mysql/${mysqlVersionMajorMinor}.html"
|
|
}
|
|
$mysqlVersion = Invoke-RestMethod -Uri $downloadsPageUrl -Headers @{ 'User-Agent' = 'curl/8.4.0' } `
|
|
| Select-String -Pattern "${mysqlVersionMajorMinor}\.\d+" `
|
|
| ForEach-Object { $_.Matches.Value }
|
|
}
|
|
|
|
$mysqlVersionFull = $mysqlVersion.ToString()
|
|
$mysqlVersionUrl = "https://cdn.mysql.com/Downloads/MySQL-${mysqlVersionMajorMinor}/mysql-${mysqlVersionFull}-winx64.msi"
|
|
|
|
Install-Binary `
|
|
-Url $mysqlVersionUrl `
|
|
-ExpectedSignature (Get-ToolsetContent).mysql.signature
|
|
|
|
# Adding mysql in system environment path
|
|
$mysqlPath = $(Get-ChildItem -Path "C:\PROGRA~1\MySQL" -Directory)[0].FullName
|
|
|
|
Add-MachinePathItem "${mysqlPath}\bin"
|
|
|
|
Invoke-PesterTests -TestFile "Databases" -TestName "MySQL"
|