appveyor.yml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. build: false
  2. shallow_clone: false
  3. platform: 'x86'
  4. clone_folder: c:\projects\cakephp
  5. branches:
  6. only:
  7. - 3.0
  8. environment:
  9. global:
  10. PHP: "C:/PHP"
  11. matrix:
  12. - db: 2012
  13. db_dsn: 'sqlserver://sa:Password12!@.\SQL2012SP1/cakephp?MultipleActiveResultSets=false'
  14. services:
  15. - mssql2012sp1
  16. init:
  17. - SET PATH=C:\php\;%PATH%
  18. install:
  19. - cd c:\
  20. - ps: Start-FileDownload 'http://ci.cakephp.org/php.zip'
  21. - 7z x php.zip -oc:\php
  22. - cd c:\php
  23. - copy php.ini-production php.ini
  24. - echo date.timezone="UTC" >> php.ini
  25. - echo extension_dir=ext >> php.ini
  26. - echo extension=php_openssl.dll >> php.ini
  27. - echo extension=php_sqlsrv.dll >> php.ini
  28. - echo extension=php_pdo_sqlsrv.dll >> php.ini
  29. - echo extension=php_pdo_mysql.dll >> php.ini
  30. - echo extension=php_intl.dll >> php.ini
  31. - echo extension=php_mbstring.dll >> php.ini
  32. - echo extension=php_fileinfo.dll >> php.ini
  33. - cd C:\projects\cakephp
  34. - php -r "readfile('https://getcomposer.org/installer');" | php
  35. - php composer.phar install --prefer-dist --no-interaction --dev
  36. before_test:
  37. # This script solves the "Database 'model' is being recovered. Waiting until recovery is finished."
  38. # This solution comes from https://gist.github.com/jonathanhickford/1cb0d6665adab8b9c664
  39. # and is follow by http://help.appveyor.com/discussions/suggestions/264-database-mssqlsystemresource-is-being-recovered-waiting-for-sql-server-to-start
  40. - ps: >-
  41. $tries = 5;
  42. $pause = 10; # Seconds to wait between tries
  43. While ($tries -gt 0) {
  44. try {
  45. $ServerConnectionString = "Data Source=(local)\SQL2012SP1;Initial Catalog=master;User Id=sa;PWD=Password12!";
  46. $ServerConnection = new-object system.data.SqlClient.SqlConnection($ServerConnectionString);
  47. $query = "exec sp_configure 'clr enabled', 1;`n"
  48. $query = $query + "RECONFIGURE;`n"
  49. $cmd = new-object system.data.sqlclient.sqlcommand($query, $ServerConnection);
  50. $ServerConnection.Open();
  51. "Running:"
  52. $query
  53. if ($cmd.ExecuteNonQuery() -ne -1) {
  54. "SQL Error";
  55. } else {
  56. "Success"
  57. }
  58. $ServerConnection.Close();
  59. $tries = 0;
  60. } catch {
  61. "Error:"
  62. $_.Exception.Message
  63. "Retry in $pause seconds. Attempts left: $tries";
  64. Start-Sleep -s $pause;
  65. }
  66. $tries = $tries -1;
  67. }
  68. test_script:
  69. - sqlcmd -S ".\SQL2012SP1" -U sa -P Password12! -Q "create database cakephp;"
  70. - cd C:\projects\cakephp
  71. - vendor\bin\phpunit.bat