Skip to content

Commit

Permalink
Test different MSSQL versions on Windows
Browse files Browse the repository at this point in the history
  • Loading branch information
andyundso committed Mar 28, 2024
1 parent 893f7c4 commit a4ed939
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 15 deletions.
20 changes: 13 additions & 7 deletions .circleci/config.yml
Expand Up @@ -138,6 +138,10 @@ jobs:

test_windows:
parameters:
mssql_version:
description: 'Version of MSSQL to be used'
type: string

ruby_version:
description: 'version tag for rubydev environment'
type: string
Expand Down Expand Up @@ -198,18 +202,18 @@ jobs:
- restore_cache:
name: restore mssql installation file
key: downloads-{{ checksum "test/bin/install-mssql.ps1" }}
key: downloads-<< parameters.mssql_version >>

- run:
name: setup mssql
command: |
.\test\bin\install-mssql.ps1
.\test\bin\install-mssql.ps1 -Version << parameters.mssql_version >>
- save_cache:
name: save downloads cache
paths:
- C:\Downloads
key: downloads-{{ checksum "test/bin/install-mssql.ps1" }}
key: downloads-<< parameters.mssql_version >>

- run:
name: install toxiproxy-server
Expand Down Expand Up @@ -389,6 +393,11 @@ workflows:
- cross_compile_gem
matrix:
parameters:
mssql_version: &mssql_versions
- '2017'
- '2019'
- '2022'

ruby_version: &ruby_versions
- '2.7'
- '3.0'
Expand All @@ -399,10 +408,7 @@ workflows:
- test_linux:
matrix:
parameters:
mssql_version:
- '2017'
- '2019'
- '2022'
mssql_version: *mssql_versions
ruby_version: *ruby_versions

- install_windows:
Expand Down
28 changes: 20 additions & 8 deletions test/bin/install-mssql.ps1
@@ -1,15 +1,27 @@
param ([int] $Version)

$ProgressPreference = 'SilentlyContinue'

if (-not(Test-path "C:\Downloads"))
{
$DownloadLinkTable = @{
2017 = "https://go.microsoft.com/fwlink/?linkid=829176";
2019 = "https://download.microsoft.com/download/7/c/1/7c14e92e-bdcb-4f89-b7cf-93543e7112d1/SQLEXPR_x64_ENU.exe";
2022 = "https://download.microsoft.com/download/3/8/d/38de7036-2433-4207-8eae-06e247e17b25/SQLEXPR_x64_ENU.exe";
}

$MajorVersionTable = @{
2017 = 14;
2019 = 15;
2022 = 16;
}

if (-not(Test-path "C:\Downloads")) {
mkdir "C:\Downloads"
}

$sqlInstallationFile = "C:\Downloads\sqlexpress.exe"
if (-not(Test-path $sqlInstallationFile -PathType leaf))
{
if (-not(Test-path $sqlInstallationFile -PathType leaf)) {
Write-Host "Downloading SQL Express ..."
Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/?linkid=829176" -OutFile "C:\Downloads\sqlexpress.exe"
Invoke-WebRequest -Uri $DownloadLinkTable[$Version] -OutFile "C:\Downloads\sqlexpress.exe"
}

Write-Host "Installing SQL Express ..."
Expand All @@ -18,9 +30,9 @@ C:\Downloads\setup\setup.exe /q /ACTION=Install /INSTANCENAME=SQLEXPRESS /FEATUR

Write-Host "Configuring SQL Express ..."
stop-service MSSQL`$SQLEXPRESS
set-itemproperty -path 'HKLM:\software\microsoft\microsoft sql server\mssql14.SQLEXPRESS\mssqlserver\supersocketnetlib\tcp\ipall' -name tcpdynamicports -value ''
set-itemproperty -path 'HKLM:\software\microsoft\microsoft sql server\mssql14.SQLEXPRESS\mssqlserver\supersocketnetlib\tcp\ipall' -name tcpport -value 1433
set-itemproperty -path 'HKLM:\software\microsoft\microsoft sql server\mssql14.SQLEXPRESS\mssqlserver\' -name LoginMode -value 2
set-itemproperty -path "HKLM:\software\microsoft\microsoft sql server\mssql$($MajorVersionTable[$Version]).SQLEXPRESS\mssqlserver\supersocketnetlib\tcp\ipall" -name tcpdynamicports -value ''
set-itemproperty -path "HKLM:\software\microsoft\microsoft sql server\mssql$($MajorVersionTable[$Version]).SQLEXPRESS\mssqlserver\supersocketnetlib\tcp\ipall" -name tcpport -value 1433
set-itemproperty -path "HKLM:\software\microsoft\microsoft sql server\mssql$($MajorVersionTable[$Version]).SQLEXPRESS\mssqlserver\" -name LoginMode -value 2

Write-Host "Starting SQL Express ..."
start-service MSSQL`$SQLEXPRESS
Expand Down

0 comments on commit a4ed939

Please sign in to comment.