1
+ version : " {build}"
2
+
3
+ # Skipping commits affecting specific files (GitHub only).
4
+ skip_commits :
5
+ files :
6
+ - doc/*
7
+
8
+ # Build worker image (VM template)
9
+ image : Visual Studio 2017
10
+
11
+ # scripts that are called at very beginning, before repo cloning
12
+ init :
13
+ - cmd : |-
14
+ echo %APPVEYOR_BUILD_VERSION%
15
+ echo %NHIBERNATE_DATABASE_TEMPLATE%
16
+ echo %DOTNET_FRAMEWORK%
17
+
18
+ # fetch repository as zip archive
19
+ # shallow_clone: true # default is "false"
20
+
21
+ # set clone depth
22
+ clone_depth : 5 # clone entire repository history if not defined
23
+
24
+ environment :
25
+ global :
26
+ # Set the DOTNET_SKIP_FIRST_TIME_EXPERIENCE environment variable to stop wasting time caching packages
27
+ DOTNET_SKIP_FIRST_TIME_EXPERIENCE : true
28
+ # Don't report back to the mothership
29
+ DOTNET_CLI_TELEMETRY_OPTOUT : 1
30
+ matrix :
31
+ - JOB_NAME : MSSQL x64 .Net 4.6.1
32
+ NHIBERNATE_DATABASE_TEMPLATE : MSSQL.cfg.xml
33
+ NHIBERNATE_CONNECTION_STRING : Server=(local)\SQL2014;Database=master;User ID=sa;Password=Password12!
34
+ NHIBERNATE_DIALECT : NHibernate.Dialect.MsSql2012Dialect
35
+ DOTNET_FRAMEWORK : net461
36
+ TARGET_PLATFORM : x64
37
+
38
+ - JOB_NAME : MSSQL x64 .NET Core 2.0
39
+ NHIBERNATE_DATABASE_TEMPLATE : MSSQL.cfg.xml
40
+ NHIBERNATE_CONNECTION_STRING : Server=(local)\SQL2014;Database=master;User ID=sa;Password=Password12!
41
+ NHIBERNATE_DIALECT : NHibernate.Dialect.MsSql2012Dialect
42
+ DOTNET_FRAMEWORK : netcoreapp2.0
43
+ TARGET_PLATFORM : x64
44
+
45
+ - JOB_NAME : MySQL x64 .NET Core 2.0
46
+ NHIBERNATE_DATABASE_TEMPLATE : MySql.cfg.xml
47
+ NHIBERNATE_CONNECTION_STRING : Database=nhibernate;Server=localhost;Port=3306;User Id=root;Password=Password12!;
48
+ NHIBERNATE_DIALECT : NHibernate.Dialect.MySQL55InnoDBDialect
49
+ DOTNET_FRAMEWORK : netcoreapp2.0
50
+ TARGET_PLATFORM : x64
51
+
52
+ - JOB_NAME : PostgreSQL x64 .NET Core 2.0
53
+ NHIBERNATE_DATABASE_TEMPLATE : PostgreSQL.cfg.xml
54
+ NHIBERNATE_CONNECTION_STRING : Server=localhost;Port=5432;Database=nhibernate;User ID=postgres;Password=Password12!;Enlist=true;
55
+ NHIBERNATE_DIALECT : NHibernate.Dialect.PostgreSQL83Dialect
56
+ DOTNET_FRAMEWORK : netcoreapp2.0
57
+ TARGET_PLATFORM : x64
58
+
59
+ # this is how to allow failing jobs in the matrix
60
+ matrix :
61
+ allow_failures :
62
+ - NHIBERNATE_DATABASE_TEMPLATE : MySql.cfg.xml
63
+ DOTNET_FRAMEWORK : netcoreapp2.0
64
+
65
+ # build cache to preserve files/folders between builds
66
+ cache :
67
+ # - '%LocalAppData%\NuGet\v3-cache' # NuGet v3.x http-cache
68
+ # - '%USERPROFILE%\.nuget\packages -> **\*.csproj' # global-packages cache
69
+
70
+ # scripts that run after cloning repository
71
+ install :
72
+ - ps : |-
73
+ Invoke-WebRequest 'https://dotnetcli.blob.core.windows.net/dotnet/Sdk/2.0.0/dotnet-sdk-2.0.0-win-x64.exe' -OutFile "$env:appveyor_build_folder/dotnet-sdk-win-x64.exe"
74
+ & "$env:appveyor_build_folder/dotnet-sdk-win-x64.exe" /install /quiet /norestart
75
+ - echo max_prepared_transactions = 100 >> "C:\Program Files\PostgreSQL\9.6\data\postgresql.conf"
76
+
77
+ # enable service required for build/tests
78
+ services :
79
+ - mssql2014 # start SQL Server 2014 Express
80
+ - mysql # start MySQL 5.6 service
81
+ - postgresql96 # start PostgreSQL 9.6 service
82
+
83
+ nuget :
84
+ disable_publish_on_pr : true
85
+
86
+ platform : Any CPU
87
+ configuration : Release
88
+
89
+ # scripts to run before build
90
+ before_build :
91
+ - ps : |-
92
+ $env:MYSQL_PWD="Password12!"
93
+ & "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql" -e "create database nhibernate;" --user=root
94
+
95
+ build_script :
96
+ - ps : .\build.ps1 -Target "Appveyor" -configuration Debug
97
+
98
+ # Run tests as part of build script instead of automatic tests
99
+ test : off
100
+
101
+ artifacts :
102
+ - path : ' **\Release\*.nupkg'
0 commit comments