Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/4.6' into temp_1.3_to_4.6
Browse files Browse the repository at this point in the history
  • Loading branch information
Nattfarinn committed Aug 7, 2024
2 parents 9a62410 + 8a676dc commit cac2b16
Show file tree
Hide file tree
Showing 5,684 changed files with 382,095 additions and 306,695 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
6 changes: 3 additions & 3 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
| ---------------------------------------- | ------------------
| **JIRA issue** | [IBX-XXXX](https://issues.ibexa.co/browse/IBX-XXXX)
| **Type** | feature/bug/improvement
| **Target Ibexa version** | `v3.3`
| **Target Ibexa version** | `v4.0`
| **BC breaks** | yes/no

<!-- Replace this comment with Pull Request description -->
Expand All @@ -11,6 +11,6 @@
- [ ] Provided PR description.
- [ ] Tested the solution manually.
- [ ] Provided automated test coverage.
- [ ] Checked that target branch is set correctly (master for features, the oldest supported for bugs).
- [ ] Checked that target branch is set correctly (main for features, the oldest supported for bugs).
- [ ] Ran PHP CS Fixer for new PHP code (use `$ composer fix-cs`).
- [ ] Asked for a review (ping `@ezsystems/engineering-team`).
- [ ] Asked for a review (ping `@ibexa/engineering`).
1 change: 0 additions & 1 deletion .github/workflows/browser-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ jobs:
uses: ibexa/gh-workflows/.github/workflows/browser-tests.yml@main
with:
project-edition: 'oss'
project-version: '^3.3.x-dev'
test-setup-phase-1: '--mode=standard --profile=core --suite=setup'
test-suite: "--mode=standard --profile=core --tags='~@broken&&~@setup'"
secrets:
Expand Down
9 changes: 4 additions & 5 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: CI
on:
push:
branches:
- master
- main
- '[0-9]+.[0-9]+'
pull_request: ~

Expand Down Expand Up @@ -42,7 +42,6 @@ jobs:
fail-fast: false
matrix:
php:
- '7.3'
- '7.4'
- '8.0'
- '8.1'
Expand Down Expand Up @@ -98,7 +97,6 @@ jobs:
fail-fast: false
matrix:
php:
- '7.3'
- '7.4'
- '8.0'
- '8.1'
Expand Down Expand Up @@ -224,7 +222,9 @@ jobs:
coverage: none

- name: Add solr dependency
run: composer require --no-update "ezsystems/ezplatform-solr-search-engine:^3.3@dev"
run: |
VERSION=$(jq -r '.extra | ."branch-alias" | ."dev-main"' < composer.json)
composer require --no-update "ibexa/solr:$VERSION"
- uses: "ramsey/composer-install@v1"
with:
Expand All @@ -236,4 +236,3 @@ jobs:
CUSTOM_CACHE_POOL: singleredis
CACHE_HOST: 127.0.0.1
CORES_SETUP: single

74 changes: 74 additions & 0 deletions .github/workflows/gha-docker-solr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Build and publish Solr Docker image
on:
workflow_dispatch:
inputs:
force:
default: false
required: false
type: boolean
description: "Push new image even when tests fail"
schedule:
- cron: "45 21 3 * *"

env:
IMAGE_NAME: ghcr.io/ibexa/core/solr

jobs:
build-and-publish:
runs-on: "ubuntu-20.04"
permissions:
packages: write
services:
redis:
image: redis
ports:
- 6379:6379
options:
--memory=60m
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Build Solr image
run: docker build -t "$IMAGE_NAME:latest" docker/solr

- name: Start Solr image
run: |
docker run --health-cmd "solr status" \
--health-interval 10s --health-timeout 5s --health-retries 10 \
-d -p 8983:8983 "$IMAGE_NAME:latest"
- name: Setup PHP Action
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
coverage: none

- name: Add solr dependency
run: |
VERSION=$(jq -r '.extra | ."branch-alias" | ."dev-main"' < composer.json)
composer require --no-update "ibexa/solr:$VERSION"
- uses: "ramsey/composer-install@v2"
with:
dependency-versions: "highest"

- name: Run integration test suite
run: composer test-integration-solr
continue-on-error: ${{ inputs.force != '' }}
env:
CUSTOM_CACHE_POOL: singleredis
CACHE_HOST: 127.0.0.1
CORES_SETUP: single

- name: Log in to the Container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Push image
run: docker push "$IMAGE_NAME"

1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
config.php
doc/apidoc/
docblox.xml
composer.phar
Expand Down
23 changes: 0 additions & 23 deletions .php-cs-fixer.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,31 +11,8 @@
->setFinder(
PhpCsFixer\Finder::create()
->in([
__DIR__ . '/eZ',
__DIR__ . '/src',
__DIR__ . '/tests',
])
->exclude(
[
'Bundle/EzPublishCoreBundle/Tests/DependencyInjection/Fixtures',
'Publish/API/Repository/Tests/FieldType/_fixtures',
'Publish/API/Repository/Tests/_fixtures',
'Publish/Core/FieldType/Tests/Url/Gateway/_fixtures',
'Publish/Core/IO/Tests/_fixtures',
'Publish/Core/MVC/Symfony/Templating/Tests/Twig/Extension/_fixtures',
'Publish/Core/Persistence/Legacy/Tests/Content/Location/Gateway/_fixtures',
'Publish/Core/Persistence/Legacy/Tests/Content/Type/Gateway/_fixtures',
'Publish/Core/Persistence/Legacy/Tests/Content/Type/_fixtures',
'Publish/Core/Persistence/Legacy/Tests/Content/UrlAlias/Gateway/_fixtures',
'Publish/Core/Persistence/Legacy/Tests/Content/UrlAlias/_fixtures',
'Publish/Core/Persistence/Legacy/Tests/Content/UrlWildcard/Gateway/_fixtures',
'Publish/Core/Persistence/Legacy/Tests/Content/_fixtures',
'Publish/Core/Persistence/Legacy/Tests/_fixtures',
'Publish/Core/Persistence/Tests/TransformationProcessor/_fixtures',
'Publish/Core/Repository/Tests/Service/Integration/Legacy/_fixtures',
'Publish/Core/Search/Legacy/Tests/_fixtures',
'Publish/SPI/Tests/FieldType/_fixtures',
]
)
->files()->name('*.php')
);
2 changes: 1 addition & 1 deletion .sonarcloud.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sonar.exclusions=**/Tests/**/_fixtures/*
sonar.exclusions=tests/**/_fixtures/**/*
2 changes: 1 addition & 1 deletion COPYRIGHT
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (C) 1999-2021 Ibexa AS (formerly eZ Systems AS). All rights reserved.
Copyright (C) 1999-2024 Ibexa AS (formerly eZ Systems AS). All rights reserved.

This source code is available separately under the following licenses:

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (C) 1999-2021 Ibexa AS (formerly eZ Systems AS). All rights reserved.
Copyright (C) 1999-2024 Ibexa AS (formerly eZ Systems AS). All rights reserved.

This source code is available separately under the following licenses:

Expand Down
23 changes: 11 additions & 12 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,14 @@ Ibexa Kernel also aims to provide additional features for the MVC layer (Symfony
## Current Organization

MVC layer:
- [eZ/Bundle](eZ/Bundle) - the bundles that are important to expose the functionality of the Backend and MVC layer to Symfony.
- [eZ/Publish/Core/MVC](eZ/Publish/Core/MVC) - the parts that make up the different components extending Symfony.
- [eZ/Publish/Core/Pagination](eZ/Publish/Core/Pagination) - a component extending PagerFanta for pagination of eZ Platform search queries.
- [src/bundle](src/bundle) - the bundles that are important to expose the functionality of the Backend and MVC layer to Symfony.
- [src/lib/MVC](src/lib/MVC) - the parts that make up the different components extending Symfony.
- [src/lib/Pagination](src/lib/Pagination) - a component extending PagerFanta for pagination of Ibexa search queries.

Backend:
- [eZ/Publish/API](eZ/Publish/API) - the definition of stable interfaces for the PHP *Public* API, mainly Content *Repository API*.
- [eZ/Publish/SPI/Persistence](eZ/Publish/SPI/Persistence) - a layer which is not frozen yet, meaning it might change in between releases. Those are persistence interfaces for Storage Engine.
- [eZ/Publish/SPI](eZ/Publish/SPI) - (anything other than Persistence) is frozen and has a Backward Compatibility promise of Service Provider Interface, meaning no breaking changes both from consumption and implementation POV.
- [eZ/Publish/Core](eZ/Publish/Core) - implementations of both APIs and SPIs; the naming aims to map to name of the interface they implement. For example, `Core\Persistence\Legacy` being implementation of `SPI\Persistence`.
- [src/contracts](src/contracts) - the definition of stable interfaces for the PHP *Public* API, mainly Content *Repository API*.
- [src/contracts/Persistence](src/contracts/Persistence) - a layer which is not frozen yet, meaning it might change in between releases. Those are persistence interfaces for Storage Engine.
- [src/lib](src/lib) - implementations of API Contracts; the naming aims to map to name of the interface they implement. For example, `Ibexa\Core\Persistence\Legacy` being implementation of `Ibexa\Contracts\Core\Persistence`.

## Testing Locally

Expand All @@ -34,15 +33,15 @@ For Contributing to this Bundle, you should make sure to run both unit and integ

```bash
# Note: Change the line below to the ssh format of your fork to create topic branches to propose as pull requests
git clone https://github.com/ezsystems/ezplatform-kernel.git
cd ezplatform-kernel
git clone https://github.com/ibexa/core.git
cd core
composer install
```
2. Run unit tests:

At this point you should be able to run unit tests:
```bash
php -d memory_limit=-1 vendor/bin/phpunit
composer unit
```

3. Run integration tests:
Expand All @@ -51,10 +50,10 @@ For Contributing to this Bundle, you should make sure to run both unit and integ
# If you want to test against mysql or postgres instead of sqlite, define one of these with reference to an empty test db:
# export DATABASE="mysql://root@localhost/$DB_NAME"
# export DATABASE="pgsql://postgres@localhost/$DB_NAME"
php -d memory_limit=-1 vendor/bin/phpunit -c phpunit-integration-legacy.xml
composer integration
```

To run integration tests against Solr, see [Solr Search Engine Bundle for Ibexa DXP](https://github.com/ezsystems/ezplatform-solr-search-engine).
To run integration tests against Solr, see [Solr Search Engine Bundle for Ibexa DXP](https://github.com/ibexa/solr-search-engine).

## COPYRIGHT

Expand Down
47 changes: 0 additions & 47 deletions appveyor.yml

This file was deleted.

20 changes: 0 additions & 20 deletions bin/extract-translations.sh

This file was deleted.

23 changes: 1 addition & 22 deletions bootstrap.php
Original file line number Diff line number Diff line change
@@ -1,33 +1,12 @@
<?php

/**
* File containing the bootstrapping of eZ Publish API for unit test use.
*
* Setups class loading.
*
* @copyright Copyright (C) eZ Systems AS. All rights reserved.
* @copyright Copyright (C) Ibexa AS. All rights reserved.
* @license For full copyright and license information view LICENSE file distributed with this source code.
*/

use Symfony\Bridge\PhpUnit\ClockMock;
use Symfony\Component\HttpFoundation\Request;

// Get global config.php settings

if (!file_exists(__DIR__ . '/config.php')) {
if (!symlink(__DIR__ . '/config.php-DEVELOPMENT', __DIR__ . '/config.php')) {
throw new \RuntimeException('Could not symlink config.php-DEVELOPMENT to config.php. Copy config.php-DEVELOPMENT to config.php and customize it to your needs.');
}
}

if (!($settings = include(__DIR__ . '/config.php'))) {
throw new \RuntimeException('Could not read config.php. Copy config.php-DEVELOPMENT to config.php and customize it to your needs.');
}

// Class alias used for BC
// Enables old code which still extends non namespaced TestCase to work
class_alias('PHPUnit\Framework\TestCase', 'PHPUnit_Framework_TestCase');

// Register ClockMock for Request class before any tests are run
// https://github.com/symfony/symfony/issues/28259
ClockMock::register(Request::class);
Expand Down
Loading

0 comments on commit cac2b16

Please sign in to comment.