Skip to content

Migrate plugin E2E tests from Codeception to Playwright #1325

Migrate plugin E2E tests from Codeception to Playwright

Migrate plugin E2E tests from Codeception to Playwright #1325

Triggered via pull request April 14, 2026 01:05
Status Failure
Total duration 34m 20s
Artifacts 10

main.yml

on: pull_request
rector  /  Rector
28s
rector / Rector
phpstan  /  PHPStan
31s
phpstan / PHPStan
php-cs-fixer  /  Run PHP CS Fixer
25s
php-cs-fixer / Run PHP CS Fixer
Matrix: unit-test / PHPUnit
Matrix: e2e-test / playwright
Matrix: coverage / PHPUnit
Matrix: coverage / Codeception
Matrix: plugin-test / Plugin assets
Waiting for pending jobs
Matrix: plugin-test / Plugin depend
Waiting for pending jobs
Matrix: plugin-test / Plugin extend
Waiting for pending jobs
Matrix: plugin-test / Plugin install
Waiting for pending jobs
Matrix: plugin-test / Plugin misc
Waiting for pending jobs
Matrix: plugin-test / Plugin Update
Waiting for pending jobs
coverage  /  Upload coverage reports
16s
coverage / Upload coverage reports
Matrix: e2e-test-throttling / playwright
Waiting for pending jobs
deny-test  /  Deny check
deny-test / Deny check
success
success
Fit to window
Zoom out
Zoom in

Annotations

11 errors, 16 warnings, and 13 notices
e2e-test / Playwright (admin-basicinfo)
Process completed with exit code 1.
[admin-tests] › tests/admin-basicinfo.spec.ts:22:7 › Admin Basic Info (EA07) › basicinfo_shop_settings - EA0701-UC01-T01: e2e/tests/admin-basicinfo.spec.ts#L25
2) [admin-tests] › tests/admin-basicinfo.spec.ts:22:7 › Admin Basic Info (EA07) › basicinfo_shop_settings - EA0701-UC01-T01 Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toContainText(expected) failed Locator: locator('.c-pageTitle') Expected substring: "基本設定" Timeout: 30000ms Error: element(s) not found Call log: - Expect "toContainText" with timeout 30000ms - waiting for locator('.c-pageTitle') 23 | await page.goto(`/${adminRoute}/setting/shop`); 24 | await page.waitForLoadState('load'); > 25 | await expect(page.locator('.c-pageTitle')).toContainText('基本設定'); | ^ 26 | 27 | await page.locator('#shop_master_company_name').fill('サンプル会社名'); 28 | await page.locator('#shop_master_shop_name').fill('サンプルショップ'); at /home/runner/work/ec-cube/ec-cube/e2e/tests/admin-basicinfo.spec.ts:25:48
[admin-tests] › tests/admin-basicinfo.spec.ts:796:7 › Admin Basic Info (EA07) › basicinfo_会員設定_マイページ注文状況 - EA0701-UC01-T07/T08: e2e/tests/admin-basicinfo.spec.ts#L844
1) [admin-tests] › tests/admin-basicinfo.spec.ts:796:7 › Admin Basic Info (EA07) › basicinfo_会員設定_マイページ注文状況 - EA0701-UC01-T07/T08 TimeoutError: locator.textContent: Timeout 30000ms exceeded. Call log: - waiting for locator('.ec-historyRole') 842 | await frontPage.waitForLoadState('load'); 843 | // 'ご注文状況' should NOT be visible > 844 | const bodyText = await frontPage.locator('.ec-historyRole').textContent() || ''; | ^ 845 | expect(bodyText).not.toContain('ご注文状況'); 846 | } 847 | at /home/runner/work/ec-cube/ec-cube/e2e/tests/admin-basicinfo.spec.ts:844:67
e2e-test / Playwright (front-product)
Process completed with exit code 1.
[front-tests] › tests/front-product.spec.ts:340:7 › Front Product (EF02) › EF0202-UC01-T01 商品詳細初期表示 (品切れ): e2e/tests/front-product.spec.ts#L367
2) [front-tests] › tests/front-product.spec.ts:340:7 › Front Product (EF02) › EF0202-UC01-T01 商品詳細初期表示 (品切れ) Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toContainText(expected) failed Locator: locator('#form1 button[type="submit"]') Expected substring: "ただいま品切れ中です" Timeout: 30000ms Error: element(s) not found Call log: - Expect "toContainText" with timeout 30000ms - waiting for locator('#form1 button[type="submit"]') 365 | 366 | // "カートに入れる" button should be disabled and show out of stock message > 367 | await expect(page.locator('#form1 button[type="submit"]')).toContainText('ただいま品切れ中です'); | ^ 368 | 369 | // Restore stock 370 | await page.goto(`/${adminRoute}/product/product/2/edit`); at /home/runner/work/ec-cube/ec-cube/e2e/tests/front-product.spec.ts:367:64
[front-tests] › tests/front-product.spec.ts:340:7 › Front Product (EF02) › EF0202-UC01-T01 商品詳細初期表示 (品切れ): e2e/tests/front-product.spec.ts#L367
2) [front-tests] › tests/front-product.spec.ts:340:7 › Front Product (EF02) › EF0202-UC01-T01 商品詳細初期表示 (品切れ) Error: expect(locator).toContainText(expected) failed Locator: locator('#form1 button[type="submit"]') Expected substring: "ただいま品切れ中です" Timeout: 30000ms Error: element(s) not found Call log: - Expect "toContainText" with timeout 30000ms - waiting for locator('#form1 button[type="submit"]') 365 | 366 | // "カートに入れる" button should be disabled and show out of stock message > 367 | await expect(page.locator('#form1 button[type="submit"]')).toContainText('ただいま品切れ中です'); | ^ 368 | 369 | // Restore stock 370 | await page.goto(`/${adminRoute}/product/product/2/edit`); at /home/runner/work/ec-cube/ec-cube/e2e/tests/front-product.spec.ts:367:64
[front-tests] › tests/front-product.spec.ts:302:7 › Front Product (EF02) › EF0201-UC04-T02 商品一覧ページング: e2e/tests/front-product.spec.ts#L311
1) [front-tests] › tests/front-product.spec.ts:302:7 › Front Product (EF02) › EF0201-UC04-T02 商品一覧ページング Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.scrollIntoViewIfNeeded: Timeout 30000ms exceeded. Call log: - waiting for locator('li.ec-pager__item--active') 309 | 310 | // Verify page 1 is active > 311 | await page.locator('li.ec-pager__item--active').scrollIntoViewIfNeeded(); | ^ 312 | await page.waitForTimeout(500); 313 | await expect(page.locator('li.ec-pager__item--active')).toContainText('1'); 314 | at /home/runner/work/ec-cube/ec-cube/e2e/tests/front-product.spec.ts:311:53
[front-tests] › tests/front-product.spec.ts:302:7 › Front Product (EF02) › EF0201-UC04-T02 商品一覧ページング: e2e/tests/front-product.spec.ts#L311
1) [front-tests] › tests/front-product.spec.ts:302:7 › Front Product (EF02) › EF0201-UC04-T02 商品一覧ページング TimeoutError: locator.scrollIntoViewIfNeeded: Timeout 30000ms exceeded. Call log: - waiting for locator('li.ec-pager__item--active') 309 | 310 | // Verify page 1 is active > 311 | await page.locator('li.ec-pager__item--active').scrollIntoViewIfNeeded(); | ^ 312 | await page.waitForTimeout(500); 313 | await expect(page.locator('li.ec-pager__item--active')).toContainText('1'); 314 | at /home/runner/work/ec-cube/ec-cube/e2e/tests/front-product.spec.ts:311:53
e2e-test / Playwright (admin-system)
Process completed with exit code 1.
[admin-tests] › tests/admin-system.spec.ts:396:7 › Admin System Info (EA08) › systeminfo_masterdata_management - EA0807: e2e/tests/admin-system.spec.ts#L402
1) [admin-tests] › tests/admin-system.spec.ts:396:7 › Admin System Info (EA08) › systeminfo_masterdata_management - EA0807 Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for locator('#form1 button.btn-ec-conversion') 400 | await page.waitForLoadState('load'); 401 | await page.locator('#admin_system_masterdata_masterdata').selectOption('mtb_sex'); > 402 | await page.locator('#form1 button.btn-ec-conversion').click(); | ^ 403 | await page.waitForLoadState('load'); 404 | } 405 | at goToMtbSex (/home/runner/work/ec-cube/ec-cube/e2e/tests/admin-system.spec.ts:402:61) at /home/runner/work/ec-cube/ec-cube/e2e/tests/admin-system.spec.ts:407:5
[admin-tests] › tests/admin-system.spec.ts:396:7 › Admin System Info (EA08) › systeminfo_masterdata_management - EA0807: e2e/tests/admin-system.spec.ts#L402
1) [admin-tests] › tests/admin-system.spec.ts:396:7 › Admin System Info (EA08) › systeminfo_masterdata_management - EA0807 TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for locator('#form1 button.btn-ec-conversion') 400 | await page.waitForLoadState('load'); 401 | await page.locator('#admin_system_masterdata_masterdata').selectOption('mtb_sex'); > 402 | await page.locator('#form1 button.btn-ec-conversion').click(); | ^ 403 | await page.waitForLoadState('load'); 404 | } 405 | at goToMtbSex (/home/runner/work/ec-cube/ec-cube/e2e/tests/admin-system.spec.ts:402:61) at /home/runner/work/ec-cube/ec-cube/e2e/tests/admin-system.spec.ts:407:5
php-cs-fixer / Run PHP CS Fixer
Cache save failed.
rector / Rector
Cache save failed.
phpstan / PHPStan
Cache save failed.
e2e-test / Playwright (front-top)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. 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-test / Playwright (front-other)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. 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-test / Playwright (front-customer)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. 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-test / Playwright (admin-top)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. 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-test / Playwright (admin-auth)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. 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-test / Playwright (admin-contents)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. 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-test / Playwright (admin-product)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. 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-test / Playwright (admin-order)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. 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-test / Playwright (admin-shipping)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. 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-test / Playwright (admin-basicinfo)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. 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-test / Playwright (front-product)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. 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-test / Playwright (admin-customer)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. 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-test / Playwright (admin-system)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. 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
7 passed (20.0s)
🎭 Playwright Run Summary
16 passed (30.9s)
🎭 Playwright Run Summary
9 passed (48.0s)
🎭 Playwright Run Summary
1 skipped 9 passed (42.7s)
🎭 Playwright Run Summary
5 passed (36.5s)
🎭 Playwright Run Summary
19 passed (1.0m)
🎭 Playwright Run Summary
46 passed (1.9m)
🎭 Playwright Run Summary
18 passed (2.2m)
🎭 Playwright Run Summary
6 passed (29.3s)
🎭 Playwright Run Summary
1 failed [admin-tests] › tests/admin-basicinfo.spec.ts:796:7 › Admin Basic Info (EA07) › basicinfo_会員設定_マイページ注文状況 - EA0701-UC01-T07/T08 1 flaky [admin-tests] › tests/admin-basicinfo.spec.ts:22:7 › Admin Basic Info (EA07) › basicinfo_shop_settings - EA0701-UC01-T01 8 did not run 17 passed (2.4m)
🎭 Playwright Run Summary
2 failed [front-tests] › tests/front-product.spec.ts:302:7 › Front Product (EF02) › EF0201-UC04-T02 商品一覧ページング [front-tests] › tests/front-product.spec.ts:340:7 › Front Product (EF02) › EF0202-UC01-T01 商品詳細初期表示 (品切れ) 16 passed (3.0m)
🎭 Playwright Run Summary
15 passed (42.7s)
🎭 Playwright Run Summary
1 failed [admin-tests] › tests/admin-system.spec.ts:396:7 › Admin System Info (EA08) › systeminfo_masterdata_management - EA0807 4 did not run 18 passed (4.4m)

Artifacts

Produced during runtime
Name Size Digest
phpunit-reports
136 KB
sha256:afd64e5f61a32633a46310bd32ab065d1009bcea9e2d7933eb69696dfa40192c
playwright-admin-basicinfo-logs
1.03 MB
sha256:1a51b3caec34a6455147cccde9e41173250a6f1ad50570c7b3b571fda95d0032
playwright-admin-basicinfo-report
1.03 MB
sha256:468a965a994910401b1e416475fd73eb9e76580cd4ea7174cabd78cee1fbee7e
playwright-admin-basicinfo-results
395 KB
sha256:2c8687a04fa0312ee9c59fd9f453e98b1f2bbf479ec55b7d368df9e7cba2bda2
playwright-admin-system-logs
1.02 MB
sha256:f8559afca953c7cc6ae1cb15ed445d91300ce7323e7e7db8ba3c41f529bc760b
playwright-admin-system-report
49.3 MB
sha256:f52bbcdce72f44c49ccb99803c47e2db1fc147d6ccf453248069bfda070d34fd
playwright-admin-system-results
48.7 MB
sha256:8b7fccd18d9d56741434179159131de97a1f4ee1086d1a42d6398025f93d0f6a
playwright-front-product-logs
901 KB
sha256:75e0f0138bb0f1199578d12d3c7a7d9fede94512002bb7107e3c4c76547fdda9
playwright-front-product-report
15.3 MB
sha256:8b41e6f2425446e39cca86d19a2c4aacfdc22c3ba9220096cb4b3b94967103dd
playwright-front-product-results
15.5 MB
sha256:4a102dbb1a792c1ed023e3b054211916be299ddf311c46380259734bd2b5239c