Browse Source

Try to avoid installing PHP each time on appveyor.

ADmad 7 years ago
parent
commit
f36b69ffe3
1 changed files with 26 additions and 23 deletions
  1. 26 23
      appveyor.yml

+ 26 - 23
appveyor.yml

@@ -1,6 +1,7 @@
 build: false
 platform: 'x64'
-clone_folder: c:\projects\cakephp
+clone_folder: C:\projects\cakephp
+clone_depth: 10
 
 cache:
   - '%LOCALAPPDATA%\Composer\files -> composer.lock'
@@ -15,7 +16,7 @@ branches:
     - 4.x
 environment:
   global:
-    PHP: "C:/PHP"
+    PHP: 'C:\php'
     php_ver_target: 7.2
 
   matrix:
@@ -28,32 +29,34 @@ services:
 init:
   - 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:
-  - 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
-  - copy php.ini-production php.ini /Y
-  - echo date.timezone="UTC" >> php.ini
-  - echo extension_dir=ext >> php.ini
-  - echo extension=php_openssl.dll >> php.ini
-  - echo extension=php_mbstring.dll >> php.ini
-  - echo extension=php_intl.dll >> php.ini
-  - echo extension=php_fileinfo.dll >> php.ini
+  - ps: |
+      # Check if installation is cached
+      if (!(Test-Path C:\php)) {
+        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
+        copy php.ini-production php.ini /Y
+        echo date.timezone="UTC" >> php.ini
+        echo extension_dir=ext >> php.ini
+        echo extension=php_openssl.dll >> php.ini
+        echo extension=php_mbstring.dll >> php.ini
+        echo extension=php_intl.dll >> php.ini
+        echo extension=php_fileinfo.dll >> php.ini
 
-  - 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
-  - 7z x pdosqlsrv.zip -oC:\php\ext php_pdo_sqlsrv.dll > nul
-  - 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
-  - 7z x sqlsrv.zip -oC:\php\ext php_sqlsrv.dll > nul
-  - echo extension=php_pdo_sqlsrv.dll >> php.ini
-  - echo extension=php_sqlsrv.dll >> php.ini
+        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
+        7z x pdosqlsrv.zip -oC:\php\ext php_pdo_sqlsrv.dll > nul
+        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
+        7z x sqlsrv.zip -oC:\php\ext php_sqlsrv.dll > nul
+        echo extension=php_pdo_sqlsrv.dll >> php.ini
+        echo extension=php_sqlsrv.dll >> php.ini
 
-  - 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
-  - 7z x wincache.zip -oC:\php\ext php_wincache.dll > nul
-  - echo extension=php_wincache.dll >> php.ini
-  - echo wincache.enablecli = 1 >> php.ini
+        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
+        7z x wincache.zip -oC:\php\ext php_wincache.dll > nul
+        echo extension=php_wincache.dll >> php.ini
+        echo wincache.enablecli = 1 >> php.ini
+      }
 
   - cd C:\projects\cakephp
   - appveyor-retry appveyor DownloadFile https://getcomposer.org/composer.phar