Skip to content

ci: expand SQL Server test matrix to include 2017 and 2025#314

Open
dlevy-msft-sql wants to merge 1 commit intomicrosoft:mainfrom
dlevy-msft-sql:ci/expand-sql-matrix
Open

ci: expand SQL Server test matrix to include 2017 and 2025#314
dlevy-msft-sql wants to merge 1 commit intomicrosoft:mainfrom
dlevy-msft-sql:ci/expand-sql-matrix

Conversation

@dlevy-msft-sql
Copy link

@dlevy-msft-sql dlevy-msft-sql commented Jan 31, 2026

ci: expand SQL Server test matrix to include 2017 and 2025

Overview

Expands the CI test matrix to include additional SQL Server versions for broader compatibility testing.

Changes

CI Matrix Expansion

  • Add SQL Server 2017 (mcr.microsoft.com/mssql/server:2017-latest)
  • Add SQL Server 2025 (mcr.microsoft.com/mssql/server:2025-latest)
  • Add conditional logic to handle SQL Server 2017's self-signed certificate issues with Go 1.23+
  • Update HOST variable from "." to "localhost" for Docker networking compatibility
  • Use mssql-tools18 sqlcmd for consistent SQL Server connectivity checks

Test Cleanup Improvements

  • Update all DROP PROCEDURE statements in queries_go19_test.go to use IF EXISTS syntax
  • Ensures consistency with tvp_go19_db_test.go patterns
  • Compatible with SQL Server 2016+ (minimum version in test matrix is 2017)

Connection String Parsing Enhancements

  • Fix whitespace inconsistency in EPA enabled check (!= ""!= "")
  • Use net.JoinHostPort for proper IPv6 address formatting in URL() method
  • IPv6 addresses are now correctly formatted with brackets (e.g., [::1]:1433)

Testing

New Tests

  • TestURLWithIPv6Address - Validates IPv6, IPv4, and hostname formatting in URL generation

Existing Tests

  • All msdsn tests pass
  • Build succeeds

Files Changed

File Description
.github/workflows/pr-validation.yml Expanded test matrix and sqlcmd installation
msdsn/conn_str.go Whitespace fix and IPv6 support with net.JoinHostPort
msdsn/conn_str_test.go Added TestURLWithIPv6Address for IPv6 URL validation
queries_go19_test.go Updated all DROP PROCEDURE to use IF EXISTS
tvp_go19_db_test.go Updated DROP PROCEDURE to use IF EXISTS with cleanup calls

Compatibility Notes

  • DROP PROCEDURE IF EXISTS requires SQL Server 2016+
  • SQL Server 2017 requires GODEBUG=x509negativeserial=1 due to self-signed certificate issues with Go 1.23+
  • SQL Server 2025 requires trustServerCertificate=true for Docker image

Split from #306 for easier review

@dlevy-msft-sql dlevy-msft-sql self-assigned this Jan 31, 2026
@dlevy-msft-sql dlevy-msft-sql added the Size: S Small issue (less than one week effort, less than 250 lines of code) label Jan 31, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands the GitHub Actions CI test matrix to include additional SQL Server versions for broader compatibility testing, specifically adding SQL Server 2017 and SQL Server 2025.

Changes:

  • Expand test matrix from 2 SQL Server versions (2019, 2022) to 4 versions (2017, 2019, 2022, 2025)
  • Add conditional logic to handle SQL Server 2017's self-signed certificate issues with Go 1.23+
  • Update HOST variable from "." to "localhost" for Docker networking compatibility

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

@codecov-commenter
Copy link

codecov-commenter commented Jan 31, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.55%. Comparing base (c16a19e) to head (a50dc00).
⚠️ Report is 6 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #314      +/-   ##
==========================================
+ Coverage   75.36%   78.55%   +3.18%     
==========================================
  Files          34       34              
  Lines        6597     6598       +1     
==========================================
+ Hits         4972     5183     +211     
+ Misses       1337     1136     -201     
+ Partials      288      279       -9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.

@dlevy-msft-sql dlevy-msft-sql added in-review Priority: 0 Breaking things; must fix immediately Priority: 1 High priority/impact Size: M Medium issue (two-three weeks effort, less than 1000 lines of code) and removed needs-work Priority: 0 Breaking things; must fix immediately Size: M Medium issue (two-three weeks effort, less than 1000 lines of code) labels Feb 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Priority: 1 High priority/impact Size: S Small issue (less than one week effort, less than 250 lines of code)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants