mirror of
https://github.com/phpbb/phpbb.git
synced 2025-01-17 06:08:19 +01:00
149 lines
8.3 KiB
YAML
149 lines
8.3 KiB
YAML
build: false
|
|
clone_folder: c:\projects\phpbb
|
|
version: '{build}'
|
|
|
|
services:
|
|
- iis
|
|
|
|
environment:
|
|
COMPOSER_AUTH:
|
|
secure: '{"github-oauth": {"github.com": "zvq38wk7sRe87Y9W2OCYXcK7WKQDsig7GRIUDHGmxm6ZQRK8JswPbi8JoJQbFhM+"}}'
|
|
matrix:
|
|
- db: mssql
|
|
db_version: sql2012sp1
|
|
php: 7.1
|
|
- db: mssql
|
|
db_version: sql2014
|
|
php: 7.1
|
|
- db: mssql
|
|
db_version: sql2016
|
|
php: 7.2
|
|
# - db: mssql
|
|
# db_version: sql2017
|
|
# php: 7.1
|
|
# - db: mariadb
|
|
# php: 7.1
|
|
# - db: mysqli
|
|
# php: 7.1
|
|
# - db: sqlite
|
|
# php: 7.1
|
|
# - db: postgresql
|
|
# php: 7.1
|
|
|
|
hosts:
|
|
phpbb.test: 127.0.0.1
|
|
|
|
init:
|
|
- SET PATH=%systemroot%\system32\inetsrv\;C:\Program Files\OpenSSL;C:\tools\php;c:\php;%PATH%
|
|
- SET ANSICON=121x90 (121x90)
|
|
- REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v DelayedExpansion /t REG_DWORD /d 1 /f
|
|
|
|
before_test:
|
|
- ps: |
|
|
Set-Service wuauserv -StartupType Manual
|
|
choco install chocolatey -y --version 0.10.13 --allow-downgrade
|
|
choco install php -y --version ((choco search php --exact --all-versions -r | select-string -pattern $env:php | sort { [version]($_ -split '\|' | select -last 1) } -Descending | Select-Object -first 1) -replace '[php|]','')
|
|
Get-ChildItem -Path "c:\tools\php$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1$2')" -Recurse |
|
|
Move-Item -destination "c:\tools\php"
|
|
cd c:\tools\php
|
|
cat php.ini-development | %{$_ -replace "memory_limit = 128M","memory_limit = 1024M"} | Out-File -Encoding "Default" php.ini
|
|
Add-Content php.ini "`n date.timezone=UTC"
|
|
Add-Content php.ini "`n display_errors=On"
|
|
Add-Content php.ini "`n extension_dir=ext"
|
|
Add-Content php.ini "`n extension=php_openssl.dll"
|
|
Add-Content php.ini "`n extension=php_mbstring.dll"
|
|
Add-Content php.ini "`n extension=php_curl.dll"
|
|
Add-Content php.ini "`n extension=php_gd2.dll"
|
|
Add-Content php.ini "`n extension=php_tidy.dll"
|
|
Add-Content php.ini "`n extension=php_fileinfo.dll"
|
|
Add-Content php.ini "`n extension=php_pdo_sqlite.dll"
|
|
Add-Content php.ini "`n extension=php_sqlite3.dll"
|
|
Add-Content php.ini "`n extension=php_pdo_mysql.dll"
|
|
Add-Content php.ini "`n extension=php_mysqli.dll"
|
|
Add-Content php.ini "`n extension=php_pdo_pgsql.dll"
|
|
Add-Content php.ini "`n extension=php_pgsql.dll"
|
|
|
|
# Get MSSQL driver
|
|
if ($env:db -eq "mssql") {
|
|
cd c:\tools\php\ext
|
|
$DLLVersion = "5.3.0"
|
|
$VCVersion = If ([System.Version]"$($env:php)" -ge [System.Version]"7.2") {"vc15"} Else {"vc14"}
|
|
curl -o php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip https://windows.php.net/downloads/pecl/releases/sqlsrv/$($:DLLVersion)/php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-$($VCVersion)-x64.zip
|
|
7z x -y php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip > $null
|
|
curl -o php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip https://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-$($VCVersion)-x64.zip
|
|
7z x -y php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip > $null
|
|
Remove-Item c:\tools\php\* -include .zip
|
|
cd c:\tools\php
|
|
Add-Content php.ini "`nextension=php_sqlsrv.dll"
|
|
Add-Content php.ini "`nextension=php_pdo_sqlsrv.dll"
|
|
Add-Content php.ini "`n"
|
|
|
|
$instanceName = $env:db_version.ToUpper()
|
|
Start-Service "MSSQL`$$instanceName"
|
|
Set-Variable -Name "sqlServerPath" -Value "(local)\$($env:db_version.ToUpper())"
|
|
|
|
# Create database write test config
|
|
sqlcmd -S $sqlServerPath -Q "Use [master]; CREATE DATABASE [phpbb_test] COLLATE Latin1_General_CI_AS"
|
|
$data = "<?php`n`n`$dbms = 'phpbb\\db\\driver\\mssqlnative';`n`$dbhost = '.\\$env:db_version';`n`$dbport = '';`n`$dbname = 'phpbb_test';`n`$dbuser = 'sa';`n`$dbpasswd = 'Password12!';`n`$phpbb_functional_url = 'http://phpbb.test/';"; $data | Out-File -Encoding "Default" "c:\\projects\\phpbb\\tests\\test_config.php"
|
|
}
|
|
elseif ($env:db -eq "mysqli") {
|
|
Start-Service MySQL57
|
|
$env:MYSQL_PWD="Password12!"
|
|
$cmd = '"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql" -e "create database phpbb_test;" --user=root'
|
|
iex "& $cmd"
|
|
$data = "<?php`n`n`$dbms = 'phpbb\\db\\driver\\mysqli';`n`$dbhost = 'localhost';`n`$dbport = '';`n`$dbname = 'phpbb_test';`n`$dbuser = 'root';`n`$dbpasswd = 'Password12!';`n`$phpbb_functional_url = 'http://phpbb.test/';"; $data | Out-File -Encoding "Default" "c:\\projects\\phpbb\\tests\\test_config.php"
|
|
}
|
|
elseif ($env:db -eq "postgresql") {
|
|
Start-Service postgresql-x64-9.5
|
|
$env:PGUSER="postgres"
|
|
$env:PGPASSWORD="Password12!"
|
|
$Env:Path="C:\Program Files\PostgreSQL\9.6\bin\;$($Env:Path)"
|
|
createdb phpbb_test
|
|
$data = "<?php`n`n`$dbms = 'phpbb\\db\\driver\\postgres';`n`$dbhost = 'localhost';`n`$dbport = '';`n`$dbname = 'phpbb_test';`n`$dbuser = 'postgres';`n`$dbpasswd = 'Password12!';`n`$phpbb_functional_url = 'http://phpbb.test/';"; $data | Out-File -Encoding "Default" "c:\\projects\\phpbb\\tests\\test_config.php"
|
|
}
|
|
elseif ($env:db -eq "mariadb") {
|
|
appveyor-retry choco install mariadb -y --force
|
|
$env:MYSQL_PWD=""
|
|
$cmd = '"C:\Program Files\MariaDB 10.2\bin\mysql" -e "create database phpbb_test;" --user=root'
|
|
iex "& $cmd"
|
|
$data = "<?php`n`n`$dbms = 'phpbb\\db\\driver\\mysqli';`n`$dbhost = 'localhost';`n`$dbport = '';`n`$dbname = 'phpbb_test';`n`$dbuser = 'root';`n`$dbpasswd = '';`n`$phpbb_functional_url = 'http://phpbb.test/';"; $data | Out-File -Encoding "Default" "c:\\projects\\phpbb\\tests\\test_config.php"
|
|
}
|
|
elseif ($env:db -eq "sqlite") {
|
|
# install sqlite
|
|
appveyor-retry choco install sqlite -y
|
|
sqlite3 c:\projects\test.db "create table aTable(field1 int); drop table aTable;"
|
|
$data = "<?php`n`n`$dbms = 'phpbb\\db\\driver\\sqlite3';`n`$dbhost = 'c:\\projects\\test.db';`n`$dbport = '';`n`$dbname = '';`n`$dbuser = '';`n`$dbpasswd = '';`n`$phpbb_functional_url = 'http://phpbb.test/';"; $data | Out-File -Encoding "Default" "c:\\projects\\phpbb\\tests\\test_config.php"
|
|
}
|
|
|
|
# Install PhantomJS
|
|
choco install phantomjs -y
|
|
Start-Process "phantomjs" "--webdriver=8910" | Out-Null
|
|
- ps: |
|
|
cd c:\projects\phpbb\phpBB
|
|
(Get-Content c:\projects\phpbb\phpBB\web.config).replace("<configuration>", "<configuration>`n`t<system.web>`n`t`t<customErrors mode=`"Off`"/>`n`t</system.web>") | Set-Content c:\projects\phpbb\phpBB\web.config
|
|
(Get-Content c:\projects\phpbb\phpBB\web.config).replace("`t</system.webServer>", "`t`t<httpErrors errorMode=`"Detailed`" />`n`t</system.webServer>") | Set-Content c:\projects\phpbb\phpBB\web.config
|
|
- cd c:\projects\phpbb\phpBB
|
|
- php ..\composer.phar install
|
|
- choco install urlrewrite -y
|
|
- ps: New-WebSite -Name 'phpBBTest' -PhysicalPath 'c:\projects\phpbb\phpBB' -Force
|
|
- ps: Import-Module WebAdministration; Set-ItemProperty 'IIS:\Sites\phpBBTest' -name Bindings -value @{protocol='http';bindingInformation='*:80:phpbb.test'}
|
|
- echo Change default anonymous user AUTH to ApplicationPool
|
|
- appcmd set config -section:anonymousAuthentication /username:"" --password
|
|
- echo Setup FAST-CGI configuration
|
|
- appcmd set config /section:system.webServer/fastCGI /+[fullPath='C:\tools\php\php-cgi.exe']
|
|
- echo Setup FACT-CGI handler
|
|
- appcmd set config /section:system.webServer/handlers /+[name='PHP-FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='C:\tools\php\php-cgi.exe',resourceType='Either']
|
|
- iisreset
|
|
- NET START W3SVC
|
|
- mkdir "C:\projects\phpbb\phpBB\cache\test"
|
|
- mkdir "C:\projects\phpbb\phpBB\cache\installer"
|
|
- icacls "C:\projects\phpbb\phpBB\cache" /grant Users:F /T
|
|
- icacls "C:\projects\phpbb\phpBB\files" /grant Users:F /T
|
|
- icacls "C:\projects\phpbb\phpBB\store" /grant Users:F /T
|
|
- icacls "C:\projects\phpbb\phpBB\images\avatars\upload" /grant Users:F /T
|
|
|
|
test_script:
|
|
- cd c:\projects\phpbb
|
|
- php -e phpBB\vendor\phpunit\phpunit\phpunit --verbose
|
|
|