ci: validate consolidated workflows (extended path) #5
ci.yml
on: pull_request
Build website (mock data)
5m 17s
Lint, type-check & markdown
1m 50s
Unit tests
1m 3s
Visual regression (Chromatic)
5m 2s
E2E tests
31m 42s
Lighthouse audit
7m 36s
Page visual snapshots (Playwright + Chromatic)
8m 56s
Annotations
10 errors, 7 warnings, and 3 notices
|
[e2e] › tests/e2e/home.spec.ts:19:7 › Home Page › search functionality:
tests/e2e/pages/HomePage.ts#L38
4) [e2e] › tests/e2e/home.spec.ts:19:7 › Home Page › search functionality ────────────────────────
TimeoutError: locator.fill: Timeout 10000ms exceeded.
Call log:
- waiting for getByPlaceholder('Search')
at e2e/pages/HomePage.ts:38
36 | await searchBtn.click()
37 |
> 38 | await this.searchInput.fill(query)
| ^
39 | }
40 |
41 | async verifyNoResults() {
at HomePage.search (/home/runner/work/ethereum-org-website/ethereum-org-website/tests/e2e/pages/HomePage.ts:38:28)
at /home/runner/work/ethereum-org-website/ethereum-org-website/tests/e2e/home.spec.ts:22:5
|
|
[e2e] › tests/e2e/global.spec.ts:31:9 › Global › Error Handling › handles invalid URL with 404 internationalized:
tests/e2e/global.spec.ts#L38
3) [e2e] › tests/e2e/global.spec.ts:31:9 › Global › Error Handling › handles invalid URL with 404 internationalized
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: Timed out 10000ms waiting for expect(locator).toBeVisible()
Locator: getByRole('heading', { name: /No pudimos encontrar esa página/i, level: 1 })
Expected: visible
Received: <element(s) not found>
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByRole('heading', { name: /No pudimos encontrar esa página/i, level: 1 })
36 | name: new RegExp(testData.content.headings.notFoundEs, "i"),
37 | })
> 38 | ).toBeVisible()
| ^
39 | })
40 | })
41 |
at /home/runner/work/ethereum-org-website/ethereum-org-website/tests/e2e/global.spec.ts:38:9
|
|
[e2e] › tests/e2e/global.spec.ts:31:9 › Global › Error Handling › handles invalid URL with 404 internationalized:
tests/e2e/global.spec.ts#L38
3) [e2e] › tests/e2e/global.spec.ts:31:9 › Global › Error Handling › handles invalid URL with 404 internationalized
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: Timed out 10000ms waiting for expect(locator).toBeVisible()
Locator: getByRole('heading', { name: /No pudimos encontrar esa página/i, level: 1 })
Expected: visible
Received: <element(s) not found>
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByRole('heading', { name: /No pudimos encontrar esa página/i, level: 1 })
36 | name: new RegExp(testData.content.headings.notFoundEs, "i"),
37 | })
> 38 | ).toBeVisible()
| ^
39 | })
40 | })
41 |
at /home/runner/work/ethereum-org-website/ethereum-org-website/tests/e2e/global.spec.ts:38:9
|
|
[e2e] › tests/e2e/global.spec.ts:31:9 › Global › Error Handling › handles invalid URL with 404 internationalized:
tests/e2e/global.spec.ts#L38
3) [e2e] › tests/e2e/global.spec.ts:31:9 › Global › Error Handling › handles invalid URL with 404 internationalized
Error: Timed out 10000ms waiting for expect(locator).toBeVisible()
Locator: getByRole('heading', { name: /No pudimos encontrar esa página/i, level: 1 })
Expected: visible
Received: <element(s) not found>
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByRole('heading', { name: /No pudimos encontrar esa página/i, level: 1 })
36 | name: new RegExp(testData.content.headings.notFoundEs, "i"),
37 | })
> 38 | ).toBeVisible()
| ^
39 | })
40 | })
41 |
at /home/runner/work/ethereum-org-website/ethereum-org-website/tests/e2e/global.spec.ts:38:9
|
|
[e2e] › tests/e2e/global.spec.ts:21:9 › Global › Error Handling › handles invalid URL with 404:
tests/e2e/global.spec.ts#L28
2) [e2e] › tests/e2e/global.spec.ts:21:9 › Global › Error Handling › handles invalid URL with 404
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: Timed out 10000ms waiting for expect(locator).toBeVisible()
Locator: getByRole('heading', { name: /We couldn't find that page/i, level: 1 })
Expected: visible
Received: <element(s) not found>
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByRole('heading', { name: /We couldn't find that page/i, level: 1 })
26 | name: new RegExp(testData.content.headings.notFoundEn, "i"),
27 | })
> 28 | ).toBeVisible()
| ^
29 | })
30 |
31 | test("handles invalid URL with 404 internationalized", async ({ page }) => {
at /home/runner/work/ethereum-org-website/ethereum-org-website/tests/e2e/global.spec.ts:28:9
|
|
[e2e] › tests/e2e/global.spec.ts:21:9 › Global › Error Handling › handles invalid URL with 404:
tests/e2e/global.spec.ts#L28
2) [e2e] › tests/e2e/global.spec.ts:21:9 › Global › Error Handling › handles invalid URL with 404
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: Timed out 10000ms waiting for expect(locator).toBeVisible()
Locator: getByRole('heading', { name: /We couldn't find that page/i, level: 1 })
Expected: visible
Received: <element(s) not found>
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByRole('heading', { name: /We couldn't find that page/i, level: 1 })
26 | name: new RegExp(testData.content.headings.notFoundEn, "i"),
27 | })
> 28 | ).toBeVisible()
| ^
29 | })
30 |
31 | test("handles invalid URL with 404 internationalized", async ({ page }) => {
at /home/runner/work/ethereum-org-website/ethereum-org-website/tests/e2e/global.spec.ts:28:9
|
|
[e2e] › tests/e2e/global.spec.ts:21:9 › Global › Error Handling › handles invalid URL with 404:
tests/e2e/global.spec.ts#L28
2) [e2e] › tests/e2e/global.spec.ts:21:9 › Global › Error Handling › handles invalid URL with 404
Error: Timed out 10000ms waiting for expect(locator).toBeVisible()
Locator: getByRole('heading', { name: /We couldn't find that page/i, level: 1 })
Expected: visible
Received: <element(s) not found>
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByRole('heading', { name: /We couldn't find that page/i, level: 1 })
26 | name: new RegExp(testData.content.headings.notFoundEn, "i"),
27 | })
> 28 | ).toBeVisible()
| ^
29 | })
30 |
31 | test("handles invalid URL with 404 internationalized", async ({ page }) => {
at /home/runner/work/ethereum-org-website/ethereum-org-website/tests/e2e/global.spec.ts:28:9
|
|
[e2e] › tests/e2e/global.spec.ts:8:9 › Global › Error Handling › handles invalid search gracefully:
tests/e2e/pages/HomePage.ts#L38
1) [e2e] › tests/e2e/global.spec.ts:8:9 › Global › Error Handling › handles invalid search gracefully
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
TimeoutError: locator.fill: Timeout 10000ms exceeded.
Call log:
- waiting for getByPlaceholder('Search')
at e2e/pages/HomePage.ts:38
36 | await searchBtn.click()
37 |
> 38 | await this.searchInput.fill(query)
| ^
39 | }
40 |
41 | async verifyNoResults() {
at HomePage.search (/home/runner/work/ethereum-org-website/ethereum-org-website/tests/e2e/pages/HomePage.ts:38:28)
at /home/runner/work/ethereum-org-website/ethereum-org-website/tests/e2e/global.spec.ts:13:7
|
|
[e2e] › tests/e2e/global.spec.ts:8:9 › Global › Error Handling › handles invalid search gracefully:
tests/e2e/pages/HomePage.ts#L38
1) [e2e] › tests/e2e/global.spec.ts:8:9 › Global › Error Handling › handles invalid search gracefully
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
TimeoutError: locator.fill: Timeout 10000ms exceeded.
Call log:
- waiting for getByPlaceholder('Search')
at e2e/pages/HomePage.ts:38
36 | await searchBtn.click()
37 |
> 38 | await this.searchInput.fill(query)
| ^
39 | }
40 |
41 | async verifyNoResults() {
at HomePage.search (/home/runner/work/ethereum-org-website/ethereum-org-website/tests/e2e/pages/HomePage.ts:38:28)
at /home/runner/work/ethereum-org-website/ethereum-org-website/tests/e2e/global.spec.ts:13:7
|
|
[e2e] › tests/e2e/global.spec.ts:8:9 › Global › Error Handling › handles invalid search gracefully:
tests/e2e/pages/HomePage.ts#L38
1) [e2e] › tests/e2e/global.spec.ts:8:9 › Global › Error Handling › handles invalid search gracefully
TimeoutError: locator.fill: Timeout 10000ms exceeded.
Call log:
- waiting for getByPlaceholder('Search')
at e2e/pages/HomePage.ts:38
36 | await searchBtn.click()
37 |
> 38 | await this.searchInput.fill(query)
| ^
39 | }
40 |
41 | async verifyNoResults() {
at HomePage.search (/home/runner/work/ethereum-org-website/ethereum-org-website/tests/e2e/pages/HomePage.ts:38:28)
at /home/runner/work/ethereum-org-website/ethereum-org-website/tests/e2e/global.spec.ts:13:7
|
|
Unit tests
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Lint, type-check & markdown
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Visual regression (Chromatic)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Build website (mock data)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Lighthouse audit
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/github-script@v7, marocchino/sticky-pull-request-comment@v2, pnpm/action-setup@v4, treosh/lighthouse-ci-action@v11. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Page visual snapshots (Playwright + Chromatic)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E tests
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4, actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
🎭 Playwright Run Summary
1 skipped
874 passed (8.1s)
|
|
🎭 Playwright Run Summary
51 passed (2.5m)
|
|
🎭 Playwright Run Summary
20 failed
[e2e] › tests/e2e/global.spec.ts:8:9 › Global › Error Handling › handles invalid search gracefully
[e2e] › tests/e2e/global.spec.ts:21:9 › Global › Error Handling › handles invalid URL with 404 ─
[e2e] › tests/e2e/global.spec.ts:31:9 › Global › Error Handling › handles invalid URL with 404 internationalized
[e2e] › tests/e2e/home.spec.ts:19:7 › Home Page › search functionality ─────────────────────────
[e2e] › tests/e2e/start.spec.ts:12:7 › Start Page › wallet modal opens with wallet options ─────
[e2e-webkit] › tests/e2e/global.spec.ts:8:9 › Global › Error Handling › handles invalid search gracefully
[e2e-webkit] › tests/e2e/global.spec.ts:21:9 › Global › Error Handling › handles invalid URL with 404
[e2e-webkit] › tests/e2e/global.spec.ts:31:9 › Global › Error Handling › handles invalid URL with 404 internationalized
[e2e-webkit] › tests/e2e/home.spec.ts:19:7 › Home Page › search functionality ──────────────────
[e2e-webkit] › tests/e2e/start.spec.ts:12:7 › Start Page › wallet modal opens with wallet options
[e2e-mobile-chrome] › tests/e2e/global.spec.ts:8:9 › Global › Error Handling › handles invalid search gracefully
[e2e-mobile-chrome] › tests/e2e/global.spec.ts:21:9 › Global › Error Handling › handles invalid URL with 404
[e2e-mobile-chrome] › tests/e2e/global.spec.ts:31:9 › Global › Error Handling › handles invalid URL with 404 internationalized
[e2e-mobile-chrome] › tests/e2e/home.spec.ts:19:7 › Home Page › search functionality ───────────
[e2e-mobile-chrome] › tests/e2e/start.spec.ts:12:7 › Start Page › wallet modal opens with wallet options
[e2e-mobile-safari] › tests/e2e/global.spec.ts:8:9 › Global › Error Handling › handles invalid search gracefully
[e2e-mobile-safari] › tests/e2e/global.spec.ts:21:9 › Global › Error Handling › handles invalid URL with 404
[e2e-mobile-safari] › tests/e2e/global.spec.ts:31:9 › Global › Error Handling › handles invalid URL with 404 internationalized
[e2e-mobile-safari] › tests/e2e/home.spec.ts:19:7 › Home Page › search functionality ───────────
[e2e-mobile-safari] › tests/e2e/start.spec.ts:12:7 › Start Page › wallet modal opens with wallet options
8 skipped
48 passed (12.4m)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
lighthouse-results
|
21.9 MB |
sha256:c1f6cad598ccc5fc05566d95763f7c0c526ebcdcddba6851a6aea57a717b2166
|
|
|
next-build
Expired
|
482 MB |
sha256:89edcb162f526ed5218fdb68d0e1aa8f35eeaf1529b7d99ba7fc179e48a0db71
|
|
|
playwright-report
|
66 MB |
sha256:a8717aa44109d67375be78fa3c44a85afbf233a1b074f9a3f5631a5aee07ce99
|
|