mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-18 04:44:53 +08:00
* improve swoole static build config * improve swoole static build config * improve swoole static build config * improve swoole static build config * improve swoole static build config * add cares config * update swoole depend config * update swoole depend config * update cares build config * update workflow tests.yaml config * fix setup-runtime * test with clang build * test with clang build * update cares build config * test * test * test * test * test * test * test * test * test * test * test * test * test * test * update cares license * test build * test build * test build * test build * test add enable libpq * test add enable libpq * test add enable libpq * test add enable libpq * test add enable libpq * test add enable libpq * test add enable libpq * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * update * update * update * update * update * update * update * update * update * compatible old * fix code format * fix code format * add swoole test case * add swoole test case * add phpstan ignore error * add phpstan ignore error * add phpstan ignore error * add phpstan ignore error * add phpstan ignore error * update phpstan.neon * update swoole extension test case * update swoole test case * adjust config order and depends * revert LinuxBuilder * remove swoole.phpt * re-adjust swoole args * update test-extensions and some PHPDoc * revert: debian and alpine clang doctor install * revert: MacOSBuilder * fix: extract hook for archive not working * revert: build tests * use addon mode to swoole database hook * add hook tests * test minimal * test minimal * sort config --------- Co-authored-by: crazywhalecc <jesse2061@outlook.com>
57 lines
2.3 KiB
PHP
57 lines
2.3 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* This is GitHub Actions automatic test extension args generator.
|
|
* You can edit $extensions, $with_libs and $base_combination.
|
|
*/
|
|
|
|
// --------------------------------- edit area ---------------------------------
|
|
|
|
// If you want to test your added extensions and libs, add below (comma separated, example `bcmath,openssl`).
|
|
$extensions = 'swoole,swoole-hook-pgsql,swoole-hook-mysql,swoole-hook-sqlite';
|
|
|
|
// If you want to test lib-suggests feature with extension, add them below (comma separated, example `libwebp,libavif`).
|
|
$with_libs = '';
|
|
|
|
// Please change your test base combination. We recommend testing with `common`.
|
|
// You can use `common`, `bulk`, `minimal` or `none`.
|
|
$base_combination = 'minimal';
|
|
|
|
// -------------------------- code area, do not modify --------------------------
|
|
|
|
/**
|
|
* get combination for tests, do not modify it if not necessary.
|
|
*/
|
|
function _getCombination(string $type = 'common'): string
|
|
{
|
|
return match ($type) {
|
|
'common' => 'bcmath,bz2,calendar,ctype,curl,dom,exif,fileinfo,filter,ftp,gd,gmp,iconv,xml,mbstring,mbregex,' .
|
|
'mysqlnd,openssl,pcntl,pdo,pdo_mysql,pdo_sqlite,phar,posix,redis,session,simplexml,soap,sockets,' .
|
|
'sqlite3,tokenizer,xmlwriter,xmlreader,zlib,zip',
|
|
'bulk' => 'apcu,bcmath,bz2,calendar,ctype,curl,dba,dom,event,exif,fileinfo,filter,ftp,gd,gmp,iconv,imagick,imap,' .
|
|
'intl,mbregex,mbstring,mysqli,mysqlnd,opcache,openssl,pcntl,pdo,pdo_mysql,pdo_pgsql,pdo_sqlite,pgsql,phar,' .
|
|
'posix,protobuf,readline,redis,session,shmop,simplexml,soap,sockets,sodium,sqlite3,swoole,sysvmsg,sysvsem,' .
|
|
'sysvshm,tokenizer,xml,xmlreader,xmlwriter,xsl,zip,zlib',
|
|
'minimal' => 'pcntl,posix,mbstring,tokenizer,phar',
|
|
default => '', // none
|
|
};
|
|
}
|
|
|
|
if (!isset($argv[1])) {
|
|
exit("Please use 'extensions', 'cmd' or 'libs' as output type");
|
|
}
|
|
|
|
$trim_value = "\r\n \t,";
|
|
|
|
$final_extensions = trim(trim($extensions, $trim_value) . ',' . _getCombination($base_combination), $trim_value);
|
|
$final_libs = trim($with_libs, $trim_value);
|
|
|
|
echo match ($argv[1]) {
|
|
'extensions' => $final_extensions,
|
|
'libs' => $final_libs,
|
|
'cmd' => $final_extensions . ($final_libs === '' ? '' : (' --with-libs=' . $final_libs)),
|
|
default => '',
|
|
};
|