forked from cakephp/cakephp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
91 lines (81 loc) · 3.07 KB
/
appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
build: false
shallow_clone: false
platform: 'x86'
clone_folder: c:\projects\cakephp
cache:
- '%LOCALAPPDATA%\Composer'
- '%APPDATA%\Composer'
branches:
only:
- master
- 3.next
environment:
global:
PHP: "C:/PHP"
matrix:
- db: 2012
db_dsn: 'sqlserver://sa:Password12!@.\SQL2012SP1/cakephp?MultipleActiveResultSets=false'
services:
- mssql2012sp1
init:
- SET PATH=C:\php\;%PATH%
install:
- cd c:\
- appveyor DownloadFile http://windows.php.net/downloads/releases/php-5.6.31-nts-Win32-VC11-x86.zip -FileName php.zip
- 7z x php.zip -oc:\php > nul
- appveyor DownloadFile https://dl.dropboxusercontent.com/s/euip490d9183jkr/SQLSRV32.cab -FileName sqlsrv.cab
- 7z x sqlsrv.cab -oc:\php\ext php*_56_nts.dll > nul
- cd c:\php
- copy php.ini-production php.ini
- echo date.timezone="UTC" >> php.ini
- echo extension_dir=ext >> php.ini
- echo extension=php_openssl.dll >> php.ini
- echo extension=php_sqlsrv_56_nts.dll >> php.ini
- echo extension=php_pdo_sqlsrv_56_nts.dll >> php.ini
- echo extension=php_intl.dll >> php.ini
- echo extension=php_mbstring.dll >> php.ini
- echo extension=php_fileinfo.dll >> php.ini
- appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/wincache/1.3.7.12/php_wincache-1.3.7.12-5.6-nts-vc11-x86.zip -FileName wincache.zip
- 7z x wincache.zip -oc:\php\ext php_wincache.dll > nul
- echo extension=php_wincache.dll >> php.ini
- echo wincache.enablecli = 1 >> php.ini
- cd C:\projects\cakephp
- appveyor DownloadFile https://getcomposer.org/composer.phar
- php composer.phar install --prefer-dist --no-interaction --ansi --no-progress
- php -i | grep "ICU version"
before_test:
# This script solves the "Database 'model' is being recovered. Waiting until recovery is finished."
# This solution comes from https://gist.github.com/jonathanhickford/1cb0d6665adab8b9c664
# and is follow by http://help.appveyor.com/discussions/suggestions/264-database-mssqlsystemresource-is-being-recovered-waiting-for-sql-server-to-start
- ps: >-
$tries = 5;
$pause = 10; # Seconds to wait between tries
While ($tries -gt 0) {
try {
$ServerConnectionString = "Data Source=(local)\SQL2012SP1;Initial Catalog=master;User Id=sa;PWD=Password12!";
$ServerConnection = new-object system.data.SqlClient.SqlConnection($ServerConnectionString);
$query = "exec sp_configure 'clr enabled', 1;`n"
$query = $query + "RECONFIGURE;`n"
$cmd = new-object system.data.sqlclient.sqlcommand($query, $ServerConnection);
$ServerConnection.Open();
"Running:"
$query
if ($cmd.ExecuteNonQuery() -ne -1) {
"SQL Error";
} else {
"Success"
}
$ServerConnection.Close();
$tries = 0;
} catch {
"Error:"
$_.Exception.Message
"Retry in $pause seconds. Attempts left: $tries";
Start-Sleep -s $pause;
}
$tries = $tries -1;
}
test_script:
- sqlcmd -S ".\SQL2012SP1" -U sa -P Password12! -Q "create database cakephp;"
- cd C:\projects\cakephp
- vendor\bin\phpunit.bat