Skip to content

Commit 18582e0

Browse files
berfinyukselbluvulturekingjia90robertSt7markus-moser
authored
Codeception fix (#597)
* Apply php-cs-fixer changes * Update PHP version requirement in composer.json (#538) * Update PHP version requirement in composer.json * update composer --------- Co-authored-by: robertSt7 <robert.steinkellner@pimcore.com> * [Task]: Prepare for 2026 (#540) * Fix: change namespace for AppliocationLogger * Docs: add upgrade notes * Static analysis unified fix * Static analysis unified fix * Static analysis unified fix * Static analysis unified fix * Automatic frontend build * [Task] Fix Studio routing, update composer dependencies, fix stan issues, fix codeception * Improve: Removing ExtJS / Classis Admin UI related implementations * Improve: Removing ExtJS * [Task] Remove ExtJS/AdminClassic * Fix formatting of studio-ui-bundle dependency * [Task] Fix Studio routing, update composer dependencies, fix stan issues, fix codeception * [Task] Fix Studio routing, update composer dependencies, fix stan issues, fix codeception * [Task] Fix Studio routing, update composer dependencies, fix stan issues, fix codeception * [Task] Fix Studio routing, update composer dependencies, fix stan issues, fix codeception --------- Co-authored-by: Shonster88 <nebojsa.ilic@pimcore.com> * studio frontend build turned reusable (#548) * chore: replace reusable-workflows branch references with main (#543) Co-authored-by: berfin-yueksel <99557970+berfin-yueksel@users.noreply.github.com> * php cs fixer error fixed (#547) * Apply php-cs-fixer changes * codeowner created to protect workflows from unwanted changes (#546) * Update Studio Frontend Build workflow (#549) * [Improvement] Use configurable messenger transport DSN parameter (#551) * feat: use messenger transport DSN parameter for installer support Replace hardcoded doctrine://default transport DSN with the %pimcore.messenger.transport_dsn% container parameter so the messenger transport is configurable via the PIMCORE_MESSENGER_TRANSPORT_DSN env var written by the installer. * docs: add upgrade notes for messenger DSN parameterization * [Improvement] Remove ?queue_name= from transport DSN for concatenation support (#553) Update messenger transport DSN to use parameter concatenation instead of hardcoded query string. The queue name separator is now part of the DSN env var, enabling support for AMQP and Redis transports. * [Improvement] Rename PIMCORE_MESSENGER_TRANSPORT_DSN to PIMCORE_MESSENGER_TRANSPORT_DSN_PREFIX (#566) * [Task]: Bump phpspreadsheet version requirement (#534) * Update phpspreadsheet version requirement * Remove pimcore/admin-ui-classic-bundle dependency * Change pimcore/data-hub version to dev-remove-admin-classic * Automatic frontend build * Update composer.json --------- Co-authored-by: kingjia90 <6014195+kingjia90@users.noreply.github.com> * Apply php-cs-fixer changes * Automatic frontend build * Remove doctrine enum mapping (#569) * [TASK] Remove enum mapping * [Task] Update doctrine/dbal * Automatic frontend build --------- Co-authored-by: jcPimcore <259032526+jcPimcore@users.noreply.github.com> * Apply php-cs-fixer changes * Automatic frontend build * [Task] Refactor legacy AdminUI implementations (#578) * Apply php-cs-fixer changes * Apply @internal, final annotations and PHP 8 modernization (#579) * Apply @internal, final annotations and PHP 8 modernization across 122 files - Add @internal annotation to non-public-API classes - Add final to concrete classes (respecting inheritance chains) - Event classes: final but NOT @internal (public API for listeners) - Exception classes: final only, NOT @internal (public API for catching) - Abstract classes: @internal but NOT final, keep protected visibility - Public extension point interfaces left unchanged (not @internal) PHP 8 modernization: - Constructor promotion where constructors just assign params to properties - Change protected to private on final classes (properties, methods, params) - Add readonly on properties only written in constructor and never reassigned - Add readonly class where ALL properties are readonly and no constants exist - Add explicit visibility to constants on final classes - Add type declarations to properties where constructor params have type hints Key inheritance chains preserved (parent NOT final): - JsonFileInterpreter <- SqlFileInterpreter - Direct (DataTarget) <- ManyToManyRelation - QuantityValue <- InputQuantityValue / QuantityValueArray <- InputQuantityValueArray - ImportAsset <- LoadAsset - AbstractLoad <- AttributeStrategy, IdStrategy, PathStrategy - AbstractOperator / GeopolyAbstractOperator <- operator classes - AbstractInterpreter <- interpreter classes - ParallelizationAbstractCommand <- ParallelProcessQueueCommand - AbstractDataObjectImportEvent <- PostSaveEvent, PreSaveEvent, ProcessElementExceptionEvent * Fix PHPStan errors: constant visibility, nullable types - QueueService::QUEUE_TABLE_NAME back to public (accessed by migrations) - XmlFileInterpreter::$xpath: remove null from type (never assigned null) - Installer::getLastMigrationVersionClassName(): remove null from return type - ConfigDataObjectController::saveAction(): remove null from return type * Fix PHPStan and Codeception errors: dead code removal, constant visibility PHPStan: - PimcoreDataImporterBundle::getInstaller(): remove null from return type - ImportPreparationService: remove unused SCHEDULE_TYPE_CRON/JOB constants - FindOrCreateFolderStrategy: remove unused properties (findStrategy, attributeDataObjectClassId, attributeName, attributeLanguage) and empty loadById() method - FindParentStrategy: remove empty unused loadById() method Codeception: - StaticText::MODE_APPEND/MODE_PREPEND: change back to public const (accessed by tests) * Fix SonarQube issues: line length, constant naming, parameter naming S103 (line length): - AsCountries: split constructor to multi-line - TransformationDataTypeService: split method signature to multi-line - ImportProcessingService: split method signature to multi-line S115 (constant naming convention): - Rename snake_case constants to UPPER_SNAKE_CASE in all 5 CompilerPass classes (cleanup_tag -> CLEANUP_TAG, etc.) S117 (parameter naming convention): - DummyDataCommand: rename $xml_data to $xmlData * Apply php-cs-fixer changes * fix: migrate ESLint to v9 flat config and remove unused devDependencies (#586) * fix: migrate ESLint to v9 flat config and remove unused devDependencies * Apply eslint-fixer changes * Automatic frontend build * Automatic frontend build * Automatic frontend build * Doc refactoring (#587) * fixing typos, spelling, grammar and links * [Task] Update upgrade notes for 2026.1 * Automatic frontend build * updated screens --------- Co-authored-by: jcPimcore <jochen.califice@pimcore.com> Co-authored-by: jcPimcore <259032526+jcPimcore@users.noreply.github.com> * Apply php-cs-fixer changes * Automatic frontend build * Apply php-cs-fixer changes * Automatic frontend build * Fix setup-matrix checkout to use PR base branch ref On pull_request_target, the checkout was reading composer.json from the default branch instead of the PR's target branch, causing wrong PHP versions in the test matrix. * Automatic frontend build * Apply php-cs-fixer changes * Automatic frontend build * Automatic frontend build * Automatic frontend build * Automatic frontend build --------- Co-authored-by: bluvulture <7668379+bluvulture@users.noreply.github.com> Co-authored-by: JiaJia Ji <kingjia90@gmail.com> Co-authored-by: robertSt7 <robert.steinkellner@pimcore.com> Co-authored-by: robertSt7 <104770750+robertSt7@users.noreply.github.com> Co-authored-by: nebojsa.ilic <nebojsa.ilic@pimcore.com> Co-authored-by: markus-moser <markus.moser@pimcore.com> Co-authored-by: markus-moser <4639428+markus-moser@users.noreply.github.com> Co-authored-by: JochenC <jochen.califice@pimcore.com> Co-authored-by: berfin-yueksel <99557970+berfin-yueksel@users.noreply.github.com> Co-authored-by: Marco <89011527+mcop1@users.noreply.github.com> Co-authored-by: kingjia90 <6014195+kingjia90@users.noreply.github.com> Co-authored-by: lukmzig <lukas.mzigot@pimcore.com> Co-authored-by: lukmzig <30526586+lukmzig@users.noreply.github.com> Co-authored-by: jcPimcore <259032526+jcPimcore@users.noreply.github.com> Co-authored-by: Christian Fasching <christian.fasching@pimcore.com> Co-authored-by: fashxp <8792145+fashxp@users.noreply.github.com> Co-authored-by: Christian Fasching <fashxp@users.noreply.github.com> Co-authored-by: Martin Eiber <martin.eiber@pimcore.com> Co-authored-by: martineiber <11687066+martineiber@users.noreply.github.com> Co-authored-by: xIrusux <christine.altmann@gmx.com> Co-authored-by: xIrusux <42359615+xIrusux@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent f88786f commit 18582e0

277 files changed

Lines changed: 9129 additions & 22911 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.github/workflows/ @bluvulture @berfinyuksel
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?php
22

33
return [
4-
\Pimcore\Bundle\AdminBundle\PimcoreAdminBundle::class => ['all' => true],
5-
\Pimcore\Bundle\DataImporterBundle\PimcoreDataImporterBundle::class => ['all' => true]
4+
Pimcore\Bundle\DataImporterBundle\PimcoreDataImporterBundle::class => ['all' => true],
5+
Pimcore\Bundle\StudioBackendBundle\PimcoreStudioBackendBundle::class => ['all' => true],
6+
Pimcore\Bundle\StudioUiBundle\PimcoreStudioUiBundle::class => ['all' => true],
67
];

.github/ci/files/config/packages/security.yaml

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,12 @@ security:
1414
provider: pimcore_admin
1515
http_basic: ~
1616

17-
pimcore_admin: '%pimcore_admin_bundle.firewall_settings%'
17+
pimcore_studio: '%pimcore_studio_backend.firewall_settings%'
1818

1919
access_control:
2020
# Pimcore admin ACl // DO NOT CHANGE!
21-
- { path: ^/admin/settings/display-custom-logo, roles: PUBLIC_ACCESS }
22-
- { path: ^/admin/login/2fa-verify, roles: IS_AUTHENTICATED_2FA_IN_PROGRESS }
23-
- { path: ^/admin/login/2fa-setup, roles: ROLE_PIMCORE_USER }
24-
- { path: ^/admin/login/2fa, roles: IS_AUTHENTICATED_2FA_IN_PROGRESS }
25-
- { path: ^/admin/login$, roles: PUBLIC_ACCESS }
26-
- { path: ^/admin/login/(login|lostpassword|deeplink|csrf-token)$, roles: PUBLIC_ACCESS }
27-
- { path: ^/admin, roles: ROLE_PIMCORE_USER }
21+
- { path: ^/pimcore-studio/api/(docs|docs/json|translations|user/reset-password)$, roles: PUBLIC_ACCESS }
22+
- { path: ^/pimcore-studio/api, roles: ROLE_PIMCORE_USER }
2823

2924
role_hierarchy:
3025
# Pimcore admin // DO NOT CHANGE!

.github/ci/files/config/packages/test/config.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ doctrine:
2323
user: ~
2424
password: ~
2525
mapping_types:
26-
enum: string
2726
bit: boolean
2827

2928
pimcore:

.github/workflows/codeception.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ jobs:
2626
steps:
2727
- name: Checkout code
2828
uses: actions/checkout@v4
29+
with:
30+
ref: ${{ github.event.pull_request.base.ref || github.ref }}
2931

3032
- name: Checkout reusable workflow repo
3133
uses: actions/checkout@v4

.github/workflows/new-static-analysis.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ jobs:
8484
private_repo: ${{ needs.setup-matrix.outputs.private_repo }}
8585
APP_ENV: test
8686
PIMCORE_TEST: 1
87-
REQUIRE_ADMIN_BUNDLE: "true"
8887
COVERAGE: "none"
8988
secrets:
9089
SSH_PRIVATE_KEY_PIMCORE_DEPLOYMENTS_USER: ${{ secrets.SSH_PRIVATE_KEY_PIMCORE_DEPLOYMENTS_USER }}
Lines changed: 7 additions & 146 deletions
Original file line numberDiff line numberDiff line change
@@ -1,156 +1,17 @@
11
name: "Studio Frontend Build"
2-
2+
33
on:
44
push:
5-
branches:
6-
- "[0-9]+.[0-9]+"
7-
- "[0-9]+.x"
8-
- "feature-*"
9-
- "nightly"
10-
- "studio"
115
paths:
126
- "assets/studio/**"
13-
pull_request_target:
14-
branches:
15-
- "[0-9]+.[0-9]+"
16-
- "[0-9]+.x"
17-
- "*_actions"
18-
- "feature-*"
19-
- "nightly"
7+
pull_request:
208
paths:
219
- "assets/studio/**"
2210
workflow_dispatch:
23-
24-
env:
25-
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
26-
11+
2712
permissions:
28-
contents: read
29-
13+
contents: write
14+
3015
jobs:
31-
install:
32-
runs-on: ubuntu-latest
33-
34-
steps:
35-
- name: Checkout code
36-
uses: actions/checkout@v4
37-
with:
38-
ref: ${{ env.BRANCH_NAME }}
39-
repository: ${{ github.event.pull_request.head.repo.full_name }}
40-
41-
- name: Set up Node.js
42-
uses: actions/setup-node@v4
43-
with:
44-
node-version: 22
45-
46-
- name: Cache npm dependencies
47-
uses: actions/cache@v4
48-
with:
49-
path: ./assets/studio/node_modules
50-
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
51-
restore-keys: |
52-
${{ runner.os }}-node-
53-
- name: Install dependencies
54-
working-directory: ./assets/studio
55-
run: npm ci
56-
57-
lint:
58-
needs: install
59-
runs-on: ubuntu-latest
60-
61-
permissions:
62-
contents: write
63-
64-
steps:
65-
- name: Checkout code
66-
uses: actions/checkout@v4
67-
with:
68-
ref: ${{ env.BRANCH_NAME }}
69-
repository: ${{ github.event.pull_request.head.repo.full_name }}
70-
71-
- name: Set up Node.js
72-
uses: actions/setup-node@v4
73-
with:
74-
node-version: 22
75-
76-
- name: Cache npm dependencies
77-
uses: actions/cache@v4
78-
with:
79-
path: ./assets/studio/node_modules
80-
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
81-
restore-keys: |
82-
${{ runner.os }}-node-
83-
- name: Run code linting
84-
working-directory: ./assets/studio
85-
run: npm run lint-fix
86-
87-
- uses: stefanzweifel/git-auto-commit-action@v5
88-
with:
89-
commit_message: Apply eslint-fixer changes
90-
91-
check-types:
92-
needs: install
93-
runs-on: ubuntu-latest
94-
95-
permissions:
96-
contents: write
97-
98-
steps:
99-
- name: Checkout code
100-
uses: actions/checkout@v4
101-
with:
102-
ref: ${{ env.BRANCH_NAME }}
103-
repository: ${{ github.event.pull_request.head.repo.full_name }}
104-
105-
- name: Set up Node.js
106-
uses: actions/setup-node@v4
107-
with:
108-
node-version: 22
109-
110-
- name: Cache npm dependencies
111-
uses: actions/cache@v4
112-
with:
113-
path: ./assets/studio/node_modules
114-
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
115-
restore-keys: |
116-
${{ runner.os }}-node-
117-
- name: Run code linting
118-
working-directory: ./assets/studio
119-
run: npm run check-types
120-
121-
build:
122-
needs:
123-
- lint
124-
- check-types
125-
runs-on: ubuntu-latest
126-
127-
permissions:
128-
contents: write
129-
130-
steps:
131-
- name: Checkout code
132-
uses: actions/checkout@v4
133-
with:
134-
ref: ${{ env.BRANCH_NAME }}
135-
repository: ${{ github.event.pull_request.head.repo.full_name }}
136-
137-
- name: Set up Node.js
138-
uses: actions/setup-node@v4
139-
with:
140-
node-version: 22
141-
142-
- name: Cache npm dependencies
143-
uses: actions/cache@v4
144-
with:
145-
path: ./assets/studio/node_modules
146-
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
147-
restore-keys: |
148-
${{ runner.os }}-node-
149-
- name: Run production build
150-
working-directory: ./assets/studio
151-
run: npm run build
152-
153-
- uses: stefanzweifel/git-auto-commit-action@v5
154-
with:
155-
file_pattern: './src/Resources/public/studio/'
156-
commit_message: Automatic frontend build
16+
studio-frontend-build:
17+
uses: pimcore/workflows-collection-public/.github/workflows/reusable-studio-frontend-build.yaml@main

.php-cs-fixer.cache

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

assets/studio/.eslintrc.js

Lines changed: 0 additions & 92 deletions
This file was deleted.

0 commit comments

Comments
 (0)