Compare commits

...

7 commits

Author SHA1 Message Date
rxu
3c81e0cd73
Merge bbfd0385b0 into bdbd0be548 2025-05-02 07:16:03 +00:00
Marc Alexander
bdbd0be548
Merge branch '3.3.x' 2025-05-02 08:32:19 +02:00
Marc Alexander
1b2ac50cfd
Merge pull request #6810 from rxu/ticket/17504
[ticket/17504] Fix tests failure caused by ondrej/php PPA repo label changed
2025-04-28 21:17:23 +02:00
rxu
779bec5fcf
[ticket/17504] Run apt-get update on runner lever rather than in bash scripts
PHPBB-17504
2025-04-28 23:28:05 +07:00
rxu
f512af1823
[ticket/17504] Fix tests
Fix the following apt-get update issue with ondrej/php PPA repo:
Repository 'https://ppa.launchpadcontent.net/ondrej/php/ubuntu noble InRelease'
changed its 'Label' value from '***** The main PPA for supported PHP versions
with many PECL extensions *****' to 'PPA for PHP'

Alternative fix might be: sudo apt update && sudo apt full-upgrade -y

PHPBB-17504
2025-04-28 21:17:57 +07:00
rxu
bbfd0385b0
[ticket/15790] Fix typo in var name.
PHPBB3-15790
2025-01-08 13:13:26 +07:00
rxu
dfcd18b9ce
[ticket/15790] Allow dynamic loading services files for extensions
PHPBB3-15790
2025-01-08 13:13:22 +07:00
6 changed files with 54 additions and 8 deletions

View file

@ -10,5 +10,4 @@
#
set -e
sudo apt-get update
sudo apt-get install -y parallel libimage-exiftool-perl

View file

@ -11,7 +11,6 @@
set -e
set -x
sudo apt-get update
sudo apt-get install -q -y sphinxsearch
DIR=$(dirname "$0")

View file

@ -10,5 +10,4 @@
#
set -e
sudo apt-get update
sudo apt-get install -y expect-dev

View file

@ -11,7 +11,6 @@
set -e
set -x
sudo apt-get update
sudo apt-get install -y nginx coreutils
sudo service nginx stop

View file

@ -28,6 +28,10 @@ jobs:
name: PHP ${{ matrix.php }} - ${{ matrix.db }}
steps:
- name: Update Ubuntu package lists
run: |
sudo apt-get update -y --allow-releaseinfo-change
- name: Checkout repository
uses: actions/checkout@v4
with:
@ -169,6 +173,10 @@ jobs:
- 6379:6379
steps:
- name: Update Ubuntu package lists
run: |
sudo apt-get update -y --allow-releaseinfo-change
- name: Checkout repository
uses: actions/checkout@v4
@ -308,6 +316,10 @@ jobs:
- 6379:6379
steps:
- name: Update Ubuntu package lists
run: |
sudo apt-get update -y --allow-releaseinfo-change
- name: Checkout repository
uses: actions/checkout@v4
@ -412,6 +424,10 @@ jobs:
steps:
- name: Update Ubuntu package lists
run: |
sudo apt-get update -y --allow-releaseinfo-change
- name: Checkout repository
uses: actions/checkout@v4

View file

@ -73,30 +73,38 @@ class extension_base extends Extension
{
$services_directory = false;
$services_file = false;
$additional_services_files = array();
if (file_exists($this->ext_path . 'config/' . $container->getParameter('core.environment') . '/container/environment.yml'))
{
$services_directory = $this->ext_path . 'config/' . $container->getParameter('core.environment') . '/container/';
$services_directory = 'config/' . $container->getParameter('core.environment') . '/container';
$services_file = 'environment.yml';
}
else if (!is_dir($this->ext_path . 'config/' . $container->getParameter('core.environment')))
{
if (file_exists($this->ext_path . 'config/default/container/environment.yml'))
{
$services_directory = $this->ext_path . 'config/default/container/';
$services_directory = 'config/default/container';
$services_file = 'environment.yml';
}
else if (!is_dir($this->ext_path . 'config/default') && file_exists($this->ext_path . '/config/services.yml'))
{
$services_directory = $this->ext_path . 'config';
$services_directory = 'config';
$services_file = 'services.yml';
}
}
if ($services_directory && $services_file)
{
$loader = new YamlFileLoader($container, new FileLocator(filesystem_helper::realpath($services_directory)));
$loader = new YamlFileLoader($container, new FileLocator(filesystem_helper::realpath($this->ext_path . $services_directory)));
$loader->load($services_file);
// Load additional services located in service_ prefixed Yaml files if any
$additional_services_files = $this->getServicesFilenames($services_directory, 'services_');
foreach ($additional_services_files as $file)
{
$loader->load($file);
}
}
}
@ -136,4 +144,30 @@ class extension_base extends Extension
{
return str_replace('/', '_', $this->extension_name);
}
/**
* Gets the array of the Yaml filenames.
*
* @param string $services_directory Directory in the extension folder containing services files
* @param string $services_file_prefix Services files prefix to look for
*
* @return array The services filenames array
*/
public function getServicesFilenames($services_directory, $services_file_prefix = '')
{
$services_files = array();
$finder = new \Symfony\Component\Finder\Finder();
$finder
->name("{$services_file_prefix}*.yml")
->path($services_directory)
->files()
->in($this->ext_path);
foreach ($finder as $file)
{
$services_files[] = $file->getBasename();
}
return $services_files;
}
}