From ffe580d52d657288c1c37880fc6be96f13a0fbe1 Mon Sep 17 00:00:00 2001 From: sachinsharma Date: Tue, 11 Aug 2026 18:12:42 -0700 Subject: [PATCH 1/3] Drop old package versions that predate PHP 8.1 requirement Remove version ranges for packages that support PHP 7.x/8.0: - nesbot/carbon: drop ^2.72.6 (PHP 7.4+), keep ^3.8.4 (PHP 8.1+) - symfony/filesystem: drop ^5.4.45 (PHP 7.2.5+), keep ^6.4.13+ - symfony/http-client: drop ^5.4.53 (PHP 7.2.5+), keep ^6.4.17+ - symfony/process: drop ^5.4.51 (PHP 7.2.5+), keep ^6.4.15+ Closes #698 --- composer.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index 90f9c970a..a01eab30e 100644 --- a/composer.json +++ b/composer.json @@ -29,7 +29,7 @@ "grpc/grpc": "^1.57", "internal/destroy": "^1.0", "internal/promise": "^3.4", - "nesbot/carbon": "^2.72.6 || ^3.8.4", + "nesbot/carbon": "^3.8.4", "psr/log": "^2.0 || ^3.0.2", "ramsey/uuid": "^4.7.6", "roadrunner-php/roadrunner-api-dto": "^1.14.0", @@ -39,10 +39,10 @@ "spiral/roadrunner-cli": "^2.6", "spiral/roadrunner-kv": "^4.3.1", "spiral/roadrunner-worker": "^3.6.2", - "symfony/filesystem": "^5.4.45 || ^6.4.13 || ^7.0 || ^8.0", - "symfony/http-client": "^5.4.53 || ^6.4.17 || ^7.0 || ^8.0", + "symfony/filesystem": "^6.4.13 || ^7.0 || ^8.0", + "symfony/http-client": "^6.4.17 || ^7.0 || ^8.0", "symfony/polyfill-php83": "^1.31.0", - "symfony/process": "^5.4.51 || ^6.4.15 || ^7.0 || ^8.0" + "symfony/process": "^6.4.15 || ^7.0 || ^8.0" }, "autoload": { "psr-4": { From b4b053c5be24be227f7fc1114d2e02b56535d40a Mon Sep 17 00:00:00 2001 From: sachinsharma Date: Mon, 17 Aug 2026 11:24:05 -0700 Subject: [PATCH 2/3] Bump Symfony minimum versions to match resolve constraints The validate-prefer-lowest check fails because the declared minimums (6.4.13 for filesystem, 6.4.15 for process) cannot be installed with --prefer-lowest due to transitive dependency constraints. Updated to the actual lowest resolvable versions (6.4.24 and 6.4.33). --- composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index a01eab30e..38d5085e8 100644 --- a/composer.json +++ b/composer.json @@ -39,10 +39,10 @@ "spiral/roadrunner-cli": "^2.6", "spiral/roadrunner-kv": "^4.3.1", "spiral/roadrunner-worker": "^3.6.2", - "symfony/filesystem": "^6.4.13 || ^7.0 || ^8.0", + "symfony/filesystem": "^6.4.24 || ^7.0 || ^8.0", "symfony/http-client": "^6.4.17 || ^7.0 || ^8.0", "symfony/polyfill-php83": "^1.31.0", - "symfony/process": "^6.4.15 || ^7.0 || ^8.0" + "symfony/process": "^6.4.33 || ^7.0 || ^8.0" }, "autoload": { "psr-4": { From 60235c3d8cebf159c477b5a0ca51831fcd0af573 Mon Sep 17 00:00:00 2001 From: sachinsharma Date: Mon, 17 Aug 2026 12:43:59 -0700 Subject: [PATCH 3/3] Cache runtime binaries to avoid GitHub API rate limits The dload binary downloader uses GitHub API to find and download release assets for RoadRunner, Temporal CLI, and Temporal test server. When many CI jobs run concurrently, the 5000 req/hr rate limit is exhausted causing widespread failures. Cache the extracted binaries keyed on the dload.xml configuration hash. --- .github/workflows/run-test-suite.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/run-test-suite.yml b/.github/workflows/run-test-suite.yml index 2c4461c41..d13189163 100644 --- a/.github/workflows/run-test-suite.yml +++ b/.github/workflows/run-test-suite.yml @@ -100,8 +100,22 @@ jobs: run: vendor/bin/validate-prefer-lowest continue-on-error: true - - name: Download binaries + - name: Cache runtime binaries + id: cache-binaries if: inputs.download-binaries == true + uses: actions/cache@v4 + with: + path: | + ./rr + ./rr.exe + ./temporal + ./temporal.exe + ./temporal-test-server + ./temporal-test-server.exe + key: ${{ runner.os }}-binaries-${{ hashFiles('dload.xml') }} + + - name: Download binaries + if: inputs.download-binaries == true && steps.cache-binaries.outputs.cache-hit != 'true' run: composer get:binaries - name: Run tests