Skip to content

Commit 8295e60

Browse files
Decouple v2 CI green from Postgres investigation in #427
MySQL is the primary CI gate today; the Postgres suite hangs silently ~70s into the run for reasons tracked under #427 (TD-064). The hang consumes the full 60-minute step timeout with no test-name output because --testdox only prints a test name on completion. That leaves us with a red CI and zero signal to investigate from. Two changes to unblock: 1. `continue-on-error: true` on the Postgres step so MySQL green makes the job green. Tests still run, failures are still visible in the run UI, but the job overall doesn't block other workstreams while the multi-DB workstream is open. 2. `--debug` on the Postgres step so each test prints on entry, not just on completion. When the suite stalls the last test name is the hang point — today we only have "last laravel.log line at 16:08:41" as a breadcrumb. Log upload is now gated on either suite's `outcome == 'failure'` so laravel.log is still captured on Postgres hangs despite the step's continue-on-error. Drop both knobs when #427 closes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 5c931ef commit 8295e60

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

.github/workflows/php.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ jobs:
7777
mysql -e 'CREATE DATABASE testbench' -h127.0.0.1 -uroot -ppassword -P ${{ job.services.mysql.ports[3306] }}
7878
7979
- name: Run test suite (MySQL)
80+
id: mysql_suite
8081
timeout-minutes: 65
8182
run: timeout --foreground 60m vendor/bin/phpunit --testdox --testsuite feature
8283
env:
@@ -85,17 +86,24 @@ jobs:
8586
QUEUE_CONNECTION: redis
8687
XDEBUG_MODE: off
8788

89+
# PostgreSQL suite is currently non-blocking while #427 (TD-064: multi-DB
90+
# support workstream) is open — MySQL is the primary gate. --debug prints
91+
# each test name as it starts so when the suite stalls in CI the hang
92+
# point is visible in the step log instead of hidden behind the 60m
93+
# timeout. Drop continue-on-error (and optionally --debug) when #427 lands.
8894
- name: Run test suite (PostgreSQL)
95+
id: pgsql_suite
96+
continue-on-error: true
8997
timeout-minutes: 65
90-
run: timeout --foreground 60m vendor/bin/phpunit --testdox --testsuite feature
98+
run: timeout --foreground 60m vendor/bin/phpunit --testdox --debug --testsuite feature
9199
env:
92100
DB_CONNECTION: pgsql
93101
DB_PORT: ${{ job.services.postgres.ports[5432] }}
94102
QUEUE_CONNECTION: redis
95103
XDEBUG_MODE: off
96104

97105
- name: Upload laravel.log if tests fail
98-
if: failure()
106+
if: failure() || steps.mysql_suite.outcome == 'failure' || steps.pgsql_suite.outcome == 'failure'
99107
uses: actions/upload-artifact@v4
100108
with:
101109
name: laravel-log

0 commit comments

Comments
 (0)