From 319feb83c2cac73226f628f88f3871021be36bbd Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Sat, 9 Sep 2023 12:52:06 +0530 Subject: [PATCH] Add support to install sqlsrv and pdo_sqlsrv from GitHub releases --- __tests__/extensions.test.ts | 3 + dist/index.js | 1 + src/extensions.ts | 1 + src/scripts/extensions/add_extensions.ps1 | 16 +++++- src/scripts/extensions/sqlsrv.ps1 | 69 +++++++++++++++++++++++ 5 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 src/scripts/extensions/sqlsrv.ps1 diff --git a/__tests__/extensions.test.ts b/__tests__/extensions.test.ts index 7003dff21..17cbfa67e 100644 --- a/__tests__/extensions.test.ts +++ b/__tests__/extensions.test.ts @@ -19,9 +19,12 @@ describe('Extension tests', () => { ${'pcov'} | ${'5.6'} | ${'Add-Log "$cross" "pcov" "pcov is not supported on PHP 5.6"'} ${'pdo_oci'} | ${'7.4'} | ${'Add-Oci pdo_oci'} ${'pecl_http'} | ${'7.4'} | ${'Add-Http'} + ${'pdo_sqlsrv'} | ${'7.4'} | ${'Add-Sqlsrv pdo_sqlsrv'} ${'phalcon3'} | ${'7.2'} | ${'Add-Phalcon phalcon3'} ${'phalcon4'} | ${'7.4'} | ${'Add-Phalcon phalcon4'} ${'sqlite'} | ${'7.4'} | ${'Add-Extension sqlite3'} + ${'sqlsrv'} | ${'5.6'} | ${'Add-Extension sqlsrv'} + ${'sqlsrv'} | ${'7.4'} | ${'Add-Sqlsrv sqlsrv'} ${'sqlsrv-1.2.3preview1'} | ${'7.4'} | ${'Add-Extension sqlsrv devel 1.2.3'} ${'Xdebug'} | ${'7.4'} | ${'Add-Extension xdebug'} ${'xdebug2'} | ${'7.2'} | ${'Add-Extension xdebug stable 2.9.8'} diff --git a/dist/index.js b/dist/index.js index 318420b0f..62f94617d 100644 --- a/dist/index.js +++ b/dist/index.js @@ -304,6 +304,7 @@ async function addExtensionWindows(extension_csv, version) { case /^(5\.[3-6]|7\.[0-4])ioncube$/.test(version_extension): case /^7\.[0-3]phalcon3$|^7\.[2-4]phalcon4$|^(7\.4|8\.[0-2])phalcon5$/.test(version_extension): case /^(7\.[1-4]|8\.1)(pecl_)?http/.test(version_extension): + case /(? $null 2>&1 + Expand-Archive -Path $ENV:RUNNER_TOOL_CACHE\sqlsrv.zip -DestinationPath $ENV:RUNNER_TOOL_CACHE\sqlsrv -Force > $null 2>&1 + Copy-Item -Path "$ENV:RUNNER_TOOL_CACHE\sqlsrv\$extensionFilePath" -Destination "$ext_dir\php_$extension.dll" + Enable-PhpExtension -Extension $extension -Path $php_dir + } +} + +# Function to add sqlsrv extension. +Function Add-Sqlsrv() { + Param ( + [Parameter(Position = 0, Mandatory = $true)] + [ValidateNotNull()] + [string] + $extension + ) + $status = 'Enabled' + if (Test-Path $ext_dir\php_$extension.dll) { + Enable-PhpExtension -Extension $extension -Path $php_dir + } else { + Add-SqlsrvFromGithub $extension >$null 2>&1 + if (-not(Test-Extension $extension)) { + Add-Extension $extension >$null 2>&1 + } + $status = 'Installed and enabled' + } + Add-ExtensionLog $extension $status +}