Browse Source

Update Appveyor config.

Use Chocolatey to fetch PHP.
ADmad 7 years ago
parent
commit
83696d57d4
1 changed files with 40 additions and 27 deletions
  1. 40 27
      appveyor.yml

+ 40 - 27
appveyor.yml

@@ -1,11 +1,14 @@
 build: false
 shallow_clone: false
-platform: 'x86'
+platform: 'x64'
 clone_folder: c:\projects\cakephp
 
 cache:
-  - '%LOCALAPPDATA%\Composer'
-  - '%APPDATA%\Composer'
+  - '%LOCALAPPDATA%\Composer\files -> composer.lock'
+  - composer.phar
+  - C:\ProgramData\chocolatey\bin -> .appveyor.yml
+  - C:\ProgramData\chocolatey\lib -> .appveyor.yml
+  - C:\php -> .appveyor.yml
 
 branches:
   only:
@@ -14,40 +17,50 @@ branches:
 environment:
   global:
     PHP: "C:/PHP"
+    php_ver_target: 7.2
 
   matrix:
-      - db: 2012
-        db_dsn: 'sqlserver://sa:Password12!@.\SQL2012SP1/cakephp?MultipleActiveResultSets=false'
+    - db: 2012
+      db_dsn: 'sqlserver://sa:Password12!@.\SQL2012SP1/cakephp?MultipleActiveResultSets=false'
 
 services:
   - mssql2012sp1
 
 init:
-  - SET PATH=C:\php\;%PATH%
+  - SET PATH=C:\Program Files\OpenSSL;C:\php;%PATH%
+  - SET COMPOSER_NO_INTERACTION=1
+  - SET PHP=1 # This var is connected to PHP install cache
+  - SET ANSICON=121x90 (121x90)
 
 install:
-  - cd c:\
-  - curl -fsS https://windows.php.net/downloads/releases/php-5.6.37-nts-Win32-VC11-x86.zip -o php.zip
-  - 7z x php.zip -oc:\php > nul
-  - curl -fsS https://dl.dropboxusercontent.com/s/euip490d9183jkr/SQLSRV32.cab -o 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
-  - curl -fsS https://windows.php.net/downloads/pecl/releases/wincache/1.3.7.12/php_wincache-1.3.7.12-5.6-nts-vc11-x86.zip -o 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
+  - IF EXIST C:\php (SET PHP=0)
+  - ps: appveyor-retry cinst --params '""/InstallDir:C:\php""' --ignore-checksums -y php --version ((choco search php --exact --all-versions -r | select-string -pattern $env:php_ver_target | sort { [version]($_ -split '\|' | select -last 1) } -Descending | Select-Object -first 1) -replace '[php|]','')
+  - cd C:\php
+  - IF %PHP%==1 copy php.ini-production php.ini /Y
+  - IF %PHP%==1 echo date.timezone="UTC" >> php.ini
+  - IF %PHP%==1 echo extension_dir=ext >> php.ini
+  - IF %PHP%==1 echo extension=php_openssl.dll >> php.ini
+  - IF %PHP%==1 echo extension=php_mbstring.dll >> php.ini
+  - IF %PHP%==1 echo extension=php_intl.dll >> php.ini
+  - IF %PHP%==1 echo extension=php_fileinfo.dll >> php.ini
+
+  - IF %PHP%==1 curl -fsS https://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/5.2.0/php_pdo_sqlsrv-5.2.0-7.2-nts-vc15-x64.zip -o pdosqlsrv.zip
+  - IF %PHP%==1 7z x pdosqlsrv.zip -oC:\php\ext php_pdo_sqlsrv.dll > nul
+  - IF %PHP%==1 curl -fsS https://windows.php.net/downloads/pecl/releases/sqlsrv/5.2.0/php_sqlsrv-5.2.0-7.2-nts-vc15-x64.zip -o sqlsrv.zip
+  - IF %PHP%==1 7z x sqlsrv.zip -oC:\php\ext php_sqlsrv.dll > nul
+  - IF %PHP%==1 echo extension=php_pdo_sqlsrv.dll >> php.ini
+  - IF %PHP%==1 echo extension=php_sqlsrv.dll >> php.ini
+
+  - IF %PHP%==1 curl -fsS https://windows.php.net/downloads/pecl/releases/wincache/2.0.0.8/php_wincache-2.0.0.8-7.2-nts-vc15-x64.zip -o wincache.zip
+  - IF %PHP%==1 7z x wincache.zip -oC:\php\ext php_wincache.dll > nul
+  - IF %PHP%==1 echo extension=php_wincache.dll >> php.ini
+  - IF %PHP%==1 echo wincache.enablecli = 1 >> php.ini
+
+  - IF %PHP%==1 echo @php %%~dp0composer.phar %%* > composer.bat
+  - appveyor-retry appveyor DownloadFile https://getcomposer.org/composer.phar
+
   - cd C:\projects\cakephp
-  - curl -fsS https://getcomposer.org/composer.phar -o composer.phar
-  - php composer.phar install --prefer-dist --no-interaction --ansi --no-progress
+  - appveyor-retry composer install --no-progress
   - php -i | grep "ICU version"
 
 before_test: