Releases: Azure/sql-action
Release list
Node update to version 24 and security fixes
Update to node 24 from node 20
What's Changed
- fix link to go-sqlcmd docs by @dzsquared in #236
- Use pull_request.head.sha instead of ref by @zijchen in #242
- Bump cross-spawn from 7.0.3 to 7.0.6 by @dependabot[bot] in #246
- here's a duplicate "the" in the sentence by @unknowvwake in #249
- Add PR template by @zijchen in #259
- Fixes critical security vulnerabilities by @llali in #266
- Adding an approval gate to the
buildjob by @Benjin in #273 - Upgrade action runtime from node20 to node24 by @allancascante in #275
- Performing validation with a local docker instance instead of Azure DB by @Benjin in #276
New Contributors
- @unknowvwake made their first contribution in #249
- @Benjin made their first contribution in #273
- @allancascante made their first contribution in #275
Full Changelog: v2.3...v2.4
skip-firewall-check and sqlpackage-path options
🎉 New options and go-sqlcmd update
- runs on Node v20, completed in #217
- support for SqlPackage installed as a dotnet tool, completed in #221
- adds input option
sqlpackage-pathto provide a specific SqlPackage location, completed in #221 - reduced package size by moving to tediousjs/connection-string, completed in #224
- adds input option
skip-firewall-checkto skip firewall check, completed in #231 - go-sqlcmd powers parts of sql-action and was updated to v1.6.0, completed in #232
❤️ thanks to @EnsignPayton and @FlorentATo for contributions since the last release!
Fix for non-standard ports
🐛 fix for a non-standard port not being properly parsed, surfaced in #161 where connectivity to Azure SQL Managed Instance public endpoint would fail
thanks to @miljann995 for the collaboration!
Update go-sqlcmd to v1
🎉 This release moves to go-sqlcmd v1
go-sqlcmd powers parts of sql-action and has recently moved to their v1 release, announcement here
completed in #176
🤖 Improvements by dependabot
Fix for self-hosted Windows environments
🐛 fix for Expand-Archive : is not a supported... #149, where some Windows environments may have a version of PowerShell not compatible with unzipping files without a file extension
Node16, fixes for DriftReport and sqlcmd arguments
The v2.1 release introduces a few improvements:
- Support for Node16 #150
- Support for go-sqlcmd v0.12.0 #163
- 🐛 fix for DriftReport #167
- 🐛 fix for arguments not being passed to sqlcmd #145
❤️ thanks to @emil-eklund and @JoshFieldstad for contributions to this release!
v2, including Azure Active Directory support
🎉 The v2 release introduces a few improvements:
- AAD authentication with username/password, service principal, and managed identity (#60, #78, #93)
- Support for access with login credentials that do not have access to
master
🛠️ Breaking changes
- The action switched from sqlcmd to go-sqlcmd for script execution. It will automatically install the latest go-sqlcmd if it is not found.
- The action's yaml input format has been changed. This includes removal of
server-name.
- uses: azure/sql-action@v2
with:
# required, connection string incl the database and user authentication information
connection-string:
# required, path to either a .sql, .dacpac, or .sqlproj file
path:
# optional when using a .sql script, required otherwise
# sqlpackage action on the .dacpac or .sqlproj file, supported options are: Publish, Script, DeployReport, DriftReport
action:
# optional additional sqlpackage or go-sqlcmd arguments
arguments:
# optional additional dotnet build options when building a database project file
build-arguments:
Adds SDK-style SQL project build option
Performance Improvement
The v1.2 release introduces 1 improvement, related to 1 fix:
- 🏎 The action is packaged with webpack, reducing the download size to improve the performance of your pipelines. #69
- 🐛 The use of webpack fixes the accidental removal of node_modules from release v1.1. #70
❤️ Thank you @mayong43111 for the contributions to the webpack improvements!
Adds Linux Support
🎉 The v1.1 release introduces 2 improvements:
- The action is supported in Linux environments (for example:
runs-on:ubuntu-latest) for both dacpac deployment and SQL script execution. - The
server-nameinput parameter is now optional. This change is non-breaking - ifserver-nameis present, that value will be used instead of the server name specified in the connection string.
❤️ Thank you @zijchen, @caohai, @yorek, and @llali for contributions to these changes and code health!