mirror of
https://github.com/shivammathur/setup-php.git
synced 2026-09-25 03:15:25 +07:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d20463ddb1 |
@@ -33,7 +33,7 @@ setInterval(()=>{
|
||||
'bash',
|
||||
[
|
||||
'-c',
|
||||
'. "$CACHE_SCRIPT"; add_env() { printf "env %s %s\\n" "$1" "$2"; }; (exit 0) & extension_cache_pid=$!; finish_extension_cache_downloads; test "$extension_cache_memcached_dependencies" = "igbinary msgpack"'
|
||||
'. "$CACHE_SCRIPT"; add_env() { printf "env %s %s\\n" "$1" "$2"; }; enable_extensions() { printf "enable batch %s\\n" "$*"; }; enable_extension() { printf "enable module %s\\n" "$1"; }; php() { echo refreshed; }; (exit 0) & extension_cache_pid=$!; finish_extension_cache_downloads; test "$extension_cache_memcached_dependencies" = "igbinary msgpack"; test "$(cat /tmp/php${version}_extensions)" = refreshed; rm /tmp/php${version}_extensions'
|
||||
],
|
||||
{
|
||||
encoding: 'utf8',
|
||||
@@ -45,6 +45,7 @@ setInterval(()=>{
|
||||
SETUP_PHP_NODE: process.execPath,
|
||||
SETUP_PHP_EXTENSION_PACKS: 'imagick mongodb memcached',
|
||||
extension_cache_dir: cache,
|
||||
version: 'cache-test-' + path.basename(directory),
|
||||
verbose: ''
|
||||
}
|
||||
}
|
||||
@@ -54,6 +55,12 @@ setInterval(()=>{
|
||||
expect(output).toContain('mongodb cache unavailable');
|
||||
expect(output).toContain('env SASL_PATH /cache/imagick');
|
||||
expect(output).not.toContain('env SASL_PATH /cache/mongodb');
|
||||
expect(output).toContain('enable batch imagick igbinary msgpack');
|
||||
expect(output).toContain('enable module memcached');
|
||||
expect(output).not.toContain('enable batch mongodb');
|
||||
expect(output.indexOf('enable batch')).toBeLessThan(
|
||||
output.indexOf('enable module memcached')
|
||||
);
|
||||
expect(fs.existsSync(cache)).toBe(false);
|
||||
} finally {
|
||||
fs.rmSync(directory, {recursive: true, force: true});
|
||||
|
||||
@@ -30,7 +30,7 @@ finish_extension_cache_downloads() {
|
||||
return 0
|
||||
fi
|
||||
local extension variable value index
|
||||
local cache_install_names=() cache_install_pids=()
|
||||
local cache_install_names=() cache_install_pids=() cache_enable_names=()
|
||||
for extension in $SETUP_PHP_EXTENSION_PACKS; do
|
||||
[ -s "$extension_cache_dir/$extension.json" ] || continue
|
||||
# Packs own separate directories and module names. Extract and validate them
|
||||
@@ -55,6 +55,9 @@ finish_extension_cache_downloads() {
|
||||
# can be removed before the action enables its requested extensions.
|
||||
if [ "$extension" = memcached ]; then
|
||||
extension_cache_memcached_dependencies='igbinary msgpack'
|
||||
cache_enable_names+=(igbinary msgpack)
|
||||
else
|
||||
cache_enable_names+=("$extension")
|
||||
fi
|
||||
else
|
||||
cat "$extension_cache_dir/$extension.install.log"
|
||||
@@ -63,6 +66,15 @@ finish_extension_cache_downloads() {
|
||||
done
|
||||
rm -rf "$extension_cache_dir"
|
||||
extension_cache_dir=
|
||||
# Use the normal enabling rules, but overlap independent modules and refresh
|
||||
# the loaded-module list once so later extension checks do not repeat php -m.
|
||||
if [ "${#cache_enable_names[@]}" -gt 0 ]; then
|
||||
enable_extensions "${cache_enable_names[@]}"
|
||||
if [ -n "${extension_cache_memcached_dependencies:-}" ]; then
|
||||
enable_extension memcached extension
|
||||
fi
|
||||
php -m > "/tmp/php${version}_extensions"
|
||||
fi
|
||||
}
|
||||
|
||||
enable_extension_cache_dependencies() {
|
||||
|
||||
Reference in New Issue
Block a user