Refactor coverage and extension code

This commit is contained in:
Shivam Mathur
2019-12-26 18:31:18 +05:30
parent 4c045616f4
commit 273096b82f
19 changed files with 286 additions and 452 deletions

View File

@ -0,0 +1,9 @@
release_version=$(lsb_release -s -r)
sudo DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:ondrej/pkg-gearman -y
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
if [ "$release_version" = "18.04" ]; then
sudo DEBIAN_FRONTEND=noninteractive apt-fast install -y libgearman-dev php"$1"-gearman
elif [ "$release_version" = "16.04" ]; then
sudo DEBIAN_FRONTEND=noninteractive apt-fast install -y php"$1"-gearman
fi

5
src/scripts/ext/pcov.sh Normal file
View File

@ -0,0 +1,5 @@
cd ~ && git clone --depth=1 https://github.com/krakjoe/pcov.git
cd pcov && phpize
./configure --enable-pcov
make
sudo make install

View File

@ -0,0 +1,27 @@
Param (
[Parameter(Position = 0, Mandatory = $true)]
[ValidateNotNull()]
[ValidateSet('phalcon3', 'phalcon4')]
[string]
$extension,
[Parameter(Position = 1, Mandatory = $true)]
[ValidateNotNull()]
[ValidateLength(1, [int]::MaxValue)]
[string]
$version
)
$tick = ([char]8730)
$domain = 'https://github.com'
$php_dir = 'C:\tools\php'
$ext_dir = $php_dir + '\ext'
$installed = Get-Php -Path $php_dir
$extension_version = $extension.substring($extension.Length - 1)
$nts = if(! $installed.ThreadSafe ) { "_nts" } else { "" }
$match = Invoke-WebRequest -UseBasicParsing -Uri $domain/phalcon/cphalcon/releases | Select-String -Pattern "href=`"(.*phalcon_x64_.*_php${version}_${extension_version}.*[0-9]${nts}.zip)`""
$zip_file = $match.Matches[0].Groups[1].Value
Invoke-WebRequest -UseBasicParsing -Uri $domain/$zip_file -OutFile $ENV:RUNNER_TOOL_CACHE\phalcon.zip >$null 2>&1
Expand-Archive -Path $ENV:RUNNER_TOOL_CACHE\phalcon.zip -DestinationPath $ENV:RUNNER_TOOL_CACHE\phalcon -Force >$null 2>&1
New-Item -ItemType SymbolicLink -Path $ext_dir\php_phalcon.dll -Target $ENV:RUNNER_TOOL_CACHE\phalcon\php_phalcon.dll >$null 2>&1
Install-Phpextension psr -MinimumStability stable -Path $php_dir
Enable-PhpExtension -Extension phalcon -Path $php_dir
printf "\033[%s;1m%s \033[0m\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "32" $tick $extension "Installed and enabled"

View File

@ -0,0 +1,22 @@
ini_file=$(php --ini | grep "Loaded Configuration" | sed -e "s|.*:s*||" | sed "s/ //g")
find /etc/apt/sources.list.d -type f -name 'ondrej-ubuntu-php*.list' -exec sudo DEBIAN_FRONTEND=noninteractive apt-fast update -o Dir::Etc::sourcelist="{}" ';' >/dev/null 2>&1
curl -s https://packagecloud.io/install/repositories/phalcon/stable/script.deb.sh | sudo bash
sudo DEBIAN_FRONTEND=noninteractive apt-fast install -y php"$2"-dev
sudo DEBIAN_FRONTEND=noninteractive apt-fast install -y php"$2"-psr
for tool in php-config phpize; do
if [ -e "/usr/bin/$tool$2" ]; then
sudo update-alternatives --set $tool /usr/bin/"$tool$2"
fi
done
if [ ! "$(apt-cache search php"$2"-psr)" ]; then
cd ~ && git clone --depth=1 https://github.com/jbboehr/php-psr.git
cd php-psr && sudo /usr/bin/phpize"$2"
./configure --with-php-config=/usr/bin/php-config"$2"
make -j2 && sudo make -j2 install
echo "extension=psr.so" >> "$ini_file"
fi
extension_major_version=$(echo "$1" | grep -i -Po '\d')
extension_version=$(apt-cache policy -- *phalcon | grep -i -Po "$extension_major_version\.\d\.\d.*php$2" | head -n 1)
sudo DEBIAN_FRONTEND=noninteractive apt-fast -o Dpkg::Options::="--force-overwrite" install -y php"$2"-phalcon="$extension_version"

View File

@ -0,0 +1,16 @@
extension=$1
ini_file=$(php -d "date.timezone=UTC" --ini | grep "Loaded Configuration" | sed -e "s|.*:s*||" | sed "s/ //g")
sudo pecl install psr
brew install autoconf automake libtool
git clone https://github.com/phalcon/cphalcon.git
cd cphalcon || echo "could not cd"
git checkout "$(git branch -r | grep -E "origin/${extension: -1}\.\d\.x" | sort -r | head -n 1 | sed "s/ //g")"
sed -i '' 's/zend_ulong/ulong/' build/php7/64bits/phalcon.zep.c
sed -i '' 's/ulong/zend_ulong/' build/php7/64bits/phalcon.zep.c
cd build/php7/64bits && sudo phpize
sudo ./configure --with-php-config=/usr/local/bin/php-config --enable-phalcon
sudo glibtoolize --force
sudo autoreconf
sudo make -i -j6
sudo make install
echo "extension=phalcon.so" >>"$ini_file"

View File

@ -0,0 +1,3 @@
cd ~ && git clone --depth=1 https://github.com/xdebug/xdebug.git
cd xdebug || echo "Failed to clone Xdebug"
sudo ./rebuild.sh

View File

@ -0,0 +1,6 @@
cd ~ && git clone --depth=1 https://github.com/xdebug/xdebug.git
cd xdebug || echo "Failed to clone Xdebug"
sudo phpize
sudo ./configure
sudo make
sudo cp modules/xdebug.so "$(php -i | grep "extension_dir => /opt" | sed -e "s|.*=> s*||")"