From b9e4bd9c3f3e0839e4caf84bc035b3e4556cd4dd Mon Sep 17 00:00:00 2001 From: berfinyuksel <99557970+berfinyuksel@users.noreply.github.com> Date: Tue, 21 Apr 2026 23:14:33 +0200 Subject: [PATCH 1/2] Update Codeception workflow --- .github/workflows/codeception.yaml | 100 ++++++++++++++++------------- 1 file changed, 55 insertions(+), 45 deletions(-) diff --git a/.github/workflows/codeception.yaml b/.github/workflows/codeception.yaml index 6ccd7d39b..eaff70589 100644 --- a/.github/workflows/codeception.yaml +++ b/.github/workflows/codeception.yaml @@ -1,18 +1,20 @@ name: "Codeception Tests centralised" on: + schedule: + - cron: "0 3 * * 1,3,5" workflow_dispatch: push: branches: - "[0-9]+.[0-9]+" - "[0-9]+.x" - "feature-*" - pull_request: + pull_request_target: types: [opened, synchronize, reopened] env: - PIMCORE_PROJECT_ROOT: ${{ github.workspace }} - PRIVATE_REPO: ${{ github.event.repository.private }} + PIMCORE_PROJECT_ROOT: ${{ github.workspace }} + PRIVATE_REPO: ${{ github.event.repository.private }} jobs: setup-matrix: @@ -22,55 +24,57 @@ jobs: matrix: ${{ steps.set-matrix.outputs.matrix }} private_repo: ${{ env.PRIVATE_REPO }} steps: - - name: Checkout code - uses: actions/checkout@v4 + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.base.ref || github.ref }} - - name: Checkout reusable workflow repo - uses: actions/checkout@v4 - with: - repository: pimcore/workflows-collection-public - ref: main - path: reusable-workflows + - name: Checkout reusable workflow repo + uses: actions/checkout@v4 + with: + repository: pimcore/workflows-collection-public + ref: main + path: reusable-workflows - - name: Parse PHP versions from composer.json - id: parse-php-versions - run: | - if [ -f composer.json ]; then - php_versions=$(jq -r '.require.php' composer.json | grep -oP '\d+\.\d+' | tr '\n' ',' | sed 's/,$//') - if [ -z "$php_versions" ]; then - echo "No PHP versions found in composer.json" - echo "Setting default PHP value" - echo "php_versions=default" >> $GITHUB_OUTPUT - else - echo "php_versions=$php_versions" >> $GITHUB_OUTPUT - echo "#### php versions #### : $php_versions" - fi - else - echo "composer.json not found" - exit 1 - fi + - name: Parse PHP versions from composer.json + id: parse-php-versions + run: | + if [ -f composer.json ]; then + php_versions=$(jq -r ".require.php" composer.json | grep -oP "\d+\.\d+" | tr "\n" "," | sed "s/,$//") + if [ -z "$php_versions" ]; then + echo "No PHP versions found in composer.json" + echo "Setting default PHP value" + echo "php_versions=default" >> $GITHUB_OUTPUT + else + echo "php_versions=$php_versions" >> $GITHUB_OUTPUT + echo "#### php versions #### : $php_versions" + fi + else + echo "composer.json not found" + exit 1 + fi - - name: Set up matrix - id: set-matrix - run: | - php_versions="${{ steps.parse-php-versions.outputs.php_versions }}" + - name: Set up matrix + id: set-matrix + run: | + php_versions="${{ steps.parse-php-versions.outputs.php_versions }}" - MATRIX_JSON=$(cat reusable-workflows/codeception-tests-configuration/matrix-config.json) + MATRIX_JSON=$(cat reusable-workflows/codeception-tests-configuration/matrix-config.json) - IFS=',' read -ra VERSIONS_ARRAY <<< "$php_versions" + IFS="," read -ra VERSIONS_ARRAY <<< "$php_versions" - FILTERED_MATRIX_JSON=$(echo $MATRIX_JSON | jq --arg php_versions "$php_versions" ' - { - matrix: [ - .configs[] | - select(.php_version == $php_versions) | - .matrix[] - ] - }') + FILTERED_MATRIX_JSON=$(echo "$MATRIX_JSON" | jq --arg php_versions "$php_versions" " + { + matrix: [ + .configs[] | + select(.php_version == \$php_versions) | + .matrix[] + ] + }") - ENCODED_MATRIX_JSON=$(echo $FILTERED_MATRIX_JSON | jq -c .) + ENCODED_MATRIX_JSON=$(echo "$FILTERED_MATRIX_JSON" | jq -c .) - echo "matrix=${ENCODED_MATRIX_JSON}" >> $GITHUB_OUTPUT + echo "matrix=${ENCODED_MATRIX_JSON}" >> $GITHUB_OUTPUT codeception-tests: needs: setup-matrix @@ -86,4 +90,10 @@ jobs: SERVER_VERSION: ${{ matrix.matrix.server_version }} DEPENDENCIES: ${{ matrix.matrix.dependencies }} EXPERIMENTAL: ${{ matrix.matrix.experimental }} - PIMCORE_VERSION: ${{ matrix.matrix.pimcore_version }} \ No newline at end of file + PIMCORE_VERSION: ${{ matrix.matrix.pimcore_version }} + secrets: + SSH_PRIVATE_KEY_PIMCORE_DEPLOYMENTS_USER: ${{ secrets.SSH_PRIVATE_KEY_PIMCORE_DEPLOYMENTS_USER }} + COMPOSER_PIMCORE_REPO_PACKAGIST_TOKEN: ${{ secrets.COMPOSER_PIMCORE_REPO_PACKAGIST_TOKEN }} + PIMCORE_INSTANCE_IDENTIFIER: ${{ secrets.PIMCORE_CI_INSTANCE_IDENTIFIER }} + PIMCORE_ENCRYPTION_SECRET: ${{ secrets.PIMCORE_CI_ENCRYPTION_SECRET }} + PIMCORE_PRODUCT_KEY: ${{ secrets.PIMCORE_CI_PRODUCT_KEY }} From 478dbc4aa2ccf9a43e1cc3c737aef0c639df7536 Mon Sep 17 00:00:00 2001 From: berfinyuksel <99557970+berfinyuksel@users.noreply.github.com> Date: Tue, 21 Apr 2026 23:31:07 +0200 Subject: [PATCH 2/2] Use pull_request instead of pull_request_target in Codeception workflow --- .github/workflows/codeception.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeception.yaml b/.github/workflows/codeception.yaml index eaff70589..450b4182c 100644 --- a/.github/workflows/codeception.yaml +++ b/.github/workflows/codeception.yaml @@ -9,7 +9,7 @@ on: - "[0-9]+.[0-9]+" - "[0-9]+.x" - "feature-*" - pull_request_target: + pull_request: types: [opened, synchronize, reopened] env: