[AC-1486] Feature: SM Billing (#3073) #1402
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Validate Database | |
on: | |
pull_request: | |
branches-ignore: | |
- 'l10n_master' | |
- 'gh-pages' | |
paths: | |
- 'src/Sql/**' | |
- 'util/Migrator/**' | |
push: | |
branches: | |
- 'master' | |
- 'rc' | |
paths: | |
- 'src/Sql/**' | |
- 'util/Migrator/**' | |
workflow_dispatch: | |
inputs: {} | |
jobs: | |
validate: | |
name: Validate | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Set up dotnet | |
uses: actions/setup-dotnet@3447fd6a9f9e57506b15f895c5b76d3b197dc7c2 # v3.2.0 | |
with: | |
dotnet-version: '6.0.x' | |
- name: Print environment | |
run: | | |
dotnet --info | |
nuget help | grep Version | |
echo "GitHub ref: $GITHUB_REF" | |
echo "GitHub event: $GITHUB_EVENT" | |
- name: Build DACPAC | |
run: dotnet build src/Sql --configuration Release --verbosity minimal --output . | |
shell: pwsh | |
- name: Upload DACPAC | |
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2 | |
with: | |
name: sql.dacpac | |
path: Sql.dacpac | |
- name: Docker Compose up | |
working-directory: "dev" | |
run: | | |
cp .env.example .env | |
docker compose --profile mssql up -d | |
shell: pwsh | |
- name: Migrate | |
working-directory: "dev" | |
run: "pwsh ./migrate.ps1" | |
shell: pwsh | |
- name: Diff sqlproj to migrations | |
run: /usr/local/sqlpackage/sqlpackage /action:DeployReport /SourceFile:"Sql.dacpac" /TargetConnectionString:"Server=localhost;Database=vault_dev;User Id=SA;Password=SET_A_PASSWORD_HERE_123;Encrypt=True;TrustServerCertificate=True;" /OutputPath:"report.xml" /p:IgnoreColumnOrder=True /p:IgnoreComments=True | |
shell: pwsh | |
- name: Generate SQL file | |
run: /usr/local/sqlpackage/sqlpackage /action:Script /SourceFile:"Sql.dacpac" /TargetConnectionString:"Server=localhost;Database=vault_dev;User Id=SA;Password=SET_A_PASSWORD_HERE_123;Encrypt=True;TrustServerCertificate=True;" /OutputPath:"diff.sql" /p:IgnoreColumnOrder=True /p:IgnoreComments=True | |
shell: pwsh | |
- name: Upload Report | |
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2 | |
with: | |
name: report.xml | |
path: | | |
report.xml | |
diff.sql | |
- name: Validate XML | |
run: | | |
if grep -q "<Operations>" "report.xml"; then | |
echo | |
echo "Migrations are out of sync with sqlproj!" | |
exit 1 | |
else | |
echo "Report looks good" | |
fi | |
shell: bash | |
- name: Docker compose down | |
if: ${{ always() }} | |
working-directory: "dev" | |
run: docker compose down | |
shell: pwsh |