feat(updater): tier 1 — notify admin and pad users of available updates #7601
Annotations
10 errors, 2 warnings, and 1 notice
|
Run the frontend admin tests:
src/tests/frontend-new/admin-spec/update-banner.spec.ts#L69
4) [chromium] › tests/frontend-new/admin-spec/update-banner.spec.ts:43:7 › admin update page › banner appears when latest > current
Error: expect(locator).toBeVisible() failed
Locator: getByText(/update available/i).first()
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 30000ms
- waiting for getByText(/update available/i).first()
67 | await page.goto('http://localhost:9001/admin/');
68 | // Banner copy: "Update available" + "Etherpad 2.7.2 is available (you are running 2.7.1)."
> 69 | await expect(page.getByText(/update available/i).first()).toBeVisible({timeout: 30000});
| ^
70 | await expect(page.getByText(/2\.7\.2/).first()).toBeVisible();
71 | });
72 | });
at /home/runner/work/etherpad/etherpad/src/tests/frontend-new/admin-spec/update-banner.spec.ts:69:63
|
|
Run the frontend admin tests:
src/tests/frontend-new/admin-spec/update-banner.spec.ts#L36
3) [chromium] › tests/frontend-new/admin-spec/update-banner.spec.ts:16:7 › admin update page › update page renders current version when status fetch returns valid payload
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByRole('heading', { name: /etherpad updates/i })
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 30000ms
- waiting for getByRole('heading', { name: /etherpad updates/i })
34 | await page.goto('http://localhost:9001/admin/update');
35 | // h1 from <Trans i18nKey="update.page.title"/> → "Etherpad updates"
> 36 | await expect(page.getByRole('heading', {name: /etherpad updates/i})).toBeVisible({timeout: 30000});
| ^
37 | // Current-version <dd> shows 2.7.1
38 | await expect(page.getByText('2.7.1').first()).toBeVisible();
39 | // up-to-date message because latest is null
at /home/runner/work/etherpad/etherpad/src/tests/frontend-new/admin-spec/update-banner.spec.ts:36:74
|
|
Run the frontend admin tests:
src/tests/frontend-new/admin-spec/update-banner.spec.ts#L36
3) [chromium] › tests/frontend-new/admin-spec/update-banner.spec.ts:16:7 › admin update page › update page renders current version when status fetch returns valid payload
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByRole('heading', { name: /etherpad updates/i })
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 30000ms
- waiting for getByRole('heading', { name: /etherpad updates/i })
34 | await page.goto('http://localhost:9001/admin/update');
35 | // h1 from <Trans i18nKey="update.page.title"/> → "Etherpad updates"
> 36 | await expect(page.getByRole('heading', {name: /etherpad updates/i})).toBeVisible({timeout: 30000});
| ^
37 | // Current-version <dd> shows 2.7.1
38 | await expect(page.getByText('2.7.1').first()).toBeVisible();
39 | // up-to-date message because latest is null
at /home/runner/work/etherpad/etherpad/src/tests/frontend-new/admin-spec/update-banner.spec.ts:36:74
|
|
Run the frontend admin tests:
src/tests/frontend-new/admin-spec/update-banner.spec.ts#L36
3) [chromium] › tests/frontend-new/admin-spec/update-banner.spec.ts:16:7 › admin update page › update page renders current version when status fetch returns valid payload
Error: expect(locator).toBeVisible() failed
Locator: getByRole('heading', { name: /etherpad updates/i })
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 30000ms
- waiting for getByRole('heading', { name: /etherpad updates/i })
34 | await page.goto('http://localhost:9001/admin/update');
35 | // h1 from <Trans i18nKey="update.page.title"/> → "Etherpad updates"
> 36 | await expect(page.getByRole('heading', {name: /etherpad updates/i})).toBeVisible({timeout: 30000});
| ^
37 | // Current-version <dd> shows 2.7.1
38 | await expect(page.getByText('2.7.1').first()).toBeVisible();
39 | // up-to-date message because latest is null
at /home/runner/work/etherpad/etherpad/src/tests/frontend-new/admin-spec/update-banner.spec.ts:36:74
|
|
Run the frontend admin tests:
src/tests/frontend-new/admin-spec/update-banner.spec.ts#L13
2) [chromium] › tests/frontend-new/admin-spec/update-banner.spec.ts:9:7 › admin update page › exposes the update nav link
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByRole('link', { name: /etherpad updates/i })
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 30000ms
- waiting for getByRole('link', { name: /etherpad updates/i })
11 | // Bell-icon link with i18nKey "update.page.title" → label "Etherpad updates".
12 | const link = page.getByRole('link', {name: /etherpad updates/i});
> 13 | await expect(link).toBeVisible({timeout: 30000});
| ^
14 | });
15 |
16 | test('update page renders current version when status fetch returns valid payload', async ({page}) => {
at /home/runner/work/etherpad/etherpad/src/tests/frontend-new/admin-spec/update-banner.spec.ts:13:24
|
|
Run the frontend admin tests:
src/tests/frontend-new/admin-spec/update-banner.spec.ts#L13
2) [chromium] › tests/frontend-new/admin-spec/update-banner.spec.ts:9:7 › admin update page › exposes the update nav link
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByRole('link', { name: /etherpad updates/i })
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 30000ms
- waiting for getByRole('link', { name: /etherpad updates/i })
11 | // Bell-icon link with i18nKey "update.page.title" → label "Etherpad updates".
12 | const link = page.getByRole('link', {name: /etherpad updates/i});
> 13 | await expect(link).toBeVisible({timeout: 30000});
| ^
14 | });
15 |
16 | test('update page renders current version when status fetch returns valid payload', async ({page}) => {
at /home/runner/work/etherpad/etherpad/src/tests/frontend-new/admin-spec/update-banner.spec.ts:13:24
|
|
Run the frontend admin tests:
src/tests/frontend-new/admin-spec/update-banner.spec.ts#L13
2) [chromium] › tests/frontend-new/admin-spec/update-banner.spec.ts:9:7 › admin update page › exposes the update nav link
Error: expect(locator).toBeVisible() failed
Locator: getByRole('link', { name: /etherpad updates/i })
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 30000ms
- waiting for getByRole('link', { name: /etherpad updates/i })
11 | // Bell-icon link with i18nKey "update.page.title" → label "Etherpad updates".
12 | const link = page.getByRole('link', {name: /etherpad updates/i});
> 13 | await expect(link).toBeVisible({timeout: 30000});
| ^
14 | });
15 |
16 | test('update page renders current version when status fetch returns valid payload', async ({page}) => {
at /home/runner/work/etherpad/etherpad/src/tests/frontend-new/admin-spec/update-banner.spec.ts:13:24
|
|
Run the frontend admin tests:
src/tests/frontend-new/admin-spec/admintroubleshooting.spec.ts#L17
1) [chromium] › tests/frontend-new/admin-spec/admintroubleshooting.spec.ts:13:5 › Shows troubleshooting page manager
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toHaveCount(expected) failed
Locator: locator('.menu').locator('li')
Expected: 5
Received: 6
Timeout: 20000ms
Call log:
- Expect "toHaveCount" with timeout 20000ms
- waiting for locator('.menu').locator('li')
24 × locator resolved to 6 elements
- unexpected value "6"
15 | await page.waitForSelector('.menu')
16 | const menu = page.locator('.menu');
> 17 | await expect(menu.locator('li')).toHaveCount(5);
| ^
18 | })
19 |
20 | test('Shows a version number', async function ({page}) {
at /home/runner/work/etherpad/etherpad/src/tests/frontend-new/admin-spec/admintroubleshooting.spec.ts:17:36
|
|
Run the frontend admin tests:
src/tests/frontend-new/admin-spec/admintroubleshooting.spec.ts#L17
1) [chromium] › tests/frontend-new/admin-spec/admintroubleshooting.spec.ts:13:5 › Shows troubleshooting page manager
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toHaveCount(expected) failed
Locator: locator('.menu').locator('li')
Expected: 5
Received: 6
Timeout: 20000ms
Call log:
- Expect "toHaveCount" with timeout 20000ms
- waiting for locator('.menu').locator('li')
24 × locator resolved to 6 elements
- unexpected value "6"
15 | await page.waitForSelector('.menu')
16 | const menu = page.locator('.menu');
> 17 | await expect(menu.locator('li')).toHaveCount(5);
| ^
18 | })
19 |
20 | test('Shows a version number', async function ({page}) {
at /home/runner/work/etherpad/etherpad/src/tests/frontend-new/admin-spec/admintroubleshooting.spec.ts:17:36
|
|
Run the frontend admin tests:
src/tests/frontend-new/admin-spec/admintroubleshooting.spec.ts#L17
1) [chromium] › tests/frontend-new/admin-spec/admintroubleshooting.spec.ts:13:5 › Shows troubleshooting page manager
Error: expect(locator).toHaveCount(expected) failed
Locator: locator('.menu').locator('li')
Expected: 5
Received: 6
Timeout: 20000ms
Call log:
- Expect "toHaveCount" with timeout 20000ms
- waiting for locator('.menu').locator('li')
24 × locator resolved to 6 elements
- unexpected value "6"
15 | await page.waitForSelector('.menu')
16 | const menu = page.locator('.menu');
> 17 | await expect(menu.locator('li')).toHaveCount(5);
| ^
18 | })
19 |
20 | test('Shows a version number', async function ({page}) {
at /home/runner/work/etherpad/etherpad/src/tests/frontend-new/admin-spec/admintroubleshooting.spec.ts:17:36
|
|
Complete job
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: SamTV12345/gnpm-setup@main. 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/
|
|
Run actions/upload-artifact@v7
No files were found with the provided path: src/playwright-report/. No artifacts will be uploaded.
|
|
Run the frontend admin tests
4 failed
[chromium] › tests/frontend-new/admin-spec/admintroubleshooting.spec.ts:13:5 › Shows troubleshooting page manager
[chromium] › tests/frontend-new/admin-spec/update-banner.spec.ts:9:7 › admin update page › exposes the update nav link
[chromium] › tests/frontend-new/admin-spec/update-banner.spec.ts:16:7 › admin update page › update page renders current version when status fetch returns valid payload
[chromium] › tests/frontend-new/admin-spec/update-banner.spec.ts:43:7 › admin update page › banner appears when latest > current
3 did not run
5 passed (6.1m)
|
Loading