appveyor.yml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. environment:
  2. matrix:
  3. - ARTIFACT_NAME: v8js_vc14_php7_%Platform%_ts.zip
  4. OUTDIR: Release_TS
  5. V8_ASSETS: V8-5.8.301.0-%Platform%.zip
  6. - ARTIFACT_NAME: v8js_vc14_php7_%Platform%_nts.zip
  7. OUTDIR: Release
  8. CONFIGURE_EXTRA: --disable-zts
  9. V8_ASSETS: V8-5.8.301.0-%Platform%.zip
  10. PHP_VERSION: 7.0.16
  11. PHP_SDK: c:\projects\php-sdk
  12. os: Windows Server 2012
  13. clone_folder: c:\projects\php-sdk\v8js-ci\vc14\%Platform%\php\ext\v8js
  14. platform:
  15. - x64
  16. - x86
  17. install:
  18. - cd %PHP_SDK%
  19. - curl -fSL -o php-sdk-binary-tools-20110915.zip "http://windows.php.net/downloads/php-sdk/php-sdk-binary-tools-20110915.zip"
  20. - 7z.exe x php-sdk-binary-tools-20110915.zip
  21. - call bin\phpsdk_setvars.bat
  22. - call bin\phpsdk_buildtree.bat v8js-ci
  23. - cd v8js-ci\vc14\%Platform%
  24. - md deps
  25. - cd deps
  26. - curl -fSL -o %V8_ASSETS% "https://s3.amazonaws.com/win-phpv8/%V8_ASSETS%"
  27. - 7z.exe x %V8_ASSETS%
  28. - cd ..
  29. - curl -fSL -o "php-%PHP_VERSION%.tar.gz" "http://us1.php.net/distributions/php-%PHP_VERSION%.tar.gz"
  30. - ren php php-%PHP_VERSION%
  31. - 7z.exe x php-%PHP_VERSION%.tar.gz -y
  32. - 7z.exe x php-%PHP_VERSION%.tar -y | find /v "Extracting"
  33. - cd php-%PHP_VERSION%
  34. - IF "%Platform%" == "x64" SET OUTDIR=x64\%OUTDIR%
  35. - mkdir %OUTDIR%
  36. - move ..\deps\bin\*.dll %OUTDIR%\
  37. build_script:
  38. - ps: >-
  39. If ($env:Platform -Match "x86") {
  40. $env:VCVARS_PLATFORM="x86"
  41. $env:ENV_PLATFORM="x86"
  42. } Else {
  43. $env:VCVARS_PLATFORM="amd64"
  44. $env:ENV_PLATFORM="x64"
  45. }
  46. - call "%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat" %VCVARS_PLATFORM%
  47. - echo Building PHP [%PHP_VERSION%]
  48. - '%PHP_SDK%\bin\phpsdk_setvars'
  49. - buildconf
  50. - configure --disable-all --enable-cli --with-v8js %CONFIGURE_EXTRA%
  51. - nmake
  52. after_build:
  53. - cd %OUTDIR%
  54. - 7z a %ARTIFACT_NAME% icu*.dll v8.dll php_v8js.dll
  55. - ps: Push-AppveyorArtifact $env:ARTIFACT_NAME
  56. test_script:
  57. - cd c:\projects\php-sdk\v8js-ci\vc14\%Platform%\php-%PHP_VERSION%
  58. - set NO_INTERACTION=1
  59. - set TEST_PHP_JUNIT=junit.xml
  60. - set REPORT_EXIT_STATUS=1
  61. - "%OUTDIR%\\php.exe run-tests.php -p %OUTDIR%\\php.exe ext/v8js/tests/ -d extension=php_v8js.dll -d extension_dir=%OUTDIR%\\"
  62. on_finish:
  63. - cd c:\projects\php-sdk\v8js-ci\vc14\%Platform%\php-%PHP_VERSION%
  64. - ps: |
  65. # upload results to AppVeyor
  66. $wc = New-Object 'System.Net.WebClient'
  67. $wc.UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\junit.xml))
  68. deploy:
  69. provider: S3
  70. access_key_id: AKIAJBJLBBZPMYOGVKEA
  71. secret_access_key:
  72. secure: N+jqdcvCOzqfrwL7ClIvcd9TkmQe9dghJwZMjLYtv7syVW5c4EU9YrqUbUUGmZ04
  73. bucket: win-phpv8
  74. set_public: true
  75. artifact: "*.zip"
  76. on:
  77. branch: php7