Releases: Azure/sql-action
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-path
to 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-check
to 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-name
input parameter is now optional. This change is non-breaking - ifserver-name
is 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!
GitHub Action for Azure SQL
Automate your Action workflows to deploy to an Azure SQL database using this option
Sample workflow to deploy to an Azure SQL database
# .github/workflows/sql-deploy.yml
on: [push]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v1
- uses: azure/actions/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- uses: Azure/sql-action@v1
with:
server-name: REPLACE_THIS_WITH_YOUR_SQL_SERVER_NAME
connection-string: ${{ secrets.AZURE_SQL_CONNECTION_STRING }}
dacpac-package: './Database.dacpac'
Released under MIT License