Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 25 additions & 15 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76,20 +76,6 @@ jobs:
integration-tests-postgres:
name: PostgreSQL integration tests
needs: tests
services:
postgres:
image: postgres:14
ports:
- 5432
env:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: testdb
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
--tmpfs /var/lib/postgres
runs-on: "ubuntu-24.04"
timeout-minutes: 60

Expand All @@ -102,7 +88,31 @@ jobs:
- '8.1'

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build and start Postgres (io_method=sync) with Docker Compose
run: |
docker compose -f docker-compose.yml up -d --build postgres

- name: Wait for Postgres to be healthy
run: |
for i in {1..10}; do
if docker exec postgres18rc1-sync pg_isready -U postgres; then
exit 0
fi
echo "Waiting for Postgres..."
sleep 5
done
exit 1

- name: Force disable bitmap scan in Postgres
run: docker exec postgres18rc1-sync psql -U postgres -d testdb -c "ALTER SYSTEM SET enable_bitmapscan = off;"

- name: Restart Postgres
run: docker restart postgres18rc1-sync

- name: Setup PHP Action
uses: shivammathur/setup-php@v2
Expand Down
19 changes: 19 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#version: "3.8"

services:
postgres:
build:
context: ./docker/postgres18-sync
container_name: postgres18rc1-sync
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: testdb
ports:
- "5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
tmpfs:
- /var/lib/postgresql
5 changes: 5 additions & 0 deletions docker/postgres18-sync/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Start from the official PostgreSQL 18 RC1 image
FROM postgres:18rc1

# Override the default CMD so that io_method=sync is always enabled
CMD ["postgres", "-c", "io_method=sync"]
72 changes: 0 additions & 72 deletions phpstan-baseline-7.4.neon
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,6 @@ parameters:
count: 1
path: src/bundle/Core/ApiLoader/StorageConnectionFactory.php

-
message: '#^Parameter \#1 \$input of function array_filter expects array, iterable\<int, Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\VersionInfo\> given\.$#'
identifier: argument.type
count: 1
path: src/bundle/Core/Command/CleanupVersionsCommand.php

-
message: '#^Parameter \#1 \$input of function array_slice expects array, iterable\<int, Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\VersionInfo\> given\.$#'
identifier: argument.type
count: 1
path: src/bundle/Core/Command/CleanupVersionsCommand.php

-
message: '#^Parameter \#1 \$var of function count expects array\|Countable, iterable\<int, Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\VersionInfo\> given\.$#'
identifier: argument.type
count: 1
path: src/bundle/Core/Command/CleanupVersionsCommand.php

-
message: '#^Parameter \#2 \$str of function fwrite expects string, string\|false given\.$#'
identifier: argument.type
Expand Down Expand Up @@ -198,12 +180,6 @@ parameters:
count: 1
path: src/lib/MVC/Symfony/Component/Serializer/AbstractPropertyWhitelistNormalizer.php

-
message: '#^Parameter \#1 \$input of function array_keys expects array, iterable\<int, Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\ContentInfo\> given\.$#'
identifier: argument.type
count: 1
path: src/lib/MVC/Symfony/FieldType/RelationList/ParameterProvider.php

-
message: '#^Parameter \#1 \$arr1 of function array_merge expects array, iterable\<Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\URLAlias\> given\.$#'
identifier: argument.type
Expand Down Expand Up @@ -246,18 +222,6 @@ parameters:
count: 1
path: src/lib/Persistence/Cache/UrlWildcardHandler.php

-
message: '#^Parameter \#2 \$pieces of function implode expects array, array\|bool\|float\|int\|string given\.$#'
identifier: argument.type
count: 1
path: src/lib/Persistence/Legacy/Content/FieldValue/Converter/CountryConverter.php

-
message: '#^Parameter \#2 \$pieces of function implode expects array, array\|float\|int\<min, \-1\>\|int\<1, max\>\|string\|true given\.$#'
identifier: argument.type
count: 1
path: src/lib/Persistence/Legacy/Content/FieldValue/Converter/CountryConverter.php

-
message: '#^Cannot access property \$ownerDocument on DOMElement\|false\.$#'
identifier: property.nonObject
Expand Down Expand Up @@ -360,12 +324,6 @@ parameters:
count: 1
path: src/lib/Search/Legacy/Content/Location/Gateway/CriterionHandler/Ancestor.php

-
message: '#^Parameter \#1 \$object of method ReflectionProperty\:\:getValue\(\) expects object, object\|null given\.$#'
identifier: argument.type
count: 1
path: tests/bundle/Core/DependencyInjection/Compiler/SlugConverterConfigurationPassTest.php

-
message: '#^Parameter \#1 \$var of function count expects array\|Countable, array\|bool\|float\|int\|string\|null given\.$#'
identifier: argument.type
Expand Down Expand Up @@ -414,24 +372,6 @@ parameters:
count: 1
path: tests/integration/Core/Repository/BaseTest.php

-
message: '#^Parameter \#1 \$var of function count expects array\|Countable, iterable\<int, Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Relation\> given\.$#'
identifier: argument.type
count: 4
path: tests/integration/Core/Repository/ContentServiceAuthorizationTest.php

-
message: '#^Parameter \#1 \$array_arg of function usort expects TArray of array, iterable\<int, Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Relation\> given\.$#'
identifier: argument.type
count: 2
path: tests/integration/Core/Repository/ContentServiceTest.php

-
message: '#^Parameter \#1 \$input of function array_keys expects array, iterable\<int, Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\ContentInfo\> given\.$#'
identifier: argument.type
count: 1
path: tests/integration/Core/Repository/ContentServiceTest.php

-
message: '#^Parameter \#1 \$input of function array_values expects array\<T\>, iterable\<Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Location\> given\.$#'
identifier: argument.type
Expand All @@ -450,18 +390,6 @@ parameters:
count: 1
path: tests/integration/Core/Repository/ContentServiceTest.php

-
message: '#^Parameter \#1 \$var of function count expects array\|Countable, iterable\<int, Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Relation\> given\.$#'
identifier: argument.type
count: 1
path: tests/integration/Core/Repository/ContentServiceTest.php

-
message: '#^Parameter \#1 \$var of function count expects array\|Countable, iterable\<int, Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\VersionInfo\> given\.$#'
identifier: argument.type
count: 2
path: tests/integration/Core/Repository/ContentServiceTest.php

-
message: '#^Parameter \#1 \$var of function count expects array\|Countable, iterable\<Ibexa\\Contracts\\Core\\Repository\\Values\\ContentType\\ContentType\> given\.$#'
identifier: argument.type
Expand Down
Loading
Loading