diff --git a/appveyor.yml b/appveyor.yml index 3214e819..d799ea6b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,5 +1,5 @@ version: '{branch}.{build}' - + branches: # whitelist #only: @@ -17,35 +17,35 @@ environment: PDOSQLSRV_DBNAME: msphpsql_pdosqlsrv PHP_DEPSVER: 7.0 PHP_SDK: c:\projects\php - matrix: - - BUILD_PLATFORM: x86 + matrix: + - BUILD_PLATFORM: x64 TEST_PHP_SQL_SERVER: (local)\SQL2016 SQL_INSTANCE: SQL2016 PHP_VC: 14 PHP_MAJOR_VER: 7.1 - PHP_MINOR_VER: latest + PHP_MINOR_VER: latest PHP_SDK_DIR: c:\projects\php\x86 - PHP_INSTALL_DIR: c:\projects\php\x86\bin - platform: x86 + PHP_INSTALL_DIR: c:\projects\php\x86\bin + platform: x64 - BUILD_PLATFORM: x86 TEST_PHP_SQL_SERVER: (local)\SQL2012SP1 SQL_INSTANCE: SQL2012SP1 PHP_VC: 14 PHP_MAJOR_VER: 7.0 - PHP_MINOR_VER: latest + PHP_MINOR_VER: latest PHP_SDK_DIR: c:\projects\php\x86 PHP_INSTALL_DIR: c:\projects\php\x86\bin PHP_ZTS: --disable-zts platform: x86 - - BUILD_PLATFORM: x86 + - BUILD_PLATFORM: x64 TEST_PHP_SQL_SERVER: (local)\SQL2014 SQL_INSTANCE: SQL2014 PHP_VC: 14 PHP_MAJOR_VER: 7.0 PHP_MINOR_VER: latest PHP_SDK_DIR: c:\projects\php\x86 - PHP_INSTALL_DIR: c:\projects\php\x86\bin - platform: x86 + PHP_INSTALL_DIR: c:\projects\php\x86\bin + platform: x64 - BUILD_PLATFORM: x86 TEST_PHP_SQL_SERVER: (local)\SQL2008R2SP2 SQL_INSTANCE: SQL2008R2SP2 @@ -56,24 +56,24 @@ environment: PHP_INSTALL_DIR: c:\projects\php\x86\bin PHP_ZTS: --disable-zts platform: x86 - + # PHP_MAJOR_VER is PHP major version to build (7.0, 7.1) -# PHP_MINOR_VER is PHP point release number (or latest for latest release) +# PHP_MINOR_VER is PHP point release number (or latest for latest release) # PHP_INSTALL_DIR is where the built PHP binaries go # PHP_SDK_DIR is where PHP source is extracted to (e.g. PHP_SDK_DIR\php-7.0.14-src) # PHP_SDK is where PHP sdk binary tools are extracted to # PHP_VC is the Visual C++ version # PHP_ZTS is defined to disable thread safe build - + # Build worker image (VM template) image: Visual Studio 2015 matrix: fast_finish: true - + #services: #- mssql2012sp1 - + # clone directory (or %APPVEYOR_BUILD_FOLDER%) clone_folder: c:\projects\sqlphp @@ -102,12 +102,12 @@ install: # determine latest PHP versions - ps: >- If ($env:PHP_MINOR_VER -Match "latest") { - $env:PHP_VERSION=type sha1sum.txt | where { $_ -match "php-($env:PHP_MAJOR_VER\.\d+)-src" } | foreach { $matches[1] } ; + $env:PHP_VERSION=type sha1sum.txt | where { $_ -match "php-($env:PHP_MAJOR_VER\.\d+)-src" } | foreach { $matches[1] } ; } Else { $env:PHP_VERSION=$env:PHP_MAJOR_VER + '.' + $env:PHP_MINOR_VER; } - echo Downloading PHP-SDK - - appveyor DownloadFile http://windows.php.net/downloads/php-sdk/php-sdk-binary-tools-20110915.zip + - appveyor DownloadFile http://windows.php.net/downloads/php-sdk/php-sdk-binary-tools-20110915.zip - move php-sdk-binary-tools-20110915.zip .. - echo Downloading PHP source code [%PHP_VERSION%] - ps: (new-object net.webclient).DownloadFile('http://windows.php.net/downloads/releases/php-' + ${env:PHP_VERSION} + '-src.zip', ${env:APPVEYOR_BUILD_FOLDER} + '\..\php.zip') @@ -115,7 +115,7 @@ install: # AppVeyor build works are x64 VMs and 32-bit ODBC driver cannot be installed on it - ps: (new-object net.webclient).DownloadFile('https://download.microsoft.com/download/D/5/E/D5EEF288-A277-45C8-855B-8E2CB7E25B96/x64/msodbcsql.msi', 'c:\projects\msodbcsql.msi') - cmd /c start /wait msiexec /i "c:\projects\msodbcsql.msi" /q - - echo Checking the version of MSODBCSQL + - echo Checking the version of MSODBCSQL - reg query "HKLM\SOFTWARE\ODBC\odbcinst.ini\ODBC Driver 13 for SQL Server" - dir C:\Windows\System32\msodbcsql13.dll - cd .. @@ -127,33 +127,29 @@ install: - ps: Get-Content ${env:APPVEYOR_BUILD_FOLDER}\test\functional\pdo_sqlsrv\MsSetup.inc - ps: (Get-Content ${env:APPVEYOR_BUILD_FOLDER}\test\functional\sqlsrv\MsSetup.inc) | ForEach-Object { $_ -replace "TARGET_SERVER", ${env:TEST_PHP_SQL_SERVER} -replace "TARGET_DATABASE", ${env:SQLSRV_DBNAME} -replace "TARGET_USERNAME", ${env:TEST_PHP_SQL_UID} -replace "TARGET_PASSWORD", ${env:TEST_PHP_SQL_PWD} } | Set-Content ${env:APPVEYOR_BUILD_FOLDER}\test\functional\sqlsrv\MsSetup.inc - ps: Get-Content ${env:APPVEYOR_BUILD_FOLDER}\test\functional\sqlsrv\MsSetup.inc - #- appveyor DownloadFile http://github.com/OpenCppCoverage/OpenCppCoverage/releases/download/release-0.9.6.1/OpenCppCoverageSetup-x64-0.9.6.1.exe - #- OpenCppCoverageSetup-x64-0.9.6.1.exe /VERYSILENT - #- ps: ls "c:\Program Files" - #- set CPPCOVER="C:\\Program Files\\OpenCppCoverage" - #- set PATH=%CPPCOVER%;%PATH% + - echo install opencppcoverage - choco install opencppcoverage - set path=C:\Program Files\OpenCppCoverage;%path% - + build_script: - '"C:\\Program Files (x86)\\Microsoft Visual Studio %PHP_VC%.0\\VC\\vcvarsall.bat" %BUILD_PLATFORM%' - Echo copy msphp code to ext folder - mkdir %PHP_SDK_DIR%\php-%PHP_VERSION%-src\ext\sqlsrv - mkdir %PHP_SDK_DIR%\php-%PHP_VERSION%-src\ext\sqlsrv\shared - - mkdir %PHP_SDK_DIR%\php-%PHP_VERSION%-src\ext\pdo_sqlsrv + - mkdir %PHP_SDK_DIR%\php-%PHP_VERSION%-src\ext\pdo_sqlsrv - mkdir %PHP_SDK_DIR%\php-%PHP_VERSION%-src\ext\pdo_sqlsrv\shared - copy /Y %APPVEYOR_BUILD_FOLDER%\source\sqlsrv %PHP_SDK_DIR%\php-%PHP_VERSION%-src\ext\sqlsrv - copy /Y %APPVEYOR_BUILD_FOLDER%\source\shared %PHP_SDK_DIR%\php-%PHP_VERSION%-src\ext\sqlsrv\shared - copy /Y %APPVEYOR_BUILD_FOLDER%\source\shared %PHP_SDK_DIR%\php-%PHP_VERSION%-src\ext\pdo_sqlsrv\shared - - copy /Y %APPVEYOR_BUILD_FOLDER%\source\pdo_sqlsrv %PHP_SDK_DIR%\php-%PHP_VERSION%-src\ext\pdo_sqlsrv + - copy /Y %APPVEYOR_BUILD_FOLDER%\source\pdo_sqlsrv %PHP_SDK_DIR%\php-%PHP_VERSION%-src\ext\pdo_sqlsrv - cd %PHP_SDK_DIR%\php-%PHP_VERSION%-src - cd - - dir + - dir - '%PHP_SDK%\bin\phpsdk_setvars.bat' - buildconf.bat # only build CLI and MSSQL extensions - configure.bat --disable-all %PHP_ZTS% --enable-cli --enable-sqlsrv=shared --with-pdo-sqlsrv=shared --enable-pdo=shared --with-prefix=%PHP_INSTALL_DIR% - - copy php.ini-development php.ini + - copy php.ini-development php.ini - echo extension_dir=%PHP_INSTALL_DIR%\ext >> php.ini - echo extension=php_sqlsrv.dll >> php.ini - echo extension=php_pdo_sqlsrv.dll >> php.ini @@ -162,13 +158,13 @@ build_script: - Echo copy php.ini and run-tests.php from php source to install directory. - copy php.ini %PHP_INSTALL_DIR% - copy run-tests.php %PHP_INSTALL_DIR% - - dir %PHP_INSTALL_DIR% + - dir %PHP_INSTALL_DIR% test_script: - - cd %PHP_INSTALL_DIR% + - cd %PHP_INSTALL_DIR% - php --ini - php -i - - python -V + - python -V - Echo setup test database for SQLSRV tests - %SQLSRV_DBNAME% - python %APPVEYOR_BUILD_FOLDER%\test\functional\setup\setup_dbs.py -dbname %SQLSRV_DBNAME% - Echo setup test database for PDO_SQLSRV tests - %PDOSQLSRV_DBNAME% @@ -178,41 +174,47 @@ test_script: - copy %APPVEYOR_BUILD_FOLDER%\test\functional\setup\*.dll %APPVEYOR_BUILD_FOLDER%\test\functional\sqlsrv\ - copy %APPVEYOR_BUILD_FOLDER%\test\functional\setup\*.dll %APPVEYOR_BUILD_FOLDER%\test\functional\pdo_sqlsrv\ - python %APPVEYOR_BUILD_FOLDER%\test\functional\setup\run_ksp.py -server %TEST_PHP_SQL_SERVER% -dbname %SQLSRV_DBNAME% -uid %TEST_PHP_SQL_UID% -pwd %TEST_PHP_SQL_PWD% - - python %APPVEYOR_BUILD_FOLDER%\test\functional\setup\run_ksp.py -server %TEST_PHP_SQL_SERVER% -dbname %PDOSQLSRV_DBNAME% -uid %TEST_PHP_SQL_UID% -pwd %TEST_PHP_SQL_PWD% - - php run-tests.php -p php.exe %APPVEYOR_BUILD_FOLDER%\test\functional\sqlsrv\*.phpt > %APPVEYOR_BUILD_FOLDER%\test\functional\sqlsrv.log 2>&1 + - python %APPVEYOR_BUILD_FOLDER%\test\functional\setup\run_ksp.py -server %TEST_PHP_SQL_SERVER% -dbname %PDOSQLSRV_DBNAME% -uid %TEST_PHP_SQL_UID% -pwd %TEST_PHP_SQL_PWD% + - php run-tests.php -p php.exe %APPVEYOR_BUILD_FOLDER%\test\functional\sqlsrv\*.phpt > %APPVEYOR_BUILD_FOLDER%\test\functional\sqlsrv.log 2>&1 - type %APPVEYOR_BUILD_FOLDER%\test\functional\sqlsrv.log - - php run-tests.php -p php.exe %APPVEYOR_BUILD_FOLDER%\test\functional\pdo_sqlsrv\*.phpt > %APPVEYOR_BUILD_FOLDER%\test\functional\pdo_sqlsrv.log 2>&1 + - php run-tests.php -p php.exe %APPVEYOR_BUILD_FOLDER%\test\functional\pdo_sqlsrv\*.phpt > %APPVEYOR_BUILD_FOLDER%\test\functional\pdo_sqlsrv.log 2>&1 - type %APPVEYOR_BUILD_FOLDER%\test\functional\pdo_sqlsrv.log - - cd %APPVEYOR_BUILD_FOLDER%\test\functional\ - - ps: $difffiles = Get-ChildItem sqlsrv\*.diff - - ps: $outfiles = Get-ChildItem sqlsrv\*.out - - ps: foreach($file in $difffiles){ls $file; more $file} - - ps: foreach($file in $outfiles){ls $file; more $file} - - ps: $difffiles = Get-ChildItem pdo_sqlsrv\*.diff - - ps: $outfiles = Get-ChildItem pdo_sqlsrv\*.out - - ps: foreach($file in $difffiles){ls $file; more $file} - - ps: foreach($file in $outfiles){ls $file; more $file} - - cd %PHP_INSTALL_DIR% - - OpenCppCoverage.exe --sources %PHP_SDK_DIR%\php-%PHP_VERSION%-src\ext\pdo_sqlsrv --sources %PHP_SDK_DIR%\php-%PHP_VERSION%-src\ext\sqlsrv --modules *sqlsrv*.dll --export_type=cobertura:.\coverage.xml --cover_children --quiet --continue_after_cpp_exception --optimized_build -- .\php.exe .\run-tests.php -P %APPVEYOR_BUILD_FOLDER%\test\functional\ + - cd %APPVEYOR_BUILD_FOLDER%\test\functional\ + - ps: $difffiles = Get-ChildItem sqlsrv\*.diff + - ps: $outfiles = Get-ChildItem sqlsrv\*.out + - ps: foreach($file in $difffiles){ls $file; more $file} + - ps: foreach($file in $outfiles){ls $file; more $file} + - ps: $difffiles = Get-ChildItem pdo_sqlsrv\*.diff + - ps: $outfiles = Get-ChildItem pdo_sqlsrv\*.out + - ps: foreach($file in $difffiles){ls $file; more $file} + - ps: foreach($file in $outfiles){ls $file; more $file} + - if [%SQL_INSTANCE%]==[SQL2016] ( + SET EXT_DIR=%PHP_SDK_DIR%\php-%PHP_VERSION%-src\ext + OpenCppCoverage.exe --sources %EXT_DIR%\pdo_sqlsrv --sources %EXT_DIR%\sqlsrv --modules *sqlsrv*.dll --export_type=cobertura:.\coverage.xml --cover_children --quiet --continue_after_cpp_exception --optimized_build -- .\php.exe .\run-tests.php -P %APPVEYOR_BUILD_FOLDER%\test\functional\ + pip install codecov + codecov -f ".\coverage.xml" + ) + # - cd %PHP_INSTALL_DIR% + # - OpenCppCoverage.exe --sources %PHP_SDK_DIR%\php-%PHP_VERSION%-src\ext\pdo_sqlsrv --sources %PHP_SDK_DIR%\php-%PHP_VERSION%-src\ext\sqlsrv --modules *sqlsrv*.dll --export_type=cobertura:.\coverage.xml --cover_children --quiet --continue_after_cpp_exception --optimized_build -- .\php.exe .\run-tests.php -P %APPVEYOR_BUILD_FOLDER%\test\functional\ - ls - python %APPVEYOR_BUILD_FOLDER%\test\functional\setup\cleanup_dbs.py -dbname %SQLSRV_DBNAME% - python %APPVEYOR_BUILD_FOLDER%\test\functional\setup\cleanup_dbs.py -dbname %PDOSQLSRV_DBNAME% - - pip install codecov - - codecov -f ".\coverage.xml" + # - pip install codecov + # - codecov -f ".\coverage.xml" after_test: - - cd %APPVEYOR_BUILD_FOLDER%\test\functional\ - - python output.py + - cd %APPVEYOR_BUILD_FOLDER%\test\functional\ + - python output.py - ps: (new-object net.webclient).UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\nativeresult1.xml)) - ps: (new-object net.webclient).UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\nativeresult2.xml)) - - ps: >- + - ps: >- [xml]$results = Get-Content nativeresult1.xml ; [xml]$results2 = Get-Content nativeresult2.xml ; $failure = $results.SelectSingleNode("//failure"); $failure2 = $results2.SelectSingleNode("//failure"); - if ($failure -ne $null -Or $failure2 -ne $null) - { + if ($failure -ne $null -Or $failure2 -ne $null) + { $host.SetShouldExit(1); Write-Host "Forcing build failure due to phpt unit test failure(s)"; } - +