From fe5e5b889131f43cf6ef63d6024c945fcadecd1f Mon Sep 17 00:00:00 2001 From: Levi van Noort <73097785+levivannoort@users.noreply.github.com> Date: Mon, 11 May 2026 10:17:55 +0200 Subject: [PATCH 1/7] refactor: enhance execution log checks in SitesCustomServerTest --- .../Services/Sites/SitesCustomServerTest.php | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/tests/e2e/Services/Sites/SitesCustomServerTest.php b/tests/e2e/Services/Sites/SitesCustomServerTest.php index 2beae74d3e..4de17e4462 100644 --- a/tests/e2e/Services/Sites/SitesCustomServerTest.php +++ b/tests/e2e/Services/Sites/SitesCustomServerTest.php @@ -2633,6 +2633,7 @@ class SitesCustomServerTest extends Scope // Poll for execution logs to be written (async) // Filter by requestPath to avoid picking up screenshot worker executions + // Wait for both the execution entry AND its logs field to be populated $logs = null; $timeout = 120; $start = \time(); @@ -2642,12 +2643,13 @@ class SitesCustomServerTest extends Scope Query::equal('requestPath', ['/logs-inline'])->toString(), Query::limit(1)->toString(), ]); - if (!empty($logs['body']['executions'])) { + if (!empty($logs['body']['executions']) && !empty($logs['body']['executions'][0]['logs'])) { break; } \usleep(500000); } $this->assertNotEmpty($logs['body']['executions'], 'Execution logs were not available within timeout'); + $this->assertNotNull($logs['body']['executions'][0]['logs'], 'Execution logs content was not populated within timeout'); $this->assertEquals(200, $logs['headers']['status-code']); $this->assertStringContainsString($deploymentId, $logs['body']['executions'][0]['deploymentId']); $this->assertStringContainsString("GET", $logs['body']['executions'][0]['requestMethod']); @@ -2681,11 +2683,20 @@ class SitesCustomServerTest extends Scope $this->assertEquals(200, $response['headers']['status-code']); $this->assertStringContainsString("Action logs printed.", $response['body']); - $logs = $this->listLogs($siteId, [ - Query::orderDesc('$createdAt')->toString(), - Query::equal('requestPath', ['/logs-action'])->toString(), - Query::limit(1)->toString(), - ]); + $logs = null; + $start = \time(); + while (\time() - $start < $timeout) { + $logs = $this->listLogs($siteId, [ + Query::orderDesc('$createdAt')->toString(), + Query::equal('requestPath', ['/logs-action'])->toString(), + Query::limit(1)->toString(), + ]); + if (!empty($logs['body']['executions']) && !empty($logs['body']['executions'][0]['logs'])) { + break; + } + \usleep(500000); + } + $this->assertNotEmpty($logs['body']['executions'], 'Action execution logs were not available within timeout'); $this->assertEquals(200, $logs['headers']['status-code']); $this->assertStringContainsString($deploymentId, $logs['body']['executions'][0]['deploymentId']); $this->assertStringContainsString("GET", $logs['body']['executions'][0]['requestMethod']); From 702a8a83a04331911faf51f9816622c477cbbf51 Mon Sep 17 00:00:00 2001 From: Levi van Noort <73097785+levivannoort@users.noreply.github.com> Date: Mon, 11 May 2026 10:30:08 +0200 Subject: [PATCH 2/7] test: add assertion for action execution logs content in SitesCustomServerTest --- tests/e2e/Services/Sites/SitesCustomServerTest.php | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/e2e/Services/Sites/SitesCustomServerTest.php b/tests/e2e/Services/Sites/SitesCustomServerTest.php index 4de17e4462..a32b990b9e 100644 --- a/tests/e2e/Services/Sites/SitesCustomServerTest.php +++ b/tests/e2e/Services/Sites/SitesCustomServerTest.php @@ -2697,6 +2697,7 @@ class SitesCustomServerTest extends Scope \usleep(500000); } $this->assertNotEmpty($logs['body']['executions'], 'Action execution logs were not available within timeout'); + $this->assertNotNull($logs['body']['executions'][0]['logs'], 'Action execution logs content was not populated within timeout'); $this->assertEquals(200, $logs['headers']['status-code']); $this->assertStringContainsString($deploymentId, $logs['body']['executions'][0]['deploymentId']); $this->assertStringContainsString("GET", $logs['body']['executions'][0]['requestMethod']); From 0fb2e208ab376343b34bda60a36d4ec0941d4a79 Mon Sep 17 00:00:00 2001 From: Levi van Noort <73097785+levivannoort@users.noreply.github.com> Date: Mon, 11 May 2026 10:47:22 +0200 Subject: [PATCH 3/7] chore: add spot=false label to the runs-on based runners --- .github/workflows/ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eb58f7f8cd..cf38e04c8a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -445,19 +445,19 @@ jobs: ] include: - service: Databases - runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g + runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g/spot=false paratest_processes: 3 timeout_minutes: 30 - service: Sites - runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g + runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g/spot=false - service: Functions - runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g + runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g/spot=false - service: Avatars - runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g + runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g/spot=false - service: Realtime - runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g + runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g/spot=false - service: TablesDB - runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g + runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g/spot=false paratest_processes: 3 timeout_minutes: 30 - service: Migrations From d9494820944ca576d9dae0a7f2ed3696d8d136ce Mon Sep 17 00:00:00 2001 From: Levi van Noort <73097785+levivannoort@users.noreply.github.com> Date: Mon, 11 May 2026 11:10:33 +0200 Subject: [PATCH 4/7] chore: set bigger size on database related e2e --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cf38e04c8a..0e13c23bf7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -445,7 +445,7 @@ jobs: ] include: - service: Databases - runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g/spot=false + runner: runs-on=${{ github.run_id }}/runner=8cpu-linux-x64/family=c7/volume=120g/spot=false paratest_processes: 3 timeout_minutes: 30 - service: Sites From d8dbe15cb31dee68ca2d97f2641a0dc2d493c499 Mon Sep 17 00:00:00 2001 From: Levi van Noort <73097785+levivannoort@users.noreply.github.com> Date: Mon, 11 May 2026 13:12:25 +0200 Subject: [PATCH 5/7] chore: update runner configuration for e2e_service jobs in ci workflow --- .github/workflows/ci.yml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0e13c23bf7..2de36bc42f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -406,7 +406,7 @@ jobs: e2e_service: name: Tests / E2E / ${{ matrix.database }} (${{ matrix.mode }}) / ${{ matrix.service }} - runs-on: ${{ matrix.runner || 'ubuntu-latest' }} + runs-on: ${{ matrix.runner || format('runs-on={0}/runner=4cpu-linux-x64/family=c7/volume=120g/spot=false', github.run_id) }} needs: [build, matrix] permissions: contents: read @@ -448,16 +448,7 @@ jobs: runner: runs-on=${{ github.run_id }}/runner=8cpu-linux-x64/family=c7/volume=120g/spot=false paratest_processes: 3 timeout_minutes: 30 - - service: Sites - runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g/spot=false - - service: Functions - runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g/spot=false - - service: Avatars - runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g/spot=false - - service: Realtime - runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g/spot=false - service: TablesDB - runner: runs-on=${{ github.run_id }}/runner=4cpu-linux-x64/family=c7/volume=120g/spot=false paratest_processes: 3 timeout_minutes: 30 - service: Migrations From 5fba2889cb3429bd598c2e4a02cc994a0a18c85c Mon Sep 17 00:00:00 2001 From: Levi van Noort <73097785+levivannoort@users.noreply.github.com> Date: Mon, 11 May 2026 16:58:28 +0200 Subject: [PATCH 6/7] chore: update e2e_service runner configuration to use m7 family --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2de36bc42f..6f81987c47 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -406,7 +406,7 @@ jobs: e2e_service: name: Tests / E2E / ${{ matrix.database }} (${{ matrix.mode }}) / ${{ matrix.service }} - runs-on: ${{ matrix.runner || format('runs-on={0}/runner=4cpu-linux-x64/family=c7/volume=120g/spot=false', github.run_id) }} + runs-on: ${{ matrix.runner || format('runs-on={0}/runner=4cpu-linux-x64/family=m7/volume=120g/spot=false', github.run_id) }} needs: [build, matrix] permissions: contents: read @@ -445,7 +445,7 @@ jobs: ] include: - service: Databases - runner: runs-on=${{ github.run_id }}/runner=8cpu-linux-x64/family=c7/volume=120g/spot=false + runner: runs-on=${{ github.run_id }}/runner=8cpu-linux-x64/family=m7/volume=120g/spot=false paratest_processes: 3 timeout_minutes: 30 - service: TablesDB From 994a4e0fc7a0010d22dbeab81ace6c8c2e990ee6 Mon Sep 17 00:00:00 2001 From: Levi van Noort <73097785+levivannoort@users.noreply.github.com> Date: Mon, 11 May 2026 20:11:08 +0200 Subject: [PATCH 7/7] chore: remove 'family=m7' from e2e_service runner configuration --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6f81987c47..ba7c4cc1be 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -406,7 +406,7 @@ jobs: e2e_service: name: Tests / E2E / ${{ matrix.database }} (${{ matrix.mode }}) / ${{ matrix.service }} - runs-on: ${{ matrix.runner || format('runs-on={0}/runner=4cpu-linux-x64/family=m7/volume=120g/spot=false', github.run_id) }} + runs-on: ${{ matrix.runner || format('runs-on={0}/runner=4cpu-linux-x64/volume=120g/spot=false', github.run_id) }} needs: [build, matrix] permissions: contents: read @@ -445,7 +445,7 @@ jobs: ] include: - service: Databases - runner: runs-on=${{ github.run_id }}/runner=8cpu-linux-x64/family=m7/volume=120g/spot=false + runner: runs-on=${{ github.run_id }}/runner=8cpu-linux-x64/volume=120g/spot=false paratest_processes: 3 timeout_minutes: 30 - service: TablesDB