Skip to content
Triggered via deployment May 28, 2024 22:31
Status Failure
Total duration 27m 45s
Artifacts 4

deploy-happy-stack.yml

on: deployment
Matrix: run-e2e-tests
e2e-logged-in-test
15m 41s
e2e-logged-in-test
functional-test
17m 9s
functional-test
performance-test
10s
performance-test
github-tag-and-release
0s
github-tag-and-release
e2e-test
2s
e2e-test
Fit to window
Zoom out
Zoom in

Annotations

16 errors, 27 warnings, and 6 notices
[chromium] › tests/features/wheresMyGene/landingPageFilter.test.ts:172:7 › Left side bar › Data Source Button Badge Counter - Check Visible after filters applied: frontend/tests/features/wheresMyGene/landingPageFilter.test.ts#L185
1) [chromium] › tests/features/wheresMyGene/landingPageFilter.test.ts:172:7 › Left side bar › Data Source Button Badge Counter - Check Visible after filters applied Error: expect(locator).toBeVisible() Locator: getByTestId('source-data-badge') Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 10000ms - waiting for getByTestId('source-data-badge') 183 | }); 184 | const badgeCounter = await page.getByTestId(DATA_SOURCE_BADGE_TEST_ID); > 185 | expect(badgeCounter).toBeVisible(); | ^ 186 | const count = await badgeCounter.innerText(); 187 | expect(parseInt(count)).toBeLessThan(99); 188 | }, at page.page (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/wheresMyGene/landingPageFilter.test.ts:185:30) at tryUntil (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:165:7) at /home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/wheresMyGene/landingPageFilter.test.ts:175:5
[chromium] › tests/features/wheresMyGene/landingPageFilter.test.ts:172:7 › Left side bar › Data Source Button Badge Counter - Check Visible after filters applied: frontend/tests/features/wheresMyGene/landingPageFilter.test.ts#L185
1) [chromium] › tests/features/wheresMyGene/landingPageFilter.test.ts:172:7 › Left side bar › Data Source Button Badge Counter - Check Visible after filters applied Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() Locator: getByTestId('source-data-badge') Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 10000ms - waiting for getByTestId('source-data-badge') 183 | }); 184 | const badgeCounter = await page.getByTestId(DATA_SOURCE_BADGE_TEST_ID); > 185 | expect(badgeCounter).toBeVisible(); | ^ 186 | const count = await badgeCounter.innerText(); 187 | expect(parseInt(count)).toBeLessThan(99); 188 | }, at page.page (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/wheresMyGene/landingPageFilter.test.ts:185:30) at tryUntil (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:165:7) at /home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/wheresMyGene/landingPageFilter.test.ts:175:5
[chromium] › tests/features/cellGuide/cellGuide.test.ts:276:9 › Cell Guide › CellGuide Card › All tissue specific CellGuide card components are present: frontend/tests/utils/helpers.ts#L557
1) [chromium] › tests/features/cellGuide/cellGuide.test.ts:276:9 › Cell Guide › CellGuide Card › All tissue specific CellGuide card components are present TimeoutError: tryUntil() failed - Maxed out timeout of 180000ms: locator.waitFor: Timeout 5000ms exceeded. Call log: - waiting for getByTestId('cell-guide-card-cl-description') to be visible at tests/utils/helpers.ts:557 555 | async () => { 556 | const element = page.getByTestId(testId); > 557 | await element.waitFor({ timeout: WAIT_FOR_TIMEOUT_MS }); | ^ 558 | const isVisible = await element.isVisible(); 559 | expect(isVisible).toBe(true); 560 | }, at assert (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:557:21) at tryUntil (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:165:13) at isElementVisible (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:554:3) at assertAllCellCardComponentsArePresent (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/cellGuide/cellGuide.test.ts:1612:3) at /home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/cellGuide/cellGuide.test.ts:288:7
[chromium] › tests/features/cellGuide/cellGuide.test.ts:276:9 › Cell Guide › CellGuide Card › All tissue specific CellGuide card components are present: frontend/tests/utils/helpers.ts#L557
1) [chromium] › tests/features/cellGuide/cellGuide.test.ts:276:9 › Cell Guide › CellGuide Card › All tissue specific CellGuide card components are present Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: tryUntil() failed - Maxed out timeout of 180000ms: locator.waitFor: Timeout 5000ms exceeded. Call log: - waiting for getByTestId('cell-guide-card-cl-description') to be visible at tests/utils/helpers.ts:557 555 | async () => { 556 | const element = page.getByTestId(testId); > 557 | await element.waitFor({ timeout: WAIT_FOR_TIMEOUT_MS }); | ^ 558 | const isVisible = await element.isVisible(); 559 | expect(isVisible).toBe(true); 560 | }, at assert (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:557:21) at tryUntil (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:165:13) at isElementVisible (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:554:3) at assertAllCellCardComponentsArePresent (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/cellGuide/cellGuide.test.ts:1612:3) at /home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/cellGuide/cellGuide.test.ts:288:7
[chromium] › tests/features/cellGuide/cellGuide.test.ts:276:9 › Cell Guide › CellGuide Card › All tissue specific CellGuide card components are present: frontend/tests/utils/helpers.ts#L557
1) [chromium] › tests/features/cellGuide/cellGuide.test.ts:276:9 › Cell Guide › CellGuide Card › All tissue specific CellGuide card components are present Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: tryUntil() failed - Maxed out timeout of 180000ms: locator.waitFor: Timeout 5000ms exceeded. Call log: - waiting for getByTestId('cell-guide-card-cl-description') to be visible at tests/utils/helpers.ts:557 555 | async () => { 556 | const element = page.getByTestId(testId); > 557 | await element.waitFor({ timeout: WAIT_FOR_TIMEOUT_MS }); | ^ 558 | const isVisible = await element.isVisible(); 559 | expect(isVisible).toBe(true); 560 | }, at assert (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:557:21) at tryUntil (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:165:13) at isElementVisible (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:554:3) at assertAllCellCardComponentsArePresent (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/cellGuide/cellGuide.test.ts:1612:3) at /home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/cellGuide/cellGuide.test.ts:288:7
[chromium] › tests/features/cellGuide/cellGuide.test.ts:266:9 › Cell Guide › CellGuide Card › All CellGuide card components are present: frontend/tests/utils/helpers.ts#L557
2) [chromium] › tests/features/cellGuide/cellGuide.test.ts:266:9 › Cell Guide › CellGuide Card › All CellGuide card components are present TimeoutError: tryUntil() failed - Maxed out timeout of 180000ms: locator.waitFor: Timeout 5000ms exceeded. Call log: - waiting for getByTestId('cell-guide-card-cl-description') to be visible at tests/utils/helpers.ts:557 555 | async () => { 556 | const element = page.getByTestId(testId); > 557 | await element.waitFor({ timeout: WAIT_FOR_TIMEOUT_MS }); | ^ 558 | const isVisible = await element.isVisible(); 559 | expect(isVisible).toBe(true); 560 | }, at assert (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:557:21) at tryUntil (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:165:13) at isElementVisible (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:554:3) at assertAllCellCardComponentsArePresent (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/cellGuide/cellGuide.test.ts:1612:3) at /home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/cellGuide/cellGuide.test.ts:273:7
[chromium] › tests/features/cellGuide/cellGuide.test.ts:266:9 › Cell Guide › CellGuide Card › All CellGuide card components are present: frontend/tests/utils/helpers.ts#L557
2) [chromium] › tests/features/cellGuide/cellGuide.test.ts:266:9 › Cell Guide › CellGuide Card › All CellGuide card components are present Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: tryUntil() failed - Maxed out timeout of 180000ms: locator.waitFor: Timeout 5000ms exceeded. Call log: - waiting for getByTestId('cell-guide-card-cl-description') to be visible at tests/utils/helpers.ts:557 555 | async () => { 556 | const element = page.getByTestId(testId); > 557 | await element.waitFor({ timeout: WAIT_FOR_TIMEOUT_MS }); | ^ 558 | const isVisible = await element.isVisible(); 559 | expect(isVisible).toBe(true); 560 | }, at assert (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:557:21) at tryUntil (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:165:13) at isElementVisible (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/utils/helpers.ts:554:3) at assertAllCellCardComponentsArePresent (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/cellGuide/cellGuide.test.ts:1612:3) at /home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/cellGuide/cellGuide.test.ts:273:7
[chromium] › tests/features/cellGuide/cellGuide.test.ts:266:9 › Cell Guide › CellGuide Card › All CellGuide card components are present: frontend/tests/features/cellGuide/cellGuide.test.ts#L1
2) [chromium] › tests/features/cellGuide/cellGuide.test.ts:266:9 › Cell Guide › CellGuide Card › All CellGuide card components are present Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Test was interrupted.
e2e-tests chromium 1 of 5
Process completed with exit code 1.
e2e-test
Process completed with exit code 1.
[chromium] › tests/features/collection/collection.test.ts:41:9 › Collection › Logged In Tests @loggedIn › creates and deletes a collection: frontend/tests/features/collection/collection.test.ts#L1
1) [chromium] › tests/features/collection/collection.test.ts:41:9 › Collection › Logged In Tests @loggedin › creates and deletes a collection Test timeout of 300000ms exceeded.
[chromium] › tests/features/collection/collection.test.ts:41:9 › Collection › Logged In Tests @loggedIn › creates and deletes a collection: frontend/tests/features/collection/collection.test.ts#L173
1) [chromium] › tests/features/collection/collection.test.ts:41:9 › Collection › Logged In Tests @loggedin › creates and deletes a collection Error: locator.click: Test timeout of 300000ms exceeded. Call log: - waiting for getByText('Create Collection') 171 | async function showCreateForm(page: Page) { 172 | await goToPage(`${TEST_URL}${ROUTES.COLLECTIONS}`, page); > 173 | await page.getByText("Create Collection").click(); | ^ 174 | } 175 | 176 | const collectionEndpointPath = `/dp/v1/collections`; at showCreateForm (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/collection/collection.test.ts:173:45) at createCollection (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/collection/collection.test.ts:151:3) at /home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/collection/collection.test.ts:46:7
[chromium] › tests/features/collection/collection.test.ts:67:13 › Collection › Logged In Tests @loggedIn › Publish a collection › when no dataset › shows disabled publish button: frontend/tests/features/collection/collection.test.ts#L1
2) [chromium] › tests/features/collection/collection.test.ts:67:13 › Collection › Logged In Tests @loggedin › Publish a collection › when no dataset › shows disabled publish button Test timeout of 300000ms exceeded.
[chromium] › tests/features/collection/collection.test.ts:67:13 › Collection › Logged In Tests @loggedIn › Publish a collection › when no dataset › shows disabled publish button: frontend/tests/features/collection/collection.test.ts#L173
2) [chromium] › tests/features/collection/collection.test.ts:67:13 › Collection › Logged In Tests @loggedin › Publish a collection › when no dataset › shows disabled publish button Error: locator.click: Test timeout of 300000ms exceeded. Call log: - waiting for getByText('Create Collection') 171 | async function showCreateForm(page: Page) { 172 | await goToPage(`${TEST_URL}${ROUTES.COLLECTIONS}`, page); > 173 | await page.getByText("Create Collection").click(); | ^ 174 | } 175 | 176 | const collectionEndpointPath = `/dp/v1/collections`; at showCreateForm (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/collection/collection.test.ts:173:45) at createCollection (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/collection/collection.test.ts:151:3) at /home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/collection/collection.test.ts:68:11
[chromium] › tests/features/collection/revision.test.ts:93:7 › Collection Revision @loggedIn › starts a revision: frontend/tests/features/collection/revision.test.ts#L1
3) [chromium] › tests/features/collection/revision.test.ts:93:7 › Collection Revision @loggedin › starts a revision Test timeout of 300000ms exceeded.
[chromium] › tests/features/collection/revision.test.ts:93:7 › Collection Revision @loggedIn › starts a revision: frontend/tests/features/collection/revision.test.ts#L571
3) [chromium] › tests/features/collection/revision.test.ts:93:7 › Collection Revision @loggedin › starts a revision Error: locator.getAttribute: Test timeout of 300000ms exceeded. Call log: - waiting for getByTestId('revision-status').locator('a') 569 | .getByTestId(COLLECTION_STATUS_BANNER_ID) 570 | .locator("a") > 571 | .getAttribute("href"); | ^ 572 | 573 | /** 574 | * (thuang): Sometimes the dropdown is already open, so we need to check if it's at deleteRevision (/home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/collection/revision.test.ts:571:6) at /home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/tests/features/collection/revision.test.ts:130:11
upgrade
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, avakar/set-deployment-status@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
upgrade
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, avakar/set-deployment-status@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
upgrade
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
upgrade
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
performance-test
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
performance-test
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
e2e-tests chromium 3 of 5
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/upload-artifact@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
e2e-tests chromium 3 of 5
No files were found with the provided path: /home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/playwright-report. No artifacts will be uploaded.
e2e-tests chromium 2 of 5
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/upload-artifact@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
e2e-tests chromium 2 of 5
No files were found with the provided path: /home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/playwright-report. No artifacts will be uploaded.
e2e-tests chromium 4 of 5
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/upload-artifact@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
e2e-tests chromium 5 of 5
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/upload-artifact@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
e2e-tests chromium 5 of 5
No files were found with the provided path: /home/runner/work/single-cell-data-portal/single-cell-data-portal/frontend/playwright-report. No artifacts will be uploaded.
e2e-tests chromium 1 of 5
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/upload-artifact@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
e2e-test
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: avakar/set-deployment-status@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
e2e-test
The following actions uses node12 which is deprecated and will be forced to run on node16: avakar/set-deployment-status@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
e2e-test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
e2e-test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
e2e-logged-in-test
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/upload-artifact@v2, avakar/set-deployment-status@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
e2e-logged-in-test
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions/upload-artifact@v2, avakar/set-deployment-status@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
e2e-logged-in-test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
e2e-logged-in-test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
functional-test
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, avakar/set-deployment-status@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
functional-test
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, avakar/set-deployment-status@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
functional-test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
functional-test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Deprecation notice: v1, v2, and v3 of the artifact actions
The following artifacts were uploaded using a version of actions/upload-artifact that is scheduled for deprecation: "all-blob-reports", "logged-in-test-results", "playwright-report chromium 1 of 5", "playwright-report chromium 4 of 5". Please update your workflow to use v4 of the artifact actions. Learn more: https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/
🎭 Playwright Run Summary
1 skipped 59 passed (4.5s)
🎭 Playwright Run Summary
1 skipped 59 passed (47.6s)
🎭 Playwright Run Summary
1 flaky [chromium] › tests/features/wheresMyGene/landingPageFilter.test.ts:172:7 › Left side bar › Data Source Button Badge Counter - Check Visible after filters applied 3 skipped 55 passed (3.6m)
🎭 Playwright Run Summary
2 skipped 57 passed (5.7m)
🎭 Playwright Run Summary
1 failed [chromium] › tests/features/cellGuide/cellGuide.test.ts:276:9 › Cell Guide › CellGuide Card › All tissue specific CellGuide card components are present 1 flaky [chromium] › tests/features/cellGuide/cellGuide.test.ts:266:9 › Cell Guide › CellGuide Card › All CellGuide card components are present 1 skipped 49 did not run 8 passed (12.0m)
🎭 Playwright Run Summary
3 flaky [chromium] › tests/features/collection/collection.test.ts:41:9 › Collection › Logged In Tests @loggedin › creates and deletes a collection [chromium] › tests/features/collection/collection.test.ts:67:13 › Collection › Logged In Tests @loggedin › Publish a collection › when no dataset › shows disabled publish button [chromium] › tests/features/collection/revision.test.ts:93:7 › Collection Revision @loggedin › starts a revision 13 passed (13.7m)

Artifacts

Produced during runtime
Name Size
all-blob-reports Expired
93.8 MB
logged-in-test-results Expired
34.5 MB
playwright-report chromium 1 of 5 Expired
97 MB
playwright-report chromium 4 of 5 Expired
1.56 MB