feat(core): adapt new lifecycle #49154
build-test.yml
on: pull_request
Build Server native
7m 47s
Build AFFiNE native (x86_64-unknown-linux-gnu)
7m 48s
Copilot test filter
11s
Matrix: build-native-macos
Matrix: build-native-windows
Mobile native build filter
8s
Build @affine/electron renderer
57s
Rust test filter
7s
Matrix: Analyze
Matrix: E2E BlockSuite Test
Matrix: E2E Mobile Test
Matrix: E2E Test
Lint
3m 14s
Typecheck
1m 41s
Check yarn binary
10s
E2E BlockSuite Cross Browser Test
3m 26s
Matrix: Server Test
Check Git Status
0s
Server Test with Elasticsearch
0s
Server Test with Embedded Search
0s
Server Test with Manticore Search
0s
Server E2E Test
0s
Matrix: Unit Test
Matrix: cloud-e2e-test
Matrix: Frontend Copilot E2E Test
Build Android app
7m 47s
Test Android app
7m 48s
Build iOS app
7m 54s
Matrix: desktop-test
3, 2, 1 Launch
3s
Annotations
57 errors, 36 warnings, and 9 notices
|
Lint Rust
Process completed with exit code 1.
|
|
e2e/clipboard/list.spec.ts:310:1 › paste non-nested lists to a nested list:
tests/blocksuite/e2e/utils/asserts.ts#L171
4) e2e/clipboard/list.spec.ts:310:1 › paste non-nested lists to a nested list ────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 2
+ Received + 2
Array [
- "123",
- "456aaa",
+ "aaa123",
+ "456",
"bbb",
]
Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
at utils/asserts.ts:171
169 |
170 | export async function assertRichTexts(page: Page, texts: string[]) {
> 171 | await expect
| ^
172 | .poll(async () => {
173 | return page.evaluate(() => {
174 | const editorHost = document.querySelector('editor-host');
at assertRichTexts (/home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/utils/asserts.ts:171:3)
at /home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/clipboard/list.spec.ts:345:3
|
|
e2e/clipboard/list.spec.ts:136:1 › paste a nested list to a nested list:
tests/blocksuite/e2e/utils/asserts.ts#L171
3) e2e/clipboard/list.spec.ts:136:1 › paste a nested list to a nested list ───────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 2
+ Received + 2
Array [
"aaa",
- "aaa",
+ "bbbaaa",
"bbb",
- "cccbbb",
+ "ccc",
"ccc",
]
Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
at utils/asserts.ts:171
169 |
170 | export async function assertRichTexts(page: Page, texts: string[]) {
> 171 | await expect
| ^
172 | .poll(async () => {
173 | return page.evaluate(() => {
174 | const editorHost = document.querySelector('editor-host');
at assertRichTexts (/home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/utils/asserts.ts:171:3)
at /home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/clipboard/list.spec.ts:168:3
|
|
e2e/bookmark.spec.ts:343:1 › bookmark can be dragged from note to surface top level block:
tests/blocksuite/e2e/utils/actions/drag.ts#L188
2) e2e/bookmark.spec.ts:343:1 › bookmark can be dragged from note to surface top level block ─────
Error:
at utils/actions/drag.ts:188
186 | .boundingBox();
187 | if (!handle) {
> 188 | throw new Error();
| ^
189 | }
190 | await page.mouse.move(
191 | handle.x + handle.width / 2,
at dragBlockToPoint (/home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/utils/actions/drag.ts:188:11)
at /home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/bookmark.spec.ts:359:3
|
|
e2e/attachment.spec.ts:187:1 › should rename attachment works:
tests/blocksuite/e2e/attachment.spec.ts#L73
1) e2e/attachment.spec.ts:187:1 › should rename attachment works ─────────────────────────────────
TimeoutError: page.waitForEvent: Timeout 5000ms exceeded while waiting for event "filechooser"
=========================== logs ===========================
waiting for event "filechooser"
============================================================
71 | await expect(slashMenu).toBeVisible();
72 |
> 73 | const fileChooser = page.waitForEvent('filechooser');
| ^
74 | await pressEnter(page);
75 | await sleep(100);
76 | await (await fileChooser).setFiles(FILE_PATH);
at insertAttachment (/home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/attachment.spec.ts:73:30)
at /home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/attachment.spec.ts:205:3
|
|
e2e/linked-page.spec.ts:586:3 › linked page with clipboard › paste linked page should paste as linked page:
tests/blocksuite/e2e/linked-page.spec.ts#L602
2) e2e/linked-page.spec.ts:586:3 › linked page with clipboard › paste linked page should paste as linked page
Error: expect(string).toMatchSnapshot(expected) failed
@@ -17,11 +17,11 @@
"reference": {
"pageId": "3",
"type": "LinkedPage"
}
},
- "insert": " "
+ "insert": " "
}
]
},
"type": "text"
},
Snapshot: paste linked page should paste as linked page.json
600 | await pasteByKeyboard(page);
601 | const json = await getPageSnapshot(page, true);
> 602 | expect(json).toMatchSnapshot(`${testInfo.title}.json`);
| ^
603 | });
604 |
605 | test('duplicated linked page should paste as linked page', async ({
at /home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/linked-page.spec.ts:602:18
|
|
e2e/link.spec.ts:145:1 › type character in link should not jump out link node:
tests/blocksuite/e2e/link.spec.ts#L153
1) e2e/link.spec.ts:145:1 › type character in link should not jump out link node ─────────────────
Error: expect(string).toMatchSnapshot(expected) failed
@@ -11,17 +11,17 @@
"collapsed": false,
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
- "insert": "Hello"
+ "insert": "IN_LINKHello"
},
{
"attributes": {
"link": "http://example.com"
},
- "insert": "link texIN_LINKt"
+ "insert": "link text"
}
]
},
"type": "text"
},
Snapshot: type character in link should not jump out link node.json
151 | await page.keyboard.press('ArrowLeft');
152 | await type(page, 'IN_LINK');
> 153 | expect(await getPageSnapshot(page, true)).toMatchSnapshot(
| ^
154 | `${testInfo.title}.json`
155 | );
156 | });
at /home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/link.spec.ts:153:45
|
|
[Mobile Chrome] › e2e/explorer-tag.spec.ts:58:1 › create a tag from navigation panel:
tests/kit/src/mobile.ts#L17
1) [Mobile Chrome] › e2e/explorer-tag.spec.ts:58:1 › create a tag from navigation panel ──────────
Error: expect(locator).toBeVisible() failed
Locator: locator('.affine-page-viewport[data-mode="page"]')
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 30000ms
- waiting for locator('.affine-page-viewport[data-mode="page"]')
at ../../kit/src/mobile.ts:17
15 | await page.goto('/');
16 | const editor = page.locator('.affine-page-viewport[data-mode="page"]');
> 17 | await expect(editor).toBeVisible({
| ^
18 | timeout: 30 * 1000,
19 | });
20 | await page.goto('/');
at Object.page (/home/runner/work/AFFiNE/AFFiNE/tests/kit/src/mobile.ts:17:26)
|
|
e2e/selection/native.spec.ts:1408:1 › should select with shift-click:
tests/blocksuite/e2e/selection/native.spec.ts#L1419
5) e2e/selection/native.spec.ts:1408:1 › should select with shift-click ──────────────────────────
Error: expect(received).toContain(expected) // indexOf
Expected substring: "4567"
Received string: ""
1417 | modifiers: ['Shift'],
1418 | });
> 1419 | expect(await getSelectedText(page)).toContain('4567');
| ^
1420 | });
1421 |
1422 | test('should collapse to end when press arrow-right on multi-line selection', async ({
at /home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/selection/native.spec.ts:1419:39
|
|
e2e/selection/block.spec.ts:156:1 › click the list icon can select and copy:
tests/blocksuite/e2e/utils/asserts.ts#L171
4) e2e/selection/block.spec.ts:156:1 › click the list icon can select and copy ───────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 1
+ Received + 1
Array [
"123",
"456",
- "789123",
+ "123789",
]
Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
at utils/asserts.ts:171
169 |
170 | export async function assertRichTexts(page: Page, texts: string[]) {
> 171 | await expect
| ^
172 | .poll(async () => {
173 | return page.evaluate(() => {
174 | const editorHost = document.querySelector('editor-host');
at assertRichTexts (/home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/utils/asserts.ts:171:3)
at /home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/selection/block.spec.ts:167:3
|
|
e2e/paragraph.spec.ts:656:1 › delete at start of paragraph immediately following list:
tests/blocksuite/e2e/utils/asserts.ts#L608
3) e2e/paragraph.spec.ts:656:1 › delete at start of paragraph immediately following list ─────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 1
+ Received + 1
Array [
"text",
- "text",
+ "bulleted",
]
at utils/asserts.ts:608
606 | );
607 | });
> 608 | expect(actual).toEqual(blockTypes);
| ^
609 | }
610 |
611 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html';
at assertBlockTypes (/home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/utils/asserts.ts:608:18)
at /home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/paragraph.spec.ts:691:3
|
|
e2e/paragraph.spec.ts:656:1 › delete at start of paragraph immediately following list:
tests/blocksuite/e2e/utils/asserts.ts#L608
3) e2e/paragraph.spec.ts:656:1 › delete at start of paragraph immediately following list ─────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 1
+ Received + 1
Array [
"text",
- "text",
+ "bulleted",
]
at utils/asserts.ts:608
606 | );
607 | });
> 608 | expect(actual).toEqual(blockTypes);
| ^
609 | }
610 |
611 | type MimeType = 'text/plain' | 'blocksuite/x-c+w' | 'text/html';
at assertBlockTypes (/home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/utils/asserts.ts:608:18)
at /home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/paragraph.spec.ts:691:3
|
|
e2e/paragraph.spec.ts:559:1 › paragraph with child block should work at enter:
tests/blocksuite/e2e/paragraph.spec.ts#L577
2) e2e/paragraph.spec.ts:559:1 › paragraph with child block should work at enter ─────────────────
Error: expect(string).toMatchSnapshot(expected) failed
@@ -2,30 +2,27 @@
"children": [
{
"children": [
{
"children": [
- {
- "children": [
- ],
- "flavour": "affine:paragraph",
- "id": "4",
- "props": {
- "collapsed": false,
- "text": {
- "$blocksuite:internal:text$": true,
- "delta": [
- {
- "insert": "789"
- }
- ]
- },
- "type": "text"
- },
- "type": "block",
- "version": 1
+ ],
+ "flavour": "affine:paragraph",
+ "id": "2",
+ "props": {
+ "collapsed": false,
+ "text": {
+ "$blocksuite:internal:text$": true,
+ "delta": [
+ ]
},
+ "type": "text"
+ },
+ "type": "block",
+ "version": 1
+ },
+ {
+ "children": [
{
"children": [
],
"flavour": "affine:paragraph",
"id": "3",
@@ -44,18 +41,18 @@
"type": "block",
"version": 1
}
],
"flavour": "affine:paragraph",
- "id": "2",
+ "id": "4",
"props": {
"collapsed": false,
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
- "insert": "123"
+ "insert": "789123"
}
]
},
"type": "text"
},
Snapshot: paragraph with child block should work at enter_final.json
575 | await pressEnter(page);
576 | await type(page, '789');
> 577 | expect(await getPageSnapshot(page, true)).toMatchSnapshot(
| ^
578 | `${testInfo.title}_final.json`
579 | );
580 | });
at /home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/paragraph.spec.ts:577:45
|
|
e2e/list.spec.ts:497:1 › enter list block with non-empty text:
tests/blocksuite/e2e/utils/asserts.ts#L418
1) e2e/list.spec.ts:497:1 › enter list block with non-empty text ─────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 5
+ Received + 1
- Array [
- "6",
- "3",
- "4",
- ]
+ Array []
Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
at utils/asserts.ts:418
416 | ids: string[]
417 | ) {
> 418 | await expect
| ^
419 | .poll(async () => {
420 | return page.evaluate(
421 | ({ blockId }) => {
at assertBlockChildrenIds (/home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/utils/asserts.ts:418:3)
at /home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/list.spec.ts:518:3
|
|
[Mobile Safari] › e2e/home.spec.ts:18:1 › stale first-open state still restores one local workspace:
tests/affine-mobile/e2e/home.spec.ts#L44
2) [Mobile Safari] › e2e/home.spec.ts:18:1 › stale first-open state still restores one local workspace
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByRole('searchbox')
Expected: visible
Timeout: 15000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 15000ms
- waiting for getByRole('searchbox')
42 | `http://localhost:8080/workspace/${firstWorkspace?.id ?? ''}/home`
43 | );
> 44 | await expect(page.getByRole('searchbox')).toBeVisible();
| ^
45 | await page
46 | .locator('[data-testid="workspace-selector-trigger"]:visible')
47 | .click();
at /home/runner/work/AFFiNE/AFFiNE/tests/affine-mobile/e2e/home.spec.ts:44:45
|
|
[Mobile Safari] › e2e/home.spec.ts:18:1 › stale first-open state still restores one local workspace:
tests/affine-mobile/e2e/home.spec.ts#L44
2) [Mobile Safari] › e2e/home.spec.ts:18:1 › stale first-open state still restores one local workspace
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByRole('searchbox')
Expected: visible
Timeout: 15000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 15000ms
- waiting for getByRole('searchbox')
42 | `http://localhost:8080/workspace/${firstWorkspace?.id ?? ''}/home`
43 | );
> 44 | await expect(page.getByRole('searchbox')).toBeVisible();
| ^
45 | await page
46 | .locator('[data-testid="workspace-selector-trigger"]:visible')
47 | .click();
at /home/runner/work/AFFiNE/AFFiNE/tests/affine-mobile/e2e/home.spec.ts:44:45
|
|
[Mobile Safari] › e2e/home.spec.ts:18:1 › stale first-open state still restores one local workspace:
tests/affine-mobile/e2e/home.spec.ts#L44
2) [Mobile Safari] › e2e/home.spec.ts:18:1 › stale first-open state still restores one local workspace
Error: expect(locator).toBeVisible() failed
Locator: getByRole('searchbox')
Expected: visible
Timeout: 15000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 15000ms
- waiting for getByRole('searchbox')
42 | `http://localhost:8080/workspace/${firstWorkspace?.id ?? ''}/home`
43 | );
> 44 | await expect(page.getByRole('searchbox')).toBeVisible();
| ^
45 | await page
46 | .locator('[data-testid="workspace-selector-trigger"]:visible')
47 | .click();
at /home/runner/work/AFFiNE/AFFiNE/tests/affine-mobile/e2e/home.spec.ts:44:45
|
|
[Mobile Safari] › e2e/detail.spec.ts:32:1 › switch to edgeless mode:
tests/affine-mobile/e2e/detail.spec.ts#L37
1) [Mobile Safari] › e2e/detail.spec.ts:32:1 › switch to edgeless mode ───────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: locator('.affine-edgeless-viewport')
Expected: visible
Timeout: 15000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 15000ms
- waiting for locator('.affine-edgeless-viewport')
35 |
36 | await page.getByRole('button', { name: 'Default to Edgeless mode' }).click();
> 37 | await expect(page.locator('.affine-edgeless-viewport')).toBeVisible();
| ^
38 | });
39 |
40 | test('can show doc info', async ({ page }) => {
at /home/runner/work/AFFiNE/AFFiNE/tests/affine-mobile/e2e/detail.spec.ts:37:59
|
|
e2e/drag.spec.ts:509:1 › should get to selected block when dragging unselected block:
tests/blocksuite/e2e/drag.spec.ts#L549
1) e2e/drag.spec.ts:509:1 › should get to selected block when dragging unselected block ──────────
Error: expect(locator).toHaveCount(expected) failed
Locator: locator('affine-block-selection').filter({ visible: true })
Expected: 1
Received: 0
Timeout: 5000ms
Call log:
- Expect "toHaveCount" with timeout 5000ms
- waiting for locator('affine-block-selection').filter({ visible: true })
9 × locator resolved to 0 elements
- unexpected value "0"
547 | await page.mouse.up();
548 |
> 549 | await expect(blockSelections).toHaveCount(1);
| ^
550 |
551 | // FIXME(DND)
552 | // await assertRichTexts(page, ['456', '123']);
at /home/runner/work/AFFiNE/AFFiNE/tests/blocksuite/e2e/drag.spec.ts:549:33
|
|
Run native tests
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
Run native tests
The operation was canceled.
|
|
E2E Test (5)
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
E2E Test (5)
The operation was canceled.
|
|
Build AFFiNE native (aarch64-pc-windows-msvc)
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
Build AFFiNE native (aarch64-pc-windows-msvc)
No files were found with the provided path: E:\AFFiNE/packages/frontend/native/affine.win32-arm64-msvc.node. No artifacts will be uploaded.
|
|
Build AFFiNE native (aarch64-pc-windows-msvc)
The operation was canceled.
|
|
E2E Test (1)
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
E2E Test (1)
The operation was canceled.
|
|
E2E Test (3)
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
E2E Test (3)
The operation was canceled.
|
|
Build Server native
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
Build Server native
No files were found with the provided path: ./packages/backend/native/server-native.node. No artifacts will be uploaded.
|
|
Build Server native
The operation was canceled.
|
|
Build AFFiNE native (x86_64-pc-windows-msvc)
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
Build AFFiNE native (x86_64-pc-windows-msvc)
No files were found with the provided path: E:\AFFiNE/packages/frontend/native/affine.win32-x64-msvc.node. No artifacts will be uploaded.
|
|
Build AFFiNE native (x86_64-pc-windows-msvc)
The operation was canceled.
|
|
Build AFFiNE native (x86_64-unknown-linux-gnu)
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
E2E Test (2)
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
Build AFFiNE native (x86_64-unknown-linux-gnu)
No files were found with the provided path: /home/runner/work/AFFiNE/AFFiNE/packages/frontend/native/affine.linux-x64-gnu.node. No artifacts will be uploaded.
|
|
Build AFFiNE native (x86_64-unknown-linux-gnu)
The operation was canceled.
|
|
E2E Test (2)
The operation was canceled.
|
|
E2E Test (4)
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
E2E Test (4)
The operation was canceled.
|
|
Build Android app
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
Build Android app
The operation was canceled.
|
|
Test Android app
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
Test Android app
The operation was canceled.
|
|
Build AFFiNE native (x86_64-apple-darwin)
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
Build AFFiNE native (x86_64-apple-darwin)
No files were found with the provided path: /Users/runner/work/AFFiNE/AFFiNE/packages/frontend/native/affine.darwin-x64.node. No artifacts will be uploaded.
|
|
Build AFFiNE native (x86_64-apple-darwin)
The operation was canceled.
|
|
Build AFFiNE native (aarch64-apple-darwin)
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
Build AFFiNE native (aarch64-apple-darwin)
No files were found with the provided path: /Users/runner/work/AFFiNE/AFFiNE/packages/frontend/native/affine.darwin-arm64.node. No artifacts will be uploaded.
|
|
Build AFFiNE native (aarch64-apple-darwin)
The operation was canceled.
|
|
Build iOS app
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
Build iOS app
The operation was canceled.
|
|
3, 2, 1 Launch
Process completed with exit code 1.
|
|
Build & Test
Canceling since a higher priority waiting request for Build & Test-refs/pull/15575/merge exists
|
|
Mobile native build filter
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: dorny/paths-filter@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Copilot test filter
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: dorny/paths-filter@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Rust test filter
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: dorny/paths-filter@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Build @affine/electron renderer
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Analyze (typescript, blocksuite)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: github/codeql-action/analyze@v3, github/codeql-action/autobuild@v3, github/codeql-action/init@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Analyze (typescript, blocksuite)
1 issue was detected with this workflow: CodeQL language 'javascript' is referenced by more than one entry in the 'language' matrix parameter for job 'analyze'. This may result in duplicate alerts. Please edit the 'language' matrix parameter to keep only one of the following: 'javascript', 'typescript'.
|
|
Analyze (typescript, blocksuite)
CodeQL Action v3 will be deprecated in December 2026. Please update all occurrences of the CodeQL Action in your workflow files to v4. For more information, see https://github.blog/changelog/2025-10-28-upcoming-deprecation-of-codeql-action-v3/
|
|
Analyze (javascript, affine)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: github/codeql-action/analyze@v3, github/codeql-action/autobuild@v3, github/codeql-action/init@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Analyze (javascript, affine)
1 issue was detected with this workflow: CodeQL language 'javascript' is referenced by more than one entry in the 'language' matrix parameter for job 'analyze'. This may result in duplicate alerts. Please edit the 'language' matrix parameter to keep only one of the following: 'javascript', 'typescript'.
|
|
Analyze (javascript, affine)
CodeQL Action v3 will be deprecated in December 2026. Please update all occurrences of the CodeQL Action in your workflow files to v4. For more information, see https://github.blog/changelog/2025-10-28-upcoming-deprecation-of-codeql-action-v3/
|
|
Analyze (javascript, blocksuite)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: github/codeql-action/analyze@v3, github/codeql-action/autobuild@v3, github/codeql-action/init@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Analyze (javascript, blocksuite)
1 issue was detected with this workflow: CodeQL language 'javascript' is referenced by more than one entry in the 'language' matrix parameter for job 'analyze'. This may result in duplicate alerts. Please edit the 'language' matrix parameter to keep only one of the following: 'javascript', 'typescript'.
|
|
Analyze (javascript, blocksuite)
CodeQL Action v3 will be deprecated in December 2026. Please update all occurrences of the CodeQL Action in your workflow files to v4. For more information, see https://github.blog/changelog/2025-10-28-upcoming-deprecation-of-codeql-action-v3/
|
|
Analyze (typescript, affine)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: github/codeql-action/analyze@v3, github/codeql-action/autobuild@v3, github/codeql-action/init@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Analyze (typescript, affine)
1 issue was detected with this workflow: CodeQL language 'javascript' is referenced by more than one entry in the 'language' matrix parameter for job 'analyze'. This may result in duplicate alerts. Please edit the 'language' matrix parameter to keep only one of the following: 'javascript', 'typescript'.
|
|
Analyze (typescript, affine)
CodeQL Action v3 will be deprecated in December 2026. Please update all occurrences of the CodeQL Action in your workflow files to v4. For more information, see https://github.blog/changelog/2025-10-28-upcoming-deprecation-of-codeql-action-v3/
|
|
Lint
Restore cache failed: Dependencies file is not found in /home/runner/work/AFFiNE/AFFiNE. Supported file pattern: go.mod
|
|
E2E BlockSuite Cross Browser Test
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E BlockSuite Test (1)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E BlockSuite Test (4)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E Mobile Test (2)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E BlockSuite Test (5)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E BlockSuite Test (3)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E Mobile Test (1)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E BlockSuite Test (2)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E Test (5)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Build AFFiNE native (aarch64-pc-windows-msvc)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4, samypr100/setup-dev-drive@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E Test (1)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E Test (3)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Build Server native
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Build AFFiNE native (x86_64-pc-windows-msvc)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4, samypr100/setup-dev-drive@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Build AFFiNE native (x86_64-unknown-linux-gnu)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E Test (2)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E Test (4)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Build AFFiNE native (x86_64-apple-darwin)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Build AFFiNE native (aarch64-apple-darwin)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
🎭 Playwright Run Summary
2 skipped
35 passed (33.5s)
|
|
🎭 Playwright Run Summary
4 flaky
e2e/attachment.spec.ts:187:1 › should rename attachment works ──────────────────────────────────
e2e/bookmark.spec.ts:343:1 › bookmark can be dragged from note to surface top level block ──────
e2e/clipboard/list.spec.ts:136:1 › paste a nested list to a nested list ────────────────────────
e2e/clipboard/list.spec.ts:310:1 › paste non-nested lists to a nested list ─────────────────────
9 skipped
190 passed (3.1m)
|
|
🎭 Playwright Run Summary
2 flaky
e2e/link.spec.ts:145:1 › type character in link should not jump out link node ──────────────────
e2e/linked-page.spec.ts:586:3 › linked page with clipboard › paste linked page should paste as linked page
6 skipped
195 passed (3.1m)
|
|
🎭 Playwright Run Summary
1 flaky
[Mobile Chrome] › e2e/explorer-tag.spec.ts:58:1 › create a tag from navigation panel ───────────
21 passed (3.8m)
|
|
🎭 Playwright Run Summary
5 flaky
e2e/list.spec.ts:497:1 › enter list block with non-empty text ──────────────────────────────────
e2e/paragraph.spec.ts:559:1 › paragraph with child block should work at enter ──────────────────
e2e/paragraph.spec.ts:656:1 › delete at start of paragraph immediately following list ──────────
e2e/selection/block.spec.ts:156:1 › click the list icon can select and copy ────────────────────
e2e/selection/native.spec.ts:1408:1 › should select with shift-click ───────────────────────────
3 skipped
194 passed (3.4m)
|
|
🎭 Playwright Run Summary
4 skipped
199 passed (5.0m)
|
|
🎭 Playwright Run Summary
2 flaky
[Mobile Safari] › e2e/detail.spec.ts:32:1 › switch to edgeless mode ────────────────────────────
[Mobile Safari] › e2e/home.spec.ts:18:1 › stale first-open state still restores one local workspace
20 passed (5.2m)
|
|
🎭 Playwright Run Summary
1 flaky
e2e/drag.spec.ts:509:1 › should get to selected block when dragging unselected block ───────────
8 skipped
194 passed (4.9m)
|
|
🎭 Playwright Run Summary
2 skipped
64 passed (6.7m)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
test-results-e2e-5
|
187 KB |
sha256:7ce5bb0b8178f13ae37f9b8747fce9a88e33b1950e52b03d9ceb40ec1b7a82e4
|
|
|
test-results-e2e-bs-1
|
8.45 MB |
sha256:7fadb5a6f0d842484f4dbffe44c802b26056656c3d2b612e6469b45116e83e5d
|
|
|
test-results-e2e-bs-2
|
1.37 MB |
sha256:bbcc8f753cb6d296b1a2c358e88ee48ef31892476c2b6f51b041501daae53752
|
|
|
test-results-e2e-bs-4
|
2.51 MB |
sha256:1075511e37d677e9a3582d548d1a469d6dd8ca67b2745063b38536cdb07e1aa9
|
|
|
test-results-e2e-bs-5
|
6.84 MB |
sha256:e48e162b607faf992e21f42159b23cffcfb0a5144a4e5a417f1a6f85c0f74425
|
|
|
test-results-e2e-mobile-1
|
15.7 MB |
sha256:7d78f3639f9f151cd5888464c32a614b7beaeff2ccecd17f7cf1f8ca37d3cad4
|
|
|
test-results-e2e-mobile-2
|
1.68 MB |
sha256:df87b53354b3f713154d262d3a05f6c208deb1f34e963f6b2578e398f7896e7f
|
|
|
web
|
70.5 MB |
sha256:883679a59b7c669ff3c11a75ebaf506f0d4dfd09ea64828db89d1b47cdbadfdf
|
|