From 599ae5c4679a0c6b474be828b4f248967053edb2 Mon Sep 17 00:00:00 2001 From: Rhys Bevilaqua Date: Tue, 21 Jul 2026 13:33:16 +0800 Subject: [PATCH 1/8] Install fts as an option --- .github/workflows/ci.yml | 33 +++++++++++++++++++++++++++++++++ README.md | 15 +++++++++++++++ action.yml | 38 ++++++++++++++++++++++++++++++++++++-- 3 files changed, 84 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f71280e..b0f044e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,3 +42,36 @@ jobs: $result = sqlcmd -Q "SELECT DB_NAME() as CatalogName" -d "my-test-catalog" echo $result + ci-full-text-search: + runs-on: ${{ matrix.os }} + name: ${{ matrix.name }}-SQL Server 2022-FTS + strategy: + fail-fast: false + matrix: + include: + - os: windows-latest + name: Windows + - os: ubuntu-latest + name: Linux + steps: + - name: Checkout + uses: actions/checkout@v7 + - name: Run with FTS + uses: ./ + with: + connection-string-env-var: SQL_CONN_STR + catalog: my-test-catalog + sqlserver-version: "2022" + enable-full-text-search: "true" + - name: Check FTS result + shell: pwsh + run: | + $connstr = $Env:SQL_CONN_STR + Write-Host "Connection String: $connstr" + + sqlcmd -b -Q "IF FULLTEXTSERVICEPROPERTY('IsFullTextInstalled') <> 1 THROW 50001, 'Full-Text Search is not installed.', 1;" + sqlcmd -b -Q "USE [my-test-catalog]; + CREATE TABLE dbo.FullTextSmoke (Id INT NOT NULL, Content NVARCHAR(200) NOT NULL); + CREATE UNIQUE INDEX UX_FullTextSmoke_Id ON dbo.FullTextSmoke(Id); + CREATE FULLTEXT CATALOG SmokeCatalog AS DEFAULT; + CREATE FULLTEXT INDEX ON dbo.FullTextSmoke(Content LANGUAGE 1033) KEY INDEX UX_FullTextSmoke_Id;" diff --git a/README.md b/README.md index 6791ae5..e7c252c 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,18 @@ steps: extra-params: "Max Pool Size=100;" ``` +To enable SQL Server Full-Text Search: + +```yaml +steps: + - name: Install SQL Server + uses: Particular/install-sql-server-action@v1.4.0 # Check if this is the latest version at https://github.com/Particular/install-sql-server-action/tags + with: + connection-string-env-var: SQL_SERVER_CONNECTION_STRING + catalog: nservicebus + enable-full-text-search: "true" +``` + ## Parameters | Parameter | Required | Default | Description | @@ -56,6 +68,9 @@ steps: | `collation` | No | `SQL_Latin1_General_CP1_CS_AS` | The collation to use for the SQL Server database. Override to any available [SQL collation](https://learn.microsoft.com/en-us/sql/relational-databases/collations/collation-and-unicode-support). | | `sqlserver-version` | No | `2022` | The SQL server major version to use. | | `extra-params` | No | - | Extra parameters to be appended to the end of the connection string. | +| `enable-full-text-search` | No | `"false"` | When set to `"true"`, the action installs/enables and verifies SQL Server Full-Text Search before completion. | + +When `enable-full-text-search` is enabled, setup time may increase because extra SQL components/packages are installed. ## Using `sqlcmd` diff --git a/action.yml b/action.yml index a951991..229292d 100644 --- a/action.yml +++ b/action.yml @@ -19,6 +19,10 @@ inputs: extra-params: description: Extra parameters to add to the connection string required: false + enable-full-text-search: + description: Enable SQL Server Full-Text Search installation/verification + required: false + default: "false" runs: using: "composite" steps: @@ -27,6 +31,8 @@ runs: shell: pwsh run: | # Windows SQL install via Chocolatey + $enableFts = '${{ inputs.enable-full-text-search }}' -eq 'true' + $template = @' {[string]Package*:sql-server-express}|{[int]Major:2022}.{[int]Minor:16}.{[int]Patch:0}.{[int]Build:1000} {[string]Package*:sql-server-express}|{[int]Major:2022}.{[int]Minor:16}.{[int]Patch:0}.{[int]Build:0} @@ -39,14 +45,22 @@ runs: $sortedVersions = $availableVersions | ConvertFrom-String -TemplateContent $template -IncludeExtent | Sort-Object -Property Major -Descending $newestVersion = $sortedVersions[0].ExtentText.Split("|")[1] + $installArgs = @('install', 'sql-server-express', '-y', '--no-progress') + if ($newestVersion) { + $installArgs += @('--version', $newestVersion) Write-Output "Installing SQL Server Express version $newestVersion with Chocolatey..." - choco install sql-server-express --version $newestVersion -y --no-progress } else { Write-Output "No versions found matching the prefix '${{ inputs.sqlserver-version }}'. Installing latest with Chocolatey..." - choco install sql-server-express --no-progress } + if ($enableFts) { + Write-Output "Full-Text Search requested, adding SQL setup features..." + $installArgs += @('--package-parameters', "'/FEATURES=SQLEngine,FullText'") + } + + choco @installArgs + Write-Output "Setting environment variables for sqlcmd..." Write-Output "SQLCMDSERVER=.\SQLEXPRESS" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append @@ -72,6 +86,17 @@ runs: -e "SQLCMDPASSWORD=$sa_pw" \ -p 1433:1433 --name sqlserver -d mcr.microsoft.com/mssql/server:${{ inputs.sqlserver-version }}-latest + if [ "${{ inputs.enable-full-text-search }}" = "true" ]; then + echo "Installing Full-Text Search support in the SQL Server container..." + docker exec -u 0 sqlserver bash -lc ' + set -euo pipefail + apt-get update + ACCEPT_EULA=Y apt-get install -y mssql-server-fts + apt-get clean + rm -rf /var/lib/apt/lists/* + ' + fi + echo "Creating `sqlcmd` bash script to forward commands via docker exec" mkdir -p ~/bin cat << 'EOF' > ~/bin/sqlcmd @@ -91,6 +116,7 @@ runs: shell: pwsh run: | # Wait for availability then create initial catalog + $enableFts = '${{ inputs.enable-full-text-search }}' -eq 'true' for ($i = 1; $i -le 30; $i++) { Write-Output "Attempt $i/30 to connect to SQL Server..." @@ -104,5 +130,13 @@ runs: } } + if ($enableFts) { + Write-Output "Verifying Full-Text Search availability..." + $ftsInstalled = (sqlcmd -h -1 -W -Q "SET NOCOUNT ON; SELECT FULLTEXTSERVICEPROPERTY('IsFullTextInstalled');").Trim() + if ($LASTEXITCODE -ne 0 -or $ftsInstalled -ne '1') { + throw "Full-Text Search was requested but is not available." + } + } + Write-Output "Creating initial catalog '${{ inputs.catalog }}'" sqlcmd -Q "CREATE DATABASE [${{ inputs.catalog }}]" From 017e82b210c7da8ad2f6ad0505d98d75634014c9 Mon Sep 17 00:00:00 2001 From: Rhys Bevilaqua Date: Tue, 21 Jul 2026 13:41:39 +0800 Subject: [PATCH 2/8] use correct fts choco package --- README.md | 1 + action.yml | 29 ++++++++++------------------- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index e7c252c..e107821 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,7 @@ steps: | `enable-full-text-search` | No | `"false"` | When set to `"true"`, the action installs/enables and verifies SQL Server Full-Text Search before completion. | When `enable-full-text-search` is enabled, setup time may increase because extra SQL components/packages are installed. +On Windows, this switches installation to Chocolatey's `sql-server-express-advanced` package so Full-Text Search is available. ## Using `sqlcmd` diff --git a/action.yml b/action.yml index 229292d..6a78f21 100644 --- a/action.yml +++ b/action.yml @@ -32,31 +32,22 @@ runs: run: | # Windows SQL install via Chocolatey $enableFts = '${{ inputs.enable-full-text-search }}' -eq 'true' + $packageName = if ($enableFts) { 'sql-server-express-advanced' } else { 'sql-server-express' } - $template = @' - {[string]Package*:sql-server-express}|{[int]Major:2022}.{[int]Minor:16}.{[int]Patch:0}.{[int]Build:1000} - {[string]Package*:sql-server-express}|{[int]Major:2022}.{[int]Minor:16}.{[int]Patch:0}.{[int]Build:0} - {[string]Package*:sql-server-express}|{[int]Major:14}.{[int]Minor:1801}.{[int]Patch:3958}.{[int]Build:1} - '@ + # Limited output is package|version + $newestVersion = choco search $packageName --exact --all-versions --limit-output ` + | ForEach-Object { ($_ -split '\|')[1] } ` + | Where-Object { $_ -like "${{ inputs.sqlserver-version }}*" } ` + | Sort-Object { [version](($_ -split '-')[0]) } -Descending ` + | Select-Object -First 1 - # Limited output should be sql-server-express|versionstring - $availableVersions = choco search sql-server-express --exact --all-versions --limit-output | Where-Object { $_ -like "*${{ inputs.sqlserver-version }}**" } - # IncludeExtent will feed the input into an ExtendText property. Using the template examples helps to order by Major which is all we are interested in - $sortedVersions = $availableVersions | ConvertFrom-String -TemplateContent $template -IncludeExtent | Sort-Object -Property Major -Descending - $newestVersion = $sortedVersions[0].ExtentText.Split("|")[1] - - $installArgs = @('install', 'sql-server-express', '-y', '--no-progress') + $installArgs = @('install', $packageName, '-y', '--no-progress') if ($newestVersion) { $installArgs += @('--version', $newestVersion) - Write-Output "Installing SQL Server Express version $newestVersion with Chocolatey..." + Write-Output "Installing $packageName version $newestVersion with Chocolatey..." } else { - Write-Output "No versions found matching the prefix '${{ inputs.sqlserver-version }}'. Installing latest with Chocolatey..." - } - - if ($enableFts) { - Write-Output "Full-Text Search requested, adding SQL setup features..." - $installArgs += @('--package-parameters', "'/FEATURES=SQLEngine,FullText'") + Write-Output "No versions found matching the prefix '${{ inputs.sqlserver-version }}'. Installing latest $packageName with Chocolatey..." } choco @installArgs From dacde128918fee964d97d82571617c15c3734fa4 Mon Sep 17 00:00:00 2001 From: Rhys Bevilaqua Date: Tue, 21 Jul 2026 13:48:27 +0800 Subject: [PATCH 3/8] use correct package name --- README.md | 2 +- action.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e107821..21e260a 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ steps: | `enable-full-text-search` | No | `"false"` | When set to `"true"`, the action installs/enables and verifies SQL Server Full-Text Search before completion. | When `enable-full-text-search` is enabled, setup time may increase because extra SQL components/packages are installed. -On Windows, this switches installation to Chocolatey's `sql-server-express-advanced` package so Full-Text Search is available. +On Windows, this switches installation to Chocolatey's `sql-server-express-adv` package so Full-Text Search is available. ## Using `sqlcmd` diff --git a/action.yml b/action.yml index 6a78f21..1661545 100644 --- a/action.yml +++ b/action.yml @@ -32,7 +32,7 @@ runs: run: | # Windows SQL install via Chocolatey $enableFts = '${{ inputs.enable-full-text-search }}' -eq 'true' - $packageName = if ($enableFts) { 'sql-server-express-advanced' } else { 'sql-server-express' } + $packageName = if ($enableFts) { 'sql-server-express-adv' } else { 'sql-server-express' } # Limited output is package|version $newestVersion = choco search $packageName --exact --all-versions --limit-output ` From 8b42bd355b85f8dd8a032ecd51993eac572dc232 Mon Sep 17 00:00:00 2001 From: Rhys Bevilaqua Date: Tue, 21 Jul 2026 14:51:58 +0800 Subject: [PATCH 4/8] more comprehensive install of fts on linux: --- README.md | 1 + action.yml | 37 ++++++++++++++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 21e260a..8c7dd4c 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,7 @@ steps: When `enable-full-text-search` is enabled, setup time may increase because extra SQL components/packages are installed. On Windows, this switches installation to Chocolatey's `sql-server-express-adv` package so Full-Text Search is available. +On Linux, the action adds the matching Microsoft SQL Server apt feed and installs `mssql-server-fts` for the detected SQL Server engine major version. ## Using `sqlcmd` diff --git a/action.yml b/action.yml index 1661545..275dff3 100644 --- a/action.yml +++ b/action.yml @@ -82,7 +82,42 @@ runs: docker exec -u 0 sqlserver bash -lc ' set -euo pipefail apt-get update - ACCEPT_EULA=Y apt-get install -y mssql-server-fts + ACCEPT_EULA=Y apt-get install -y --no-install-recommends curl gnupg + + # Detect the SQL Server engine major version from the installed binary. + # Docker images are not guaranteed to have apt metadata for mssql-server. + sql_engine_major=$(/opt/mssql/bin/sqlservr -v \ + | sed -n "s/.* \([0-9][0-9]*\)\..*/\1/p" \ + | head -n 1) + + case "$sql_engine_major" in + 16) repo_channel=2022 ;; + 15) repo_channel=2019 ;; + *) + echo "Unsupported SQL Server engine major version: ${sql_engine_major:-unknown}" >&2 + exit 1 + ;; + esac + + . /etc/os-release + curl -fsSL https://packages.microsoft.com/keys/microsoft.asc \ + | gpg --dearmor > /usr/share/keyrings/microsoft-prod.gpg + echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/ubuntu/${VERSION_ID}/mssql-server-${repo_channel} ${VERSION_CODENAME} main" \ + > /etc/apt/sources.list.d/mssql-server.list + + apt-get update + + fts_version=$(apt-cache madison mssql-server-fts \ + | awk "{print \$3}" \ + | grep -E "^${sql_engine_major}\\." \ + | head -n 1) + + if [ -z "${fts_version}" ]; then + echo "No mssql-server-fts package found for SQL Server engine major ${sql_engine_major}." >&2 + exit 1 + fi + + ACCEPT_EULA=Y apt-get install -y --no-install-recommends "mssql-server-fts=${fts_version}" apt-get clean rm -rf /var/lib/apt/lists/* ' From 147639d51be83f1a3e9808ed1b46373816a7367f Mon Sep 17 00:00:00 2001 From: Rhys Bevilaqua Date: Tue, 21 Jul 2026 15:02:46 +0800 Subject: [PATCH 5/8] dont' run sqlserver while installing full text search --- action.yml | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/action.yml b/action.yml index 275dff3..fd10881 100644 --- a/action.yml +++ b/action.yml @@ -67,15 +67,27 @@ runs: sa_pw=$(uuidgen) echo "::add-mask::$sa_pw" - echo "Starting SQL Server in a Docker container..." - docker run -e "ACCEPT_EULA=Y" \ - -e "SA_PASSWORD=$sa_pw" \ - -e "MSSQL_PID=Developer" \ - -e "MSSQL_COLLATION=${{ inputs.collation }}" \ - -e "SQLCMDSERVER=localhost" \ - -e "SQLCMDUSER=sa" \ - -e "SQLCMDPASSWORD=$sa_pw" \ - -p 1433:1433 --name sqlserver -d mcr.microsoft.com/mssql/server:${{ inputs.sqlserver-version }}-latest + image="mcr.microsoft.com/mssql/server:${{ inputs.sqlserver-version }}-latest" + base_run_args=( + -e "ACCEPT_EULA=Y" + -e "SA_PASSWORD=$sa_pw" + -e "MSSQL_PID=Developer" + -e "MSSQL_COLLATION=${{ inputs.collation }}" + -e "SQLCMDSERVER=localhost" + -e "SQLCMDUSER=sa" + -e "SQLCMDPASSWORD=$sa_pw" + -p 1433:1433 + --name sqlserver + -d + ) + + if [ "${{ inputs.enable-full-text-search }}" = "true" ]; then + echo "Starting SQL Server container in setup mode for Full-Text Search installation..." + docker run "${base_run_args[@]}" --entrypoint /bin/bash "$image" -lc "sleep infinity" + else + echo "Starting SQL Server in a Docker container..." + docker run "${base_run_args[@]}" "$image" + fi if [ "${{ inputs.enable-full-text-search }}" = "true" ]; then echo "Installing Full-Text Search support in the SQL Server container..." @@ -121,6 +133,9 @@ runs: apt-get clean rm -rf /var/lib/apt/lists/* ' + + echo "Starting SQL Server process..." + docker exec -d sqlserver /opt/mssql/bin/sqlservr fi echo "Creating `sqlcmd` bash script to forward commands via docker exec" From 417f7eaef29c5abcaee437ad900f457891eb9e27 Mon Sep 17 00:00:00 2001 From: Rhys Bevilaqua Date: Tue, 21 Jul 2026 15:15:56 +0800 Subject: [PATCH 6/8] fix escaping of version numbers --- README.md | 2 +- action.yml | 42 ++++++++++++++++++------------------------ 2 files changed, 19 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 8c7dd4c..3bc9dd1 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ steps: When `enable-full-text-search` is enabled, setup time may increase because extra SQL components/packages are installed. On Windows, this switches installation to Chocolatey's `sql-server-express-adv` package so Full-Text Search is available. -On Linux, the action adds the matching Microsoft SQL Server apt feed and installs `mssql-server-fts` for the detected SQL Server engine major version. +On Linux, the action adds the matching Microsoft SQL Server apt feed and installs `mssql-server-fts` for the requested SQL Server major version. ## Using `sqlcmd` diff --git a/action.yml b/action.yml index fd10881..d63edbc 100644 --- a/action.yml +++ b/action.yml @@ -90,49 +90,43 @@ runs: fi if [ "${{ inputs.enable-full-text-search }}" = "true" ]; then + case "${{ inputs.sqlserver-version }}" in + 2022*) sql_engine_major=16; repo_channel=2022 ;; + 2019*) sql_engine_major=15; repo_channel=2019 ;; + *) + echo "Unsupported sqlserver-version for FTS: '${{ inputs.sqlserver-version }}'. Supported values: 2019, 2022." >&2 + exit 1 + ;; + esac + echo "Installing Full-Text Search support in the SQL Server container..." - docker exec -u 0 sqlserver bash -lc ' + docker exec -u 0 sqlserver bash -lc " set -euo pipefail apt-get update ACCEPT_EULA=Y apt-get install -y --no-install-recommends curl gnupg - # Detect the SQL Server engine major version from the installed binary. - # Docker images are not guaranteed to have apt metadata for mssql-server. - sql_engine_major=$(/opt/mssql/bin/sqlservr -v \ - | sed -n "s/.* \([0-9][0-9]*\)\..*/\1/p" \ - | head -n 1) - - case "$sql_engine_major" in - 16) repo_channel=2022 ;; - 15) repo_channel=2019 ;; - *) - echo "Unsupported SQL Server engine major version: ${sql_engine_major:-unknown}" >&2 - exit 1 - ;; - esac - . /etc/os-release curl -fsSL https://packages.microsoft.com/keys/microsoft.asc \ | gpg --dearmor > /usr/share/keyrings/microsoft-prod.gpg - echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/ubuntu/${VERSION_ID}/mssql-server-${repo_channel} ${VERSION_CODENAME} main" \ + echo \"deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/ubuntu/\${VERSION_ID}/mssql-server-${repo_channel} \${VERSION_CODENAME} main\" \ > /etc/apt/sources.list.d/mssql-server.list apt-get update - fts_version=$(apt-cache madison mssql-server-fts \ - | awk "{print \$3}" \ - | grep -E "^${sql_engine_major}\\." \ + fts_version=\$(apt-cache madison mssql-server-fts \ + | awk '{print \$3}' \ + | grep -E '^${sql_engine_major}\.' \ | head -n 1) - if [ -z "${fts_version}" ]; then - echo "No mssql-server-fts package found for SQL Server engine major ${sql_engine_major}." >&2 + if [ -z \"\${fts_version}\" ]; then + echo \"No mssql-server-fts package found for SQL Server engine major ${sql_engine_major}.\" >&2 exit 1 fi - ACCEPT_EULA=Y apt-get install -y --no-install-recommends "mssql-server-fts=${fts_version}" + ACCEPT_EULA=Y apt-get install -y --no-install-recommends \"mssql-server-fts=\${fts_version}\" apt-get clean rm -rf /var/lib/apt/lists/* - ' + " echo "Starting SQL Server process..." docker exec -d sqlserver /opt/mssql/bin/sqlservr From cd7391dcbfff4112c9e834fa2e575eeebba77561 Mon Sep 17 00:00:00 2001 From: Rhys Bevilaqua Date: Wed, 22 Jul 2026 11:18:14 +0800 Subject: [PATCH 7/8] Add sql 2025 support --- .github/workflows/ci.yml | 2 ++ README.md | 1 + action.yml | 5 +++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b0f044e..f07037d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,6 +16,8 @@ jobs: matrix: os: [windows-latest, ubuntu-latest] sqlserver: + - label: 'SQL Server 2025' + version: '2025' - label: 'SQL Server 2022' version: '2022' - label: 'SQL Server 2019' diff --git a/README.md b/README.md index 3bc9dd1..dae0cc6 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,7 @@ steps: When `enable-full-text-search` is enabled, setup time may increase because extra SQL components/packages are installed. On Windows, this switches installation to Chocolatey's `sql-server-express-adv` package so Full-Text Search is available. On Linux, the action adds the matching Microsoft SQL Server apt feed and installs `mssql-server-fts` for the requested SQL Server major version. +Current Full-Text Search setup support includes SQL Server major versions `2019`, `2022`, and `2025`. ## Using `sqlcmd` diff --git a/action.yml b/action.yml index d63edbc..494b75b 100644 --- a/action.yml +++ b/action.yml @@ -20,7 +20,7 @@ inputs: description: Extra parameters to add to the connection string required: false enable-full-text-search: - description: Enable SQL Server Full-Text Search installation/verification + description: Enable SQL Server Full-Text Search installation required: false default: "false" runs: @@ -91,10 +91,11 @@ runs: if [ "${{ inputs.enable-full-text-search }}" = "true" ]; then case "${{ inputs.sqlserver-version }}" in + 2025*) sql_engine_major=17; repo_channel=2025 ;; 2022*) sql_engine_major=16; repo_channel=2022 ;; 2019*) sql_engine_major=15; repo_channel=2019 ;; *) - echo "Unsupported sqlserver-version for FTS: '${{ inputs.sqlserver-version }}'. Supported values: 2019, 2022." >&2 + echo "Unsupported sqlserver-version for FTS: '${{ inputs.sqlserver-version }}'. Supported values: 2019, 2022, 2025." >&2 exit 1 ;; esac From 9550e18f7a70723667bf241c46348b0a00597b4d Mon Sep 17 00:00:00 2001 From: Rhys Bevilaqua Date: Wed, 22 Jul 2026 11:20:51 +0800 Subject: [PATCH 8/8] add versions to fts test --- .github/workflows/ci.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f07037d..3c2f367 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,10 +46,18 @@ jobs: echo $result ci-full-text-search: runs-on: ${{ matrix.os }} - name: ${{ matrix.name }}-SQL Server 2022-FTS + name: ${{ matrix.name }}-${{ matrix.sqlserver.label }}-FTS strategy: fail-fast: false matrix: + os: [windows-latest, ubuntu-latest] + sqlserver: + - label: 'SQL Server 2025' + version: '2025' + - label: 'SQL Server 2022' + version: '2022' + - label: 'SQL Server 2019' + version: '2019' include: - os: windows-latest name: Windows @@ -63,7 +71,7 @@ jobs: with: connection-string-env-var: SQL_CONN_STR catalog: my-test-catalog - sqlserver-version: "2022" + sqlserver-version: ${{ matrix.sqlserver.version }} enable-full-text-search: "true" - name: Check FTS result shell: pwsh