Skip to content

Commit 96819b1

Browse files
lowlydbaAppveyor
andauthored
Ci improvements (#102)
* Move PoSh to dedicated scripts for cleaner appveyor yml * Del unused tsqlt db files * Update appveyor.yml * Update appveyor.yml * Fix env vars in appveyor + typo * Fix dashes * Update appveyor.yml * Need to actually commit a file to push! * Update appveyor.yml * Remove unnecessary settings from SP * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Try new github token * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * test * Update appveyor.yml * Delete test.txt * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * Update appveyor.yml * CI produced files * CLeanup appveyor now that it is working * Update appveyor.yml * CI produced files * CI produced files * CI produced files * CI produced files * CI produced files * Update appveyor.yml * CI produced files * Update appveyor.yml * Only commit/push if changes via PoSh Co-authored-by: Appveyor <[email protected]>
1 parent e4b2302 commit 96819b1

File tree

12 files changed

+103
-80
lines changed

12 files changed

+103
-80
lines changed

appveyor/appveyor.yml

Lines changed: 61 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -2,93 +2,78 @@ version: 0.9.{build}
22

33
pull_requests:
44
do_not_increment_build_number: false
5-
65
max_jobs: 1
76

8-
clone_folder: C:\sqlexpress\
9-
107
environment:
11-
access_token:
12-
secure: XQvkhXxMw7yJPQF4xQe/OV5+u0Dhx0bsaXIHE2PNvPJr15qw+oA9SNlKYnGo6UNQ
8+
access_token:
9+
secure: 'E5I+i+CQyj9EHusDrPSQKHRXmzmpTujYAoFxlvJjvSRSEQHHzqTBIFR1VuPbwLMi'
1310

14-
MSSQL_LOGIN: sa
15-
MSSQL_PASS: Password12!
16-
TSQLTSETCLR: tests\tSQLt\SetClrEnabled.sql
17-
TSQLTCREATEDB: tests\tSQLt\CreateDatabase.sql
18-
TSQLTINSTALL: tests\tSQLt\tSQLt.class.sql
19-
TSQLTBUILDPATH: tests\build
20-
TSQLTTESTPATH: tests\run
21-
COMBINED_FILE: install_expsql.sql
22-
TARGET_DB: tSQLt
11+
APPVEYOR_RDP_PASSWORD: Np^VNSzJI5#OmRdUNqro2T9UVkCdZ
12+
MSSQL_LOGIN: sa
13+
MSSQL_PASS: Password12!
14+
TSQLTSETCLR: tests\tSQLt\SetClrEnabled.sql
15+
TSQLTCREATEDB: tests\tSQLt\CreateDatabase.sql
16+
TSQLTINSTALL: tests\tSQLt\tSQLt.class.sql
17+
TSQLTBUILDPATH: tests\build
18+
TSQLTTESTPATH: tests\run
19+
TARGET_DB: tSQLt
20+
21+
matrix:
22+
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
23+
MSSQL: SQL2019
24+
DB_INSTANCE: (local)\SQL2019
25+
LINT_CONFIG: appveyor\tsqllint\.tsqllintrc_150
26+
27+
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
28+
MSSQL: SQL2017
29+
DB_INSTANCE: (local)\SQL2017
30+
LINT_CONFIG: appveyor\tsqllint\.tsqllintrc_140
31+
32+
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
33+
MSSQL: SQL2016
34+
DB_INSTANCE: (local)\SQL2016
35+
LINT_CONFIG: appveyor\tsqllint\.tsqllintrc_130
2336

24-
matrix:
25-
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
26-
MSSQL: SQL2019
27-
DB_INSTANCE: (local)\SQL2019
28-
LINT_CONFIG: appveyor\tsqllint\.tsqllintrc_150
29-
30-
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
31-
MSSQL: SQL2017
32-
DB_INSTANCE: (local)\SQL2017
33-
LINT_CONFIG: appveyor\tsqllint\.tsqllintrc_140
34-
35-
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
36-
MSSQL: SQL2016
37-
DB_INSTANCE: (local)\SQL2016
38-
LINT_CONFIG: appveyor\tsqllint\.tsqllintrc_130
39-
40-
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
41-
MSSQL: SQL2014
42-
DB_INSTANCE: (local)\SQL2014
43-
LINT_CONFIG: appveyor\tsqllint\.tsqllintrc_120
44-
45-
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
46-
MSSQL: SQL2012SP1
47-
DB_INSTANCE: (local)\SQL2012SP1
48-
LINT_CONFIG: appveyor\tsqllint\.tsqllintrc_110
37+
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
38+
MSSQL: SQL2014
39+
DB_INSTANCE: (local)\SQL2014
40+
LINT_CONFIG: appveyor\tsqllint\.tsqllintrc_120
41+
42+
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
43+
MSSQL: SQL2012SP1
44+
DB_INSTANCE: (local)\SQL2012SP1
45+
LINT_CONFIG: appveyor\tsqllint\.tsqllintrc_110
46+
47+
clone_script:
48+
- git config --global credential.helper store
49+
- ps: Add-Content "$HOME\.git-credentials" "https://$($env:access_token):[email protected]`n" -NoNewLine
50+
- git config --global user.email "[email protected]"
51+
- git config --global user.name "Appveyor"
52+
- git clone -q --single-branch --branch=%APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH% https://github.com/LowlyDBA/ExpressSQL.git %APPVEYOR_BUILD_FOLDER%
53+
- cd %APPVEYOR_BUILD_FOLDER%
4954

5055
install:
5156
- ps: Install-Module SqlServer -Force -AllowClobber
5257
- npm install
53-
54-
- echo Starting SQL Server
55-
- ps: >-
56-
$SQLInstance = $env:MSSQL;
57-
Start-Service "MSSQL`$$SQLInstance";
58-
59-
- echo Setting up tSQLt
60-
- cmd: >-
61-
SET SCRIPT=%CLONE_FOLDER%%TSQLTSETCLR%
62-
63-
sqlcmd -S %DB_INSTANCE% -U %MSSQL_LOGIN% -P %MSSQL_PASS% -i %SCRIPT% -d master -b > NUL
64-
65-
SET SCRIPT=%CLONE_FOLDER%%TSQLTCREATEDB%
66-
67-
sqlcmd -S %DB_INSTANCE% -U %MSSQL_LOGIN% -P %MSSQL_PASS% -i %SCRIPT% -d master -b > NUL
68-
69-
SET SCRIPT=%CLONE_FOLDER%%TSQLTINSTALL%
70-
71-
sqlcmd -S %DB_INSTANCE% -U %MSSQL_LOGIN% -P %MSSQL_PASS% -i %SCRIPT% -d %TARGET_DB% -b
58+
- ps: .\appveyor\start_sqlserver.ps1
59+
- ps: .\appveyor\install_tsqlt.ps1
7260

7361
build_script:
74-
- echo Installing ExpressSQL Scripts
75-
- ps: >-
76-
ForEach ($filename in Get-Childitem -Path $env:CLONE_FOLDER -Filter "*.sql") {
77-
Invoke-SqlCmd –ServerInstance $env:DB_INSTANCE -Database $env:TARGET_DB -InputFile $filename.fullname -Username $env:MSSQL_LOGIN -Password $env:MSSQL_PASS
78-
}
79-
80-
- echo Building tSQLt Tests
81-
- ps: >-
82-
ForEach ($filename in Get-Childitem -Path $env:TSQLTBUILDPATH -Filter "*.sql") {
83-
Invoke-SqlCmd –ServerInstance $env:DB_INSTANCE -Database $env:TARGET_DB -InputFile $filename.fullname -Username $env:MSSQL_LOGIN -Password $env:MSSQL_PASS
84-
}
62+
- ps: .\appveyor\make_combined_script.ps1
63+
- ps: .\appveyor\install_expsql.ps1
64+
- ps: .\appveyor\build_tsqlt_tests.ps1
8565

8666
test_script:
87-
- echo Running unit tests
88-
- ps: >-
89-
ForEach ($filename in Get-Childitem -Path $env:TSQLTTESTPATH -Filter "*.sql") {
90-
Invoke-SqlCmd –ServerInstance $env:DB_INSTANCE -Database $env:TARGET_DB -InputFile $filename.fullname -Username $env:MSSQL_LOGIN -Password $env:MSSQL_PASS -Verbose | Out-Null
91-
}
92-
67+
- ps: .\appveyor\run_tsqlt_tests.ps1
9368
- echo Running TSQLLint tests
94-
- npx tsqllint -c %LINT_CONFIG% *.sql
69+
- npx tsqllint -c %LINT_CONFIG% *.sql
70+
71+
for:
72+
-
73+
# Only push for final test environment
74+
matrix:
75+
only:
76+
- MSSQL: SQL2012SP1
77+
78+
on_success:
79+
- ps: .\appveyor\push_git_changes.ps1

appveyor/build_tsqlt_tests.ps1

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Write-Host "Building tSQLt Tests"
2+
3+
ForEach ($filename in Get-Childitem -Path $env:TSQLTBUILDPATH -Filter "*.sql") {
4+
Invoke-SqlCmd -ServerInstance $env:DB_INSTANCE -Database $env:TARGET_DB -InputFile $filename.fullname -Username $env:MSSQL_LOGIN -Password $env:MSSQL_PASS
5+
}

appveyor/install_expsql.ps1

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing ExpressSQL Scripts"
2+
3+
Invoke-SqlCmd -ServerInstance $env:DB_INSTANCE -Database $env:TARGET_DB -InputFile "install_expsql.sql" -Username $env:MSSQL_LOGIN -Password $env:MSSQL_PASS

appveyor/install_tsqlt.ps1

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Write-Host "Installing tSQLt"
2+
3+
$CLRScript = Join-Path $env:APPVEYOR_BUILD_FOLDER $env:TSQLTSETCLR
4+
$CreateDBScript = Join-Path $env:APPVEYOR_BUILD_FOLDER $env:TSQLTCREATEDB
5+
$tSQLtInstallScript = Join-Path $env:APPVEYOR_BUILD_FOLDER $env:TSQLTINSTALL
6+
7+
Invoke-SqlCmd -ServerInstance $env:DB_INSTANCE -Database "master" -InputFile $clrscript -Username $env:MSSQL_LOGIN -Password $env:MSSQL_PASS | Out-Null
8+
Invoke-SqlCmd -ServerInstance $env:DB_INSTANCE -Database "master" -InputFile $CreateDBScript -Username $env:MSSQL_LOGIN -Password $env:MSSQL_PASS | Out-Null
9+
Invoke-SqlCmd -ServerInstance $env:DB_INSTANCE -Database $env:TARGET_DB -InputFile $tSQLtInstallScript -Username $env:MSSQL_LOGIN -Password $env:MSSQL_PASS

appveyor/make_combined_script.ps1

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
$File = "install_expsql.sql"
22

3-
Set-Location ../
4-
Get-Item *.sql | Get-Content | Out-File $File
3+
if (Test-Path $File) {
4+
Remove-Item $File
5+
}
6+
7+
Get-Item sp_*.sql | Get-Content | Out-File $File

appveyor/push_git_changes.ps1

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Stage files
2+
git add .
3+
4+
# Check if any files were actually staged
5+
$StagedFiles = git diff --staged
6+
7+
# Commit & push if stated
8+
If ($StagedFiles) {
9+
git commit -a -m "CI produced files" -q
10+
git push origin $env:APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH -f -q
11+
}

appveyor/run_tsqlt_tests.ps1

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Write-Host "Run tSQLt Tests"
2+
3+
ForEach ($filename in Get-Childitem -Path $env:TSQLTTESTPATH -Filter "*.sql") {
4+
Invoke-SqlCmd -ServerInstance $env:DB_INSTANCE -Database $env:TARGET_DB -InputFile $filename.fullname -Username $env:MSSQL_LOGIN -Password $env:MSSQL_PASS -Verbose | Out-Null
5+
}

appveyor/start_sqlserver.ps1

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Write-Host "Starting SQL Server"
2+
3+
$SQLInstance = $env:MSSQL;
4+
Start-Service "MSSQL`$$SQLInstance";

install_expsql.sql

-98 Bytes
Binary file not shown.

sp_doc.sql

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,6 @@ Example:
5050

5151
BEGIN
5252
SET NOCOUNT ON;
53-
SET ANSI_NULLS ON;
54-
SET QUOTED_IDENTIFIER ON;
5553

5654
DECLARE @Sql NVARCHAR(MAX)
5755
,@ParmDefinition NVARCHAR(500)

0 commit comments

Comments
 (0)