Commit f009ad0df88 for php.net

commit f009ad0df88760fa5a773bf6ad03825d9339818d
Author: Máté Kocsis <kocsismate@woohoolabs.com>
Date:   Fri Aug 21 22:05:47 2026 +0200

    Optimize the real-time benchmark workflow

    - 2 unnecessary git checkout steps are removed (see https://github.com/kocsismate/php-version-benchmarks/commit/0457886662)
    - Infrastructure destruction is put into a separate step after the PR comment is posted for manually started runs (see https://github.com/kocsismate/php-version-benchmarks/commit/6eb5c35e7b)

diff --git a/.github/workflows/real-time-benchmark.yml b/.github/workflows/real-time-benchmark.yml
index be3a35d47aa..2e223320084 100644
--- a/.github/workflows/real-time-benchmark.yml
+++ b/.github/workflows/real-time-benchmark.yml
@@ -47,8 +47,8 @@ concurrency:
   group: ${{ github.workflow }}-${{ github.event_name }}
   cancel-in-progress: false
 jobs:
-  REAL_TIME_BENCHMARK:
-    name: REAL_TIME_BENCHMARK
+  benchmark:
+    name: Run the benchmark
     if: github.repository == 'php/php-src' || github.event_name == 'workflow_dispatch'
     runs-on: ubuntu-24.04
     env:
@@ -95,7 +95,7 @@ jobs:
             echo "RUN_MICRO_BENCH=${{ inputs.run_micro_bench }}" >> $GITHUB_ENV
           fi

-      - name: Install dependencies
+      - name: Install Terraform
         run: |
           set -e
           sudo apt-get update
@@ -114,20 +114,6 @@ jobs:
           ref: 'main'
           fetch-depth: 1
           path: 'php-version-benchmarks'
-      - name: Checkout php-src (benchmarked version)
-        uses: actions/checkout@v6
-        with:
-          repository: '${{ env.REPOSITORY }}'
-          ref: '${{ env.COMMIT }}'
-          filter: blob:none
-          path: 'php-version-benchmarks/tmp/php_${{ env.ID }}'
-      - name: Checkout php-src (baseline version)
-        uses: actions/checkout@v6
-        with:
-          repository: '${{ env.REPOSITORY }}'
-          ref: '${{ env.BASELINE_COMMIT }}'
-          filter: blob:none
-          path: 'php-version-benchmarks/tmp/php_baseline'
       - name: Setup benchmark results
         run: |
           git config --global user.name "Benchmark"
@@ -175,8 +161,6 @@ jobs:

             PHP_JIT=${{ env.JIT }}
           EOF
-
-          git clone ./php-version-benchmarks/tmp/php_baseline/ ./php-version-benchmarks/tmp/php_baseline_jit
       - name: Setup PHP config - previous PHP version
         if: github.event_name != 'workflow_dispatch'
         run: |
@@ -186,8 +170,8 @@ jobs:
           if [ -f "$DATABASE" ]; then
             LAST_RESULT_SHA="$(tail -n 2 "$DATABASE" | head -n 1 | cut -f 6)"
           else
-            YESTERDAY="$(date -d "-2 day 23:59:59" '+%Y-%m-%d %H:%M:%S')"
-            LAST_RESULT_SHA="$(cd ./php-version-benchmarks/tmp/php_${{ env.ID }}/ && git --no-pager log --until="$YESTERDAY" -n 1 --pretty='%H')"
+            YESTERDAY="$(date -d "-2 day 23:59:59" "+%Y-%m-%dT%H:%M:%SZ")"
+            LAST_RESULT_SHA="$(gh api "/repos/${{ github.repository }}/commits?sha=${{ env.BRANCH }}&until=$YESTERDAY&per_page=1" --jq '.[0].sha')"
           fi

           echo "LAST_RESULT_SHA=$LAST_RESULT_SHA" >> $GITHUB_ENV
@@ -216,23 +200,6 @@ jobs:

             PHP_JIT=0
           EOF
-      - name: Setup PHP config - benchmarked PHP version with JIT
-        if: env.JIT == '1'
-        run: |
-          set -e
-
-          cat << EOF > ./php-version-benchmarks/config/php/this_jit.ini
-            PHP_NAME="PHP - ${{ env.BRANCH }} (JIT)"
-            PHP_ID=php_${{ env.ID }}_jit
-
-            PHP_REPO=${{ github.server_url }}/${{ env.REPOSITORY }}.git
-            PHP_BRANCH=${{ env.BRANCH }}
-            PHP_COMMIT=${{ env.COMMIT }}
-
-            PHP_JIT=${{ env.JIT }}
-          EOF
-
-          git clone ./php-version-benchmarks/tmp/php_${{ env.ID }}/ ./php-version-benchmarks/tmp/php_${{ env.ID }}_jit
       - name: Setup test config
         run: |
           set -e
@@ -281,8 +248,8 @@ jobs:
         run: |
           set -e

-          ./php-version-benchmarks/benchmark.sh run aws
-
+          ./php-version-benchmarks/benchmark.sh run aws --no-destroy
+
           echo "NEWEST_RESULT_DIRECTORY=$(ls -td ${{ github.workspace }}/php-version-benchmarks/docs/results/${{ env.YEAR }}/*/ | head -1)" >> $GITHUB_ENV
       - name: Upload artifacts
         id: upload
@@ -295,7 +262,7 @@ jobs:
       - name: Commit results
         if: github.repository == 'php/php-src' && github.event_name != 'workflow_dispatch'
         run: |
-          set -ex
+          set -e

           cd ./php-version-benchmarks/docs/results
           git pull
@@ -318,5 +285,10 @@ jobs:
         env:
           GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
         run: |
-          cd ./php-version-benchmarks/tmp/php_${{ env.ID }}
           gh pr comment ${{ inputs.pull_request }} --body-file "${NEWEST_RESULT_DIRECTORY}result.md" --repo ${{ github.repository }}
+      - name: Destroy infrastructure
+        if: always()
+        run: |
+          set -e
+
+          ./php-version-benchmarks/benchmark.sh destroy aws