appveyor.yml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. environment:
  2. matrix:
  3. - ARTIFACT_NAME: v8js_vc15_php-7.3_%Platform%_ts.zip
  4. OUTDIR: Release_TS
  5. V8_ASSETS: V8-7.0.276.11-vc15-%Platform%.zip
  6. PHP_VERSION: 7.3.0RC1
  7. - ARTIFACT_NAME: v8js_vc15_php-7.3_%Platform%_nts.zip
  8. OUTDIR: Release
  9. CONFIGURE_EXTRA: --disable-zts
  10. V8_ASSETS: V8-7.0.276.11-vc15-%Platform%.zip
  11. PHP_VERSION: 7.3.0RC1
  12. - ARTIFACT_NAME: v8js_vc15_php-7.2_%Platform%_ts.zip
  13. OUTDIR: Release_TS
  14. V8_ASSETS: V8-7.0.276.11-vc15-%Platform%.zip
  15. PHP_VERSION: 7.2.10
  16. - ARTIFACT_NAME: v8js_vc15_php-7.2_%Platform%_nts.zip
  17. OUTDIR: Release
  18. CONFIGURE_EXTRA: --disable-zts
  19. V8_ASSETS: V8-7.0.276.11-vc15-%Platform%.zip
  20. PHP_VERSION: 7.2.10
  21. PHP_SDK: c:\projects\php-sdk
  22. os: Visual Studio 2017
  23. clone_folder: c:\projects\php-sdk\v8js-ci\vc15\%Platform%\php\ext\v8js
  24. platform:
  25. - x64
  26. - x86
  27. install:
  28. - cd %PHP_SDK%
  29. - curl -fSL -o php-sdk-2.1.9beta1.zip "https://github.com/Microsoft/php-sdk-binary-tools/archive/php-sdk-2.1.9beta1.zip"
  30. - 7z.exe x php-sdk-2.1.9beta1.zip
  31. - move /y php-sdk-binary-tools-php-sdk-2.1.9beta1\* .
  32. - for /R /D %%f in (php-sdk-binary-tools-php-sdk-2.1.9beta1\*) do move /y %%f .
  33. - call bin\phpsdk_setvars.bat
  34. - call bin\phpsdk_buildtree.bat v8js-ci
  35. - cd v8js-ci\vc15\%Platform%
  36. - md deps
  37. - cd deps
  38. - curl -fSL -o %V8_ASSETS% "https://phpdev.toolsforresearch.com/%V8_ASSETS%"
  39. - 7z.exe x %V8_ASSETS%
  40. - dir
  41. - curl -fSL -o libiconv.zip "https://windows.php.net/downloads/php-sdk/deps/vc15/%Platform%/libiconv-1.15-3-vc15-%Platform%.zip"
  42. - 7z.exe x libiconv.zip -y
  43. - curl -fSL -o libxml2.zip "https://windows.php.net/downloads/php-sdk/deps/vc15/%Platform%/libxml2-2.9.8-vc15-%Platform%.zip"
  44. - 7z.exe x libxml2.zip -y
  45. - cd ..
  46. - curl -fSL -o "php-%PHP_VERSION%.tar.gz" "https://github.com/php/php-src/archive/php-%PHP_VERSION%.tar.gz"
  47. - ren php php-src-php-%PHP_VERSION%
  48. - 7z.exe x php-%PHP_VERSION%.tar.gz -y
  49. - 7z.exe x php-%PHP_VERSION%.tar -y | find /v "Extracting"
  50. - dir
  51. - ren php-src-php-%PHP_VERSION% php-%PHP_VERSION%
  52. - cd php-%PHP_VERSION%
  53. - IF "%Platform%" == "x64" SET OUTDIR=x64\%OUTDIR%
  54. - mkdir %OUTDIR%
  55. - move ..\deps\bin\*.dll %OUTDIR%\
  56. - move ..\deps\bin\icudtl.dat %OUTDIR%\
  57. build_script:
  58. - ps: >-
  59. If ($env:Platform -Match "x86") {
  60. $env:VCVARS_PLATFORM="x86"
  61. $env:ENV_PLATFORM="x86"
  62. } Else {
  63. $env:VCVARS_PLATFORM="amd64"
  64. $env:ENV_PLATFORM="x64"
  65. }
  66. - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %VCVARS_PLATFORM%
  67. - cd
  68. - echo Building PHP [%PHP_VERSION%]
  69. - '%PHP_SDK%\bin\phpsdk_setvars'
  70. - buildconf
  71. - configure --disable-all --enable-cli --with-iconv=yes --with-libxml=yes --with-dom=yes --enable-json=static --with-v8js %CONFIGURE_EXTRA%
  72. - nmake
  73. after_build:
  74. - cd %OUTDIR%
  75. - 7z a %ARTIFACT_NAME% icudtl.dat icu*.dll v8.dll php_v8js.dll
  76. - ps: Push-AppveyorArtifact $env:ARTIFACT_NAME
  77. test_script:
  78. - cd c:\projects\php-sdk\v8js-ci\vc15\%Platform%\php-%PHP_VERSION%
  79. - set NO_INTERACTION=1
  80. - set TEST_PHP_JUNIT=junit.xml
  81. - set REPORT_EXIT_STATUS=1
  82. - "%OUTDIR%\\php.exe run-tests.php -p %OUTDIR%\\php.exe ext/v8js/tests/ -d v8js.icudtl_dat_path=%OUTDIR%/icudtl.dat -d extension=php_v8js.dll -d extension_dir=%OUTDIR%\\ --show-diff"
  83. on_finish:
  84. - cd c:\projects\php-sdk\v8js-ci\vc15\%Platform%\php-%PHP_VERSION%
  85. - ps: |
  86. # upload results to AppVeyor
  87. $wc = New-Object 'System.Net.WebClient'
  88. $wc.UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\junit.xml))
  89. deploy:
  90. provider: S3
  91. access_key_id: AKIAJBJLBBZPMYOGVKEA
  92. secret_access_key:
  93. secure: N+jqdcvCOzqfrwL7ClIvcd9TkmQe9dghJwZMjLYtv7syVW5c4EU9YrqUbUUGmZ04
  94. bucket: win-phpv8
  95. set_public: true
  96. artifact: "*.zip"
  97. on:
  98. branch: php7