From cefef21601109084110dfd4f7611a3e3ad83defd Mon Sep 17 00:00:00 2001 From: zeyber Date: Tue, 24 Feb 2026 06:58:15 +0100 Subject: [PATCH 01/17] chore: Restore cypress libraries from cache rather than rebuilding in ci --- .github/workflows/ci-merge-checks.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci-merge-checks.yml b/.github/workflows/ci-merge-checks.yml index eeb7c9a55cd9..ccee5731f1c1 100644 --- a/.github/workflows/ci-merge-checks.yml +++ b/.github/workflows/ci-merge-checks.yml @@ -206,6 +206,11 @@ jobs: if: ${{ needs.validate_e2e_execution.outputs.SHOULD_RUN_E2E == 'true' }} steps: - uses: actions/checkout@v6 + - name: Restore built libraries + uses: ./.github/actions/restore-built-libraries + with: + cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} + fail-on-cache-miss: true - name: E2E Test Setup uses: ./.github/actions/e2e-setup with: From 09280ff7d51f8eec4661ffb19c77f291720f190e Mon Sep 17 00:00:00 2001 From: zeyber Date: Tue, 24 Feb 2026 07:22:54 +0100 Subject: [PATCH 02/17] restore e2e libs to cache --- .github/actions/restore-built-libraries/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/restore-built-libraries/action.yml b/.github/actions/restore-built-libraries/action.yml index 1a5dea6cc283..770e1c07043e 100644 --- a/.github/actions/restore-built-libraries/action.yml +++ b/.github/actions/restore-built-libraries/action.yml @@ -16,5 +16,6 @@ runs: with: path: | dist + storefrontapp-e2e key: spartacus-libs-${{ inputs.cache-key }} fail-on-cache-miss: ${{ inputs.fail-on-cache-miss }} From 3179aebb96d02179871a8370786033e4245dc774 Mon Sep 17 00:00:00 2001 From: zeyber Date: Tue, 24 Feb 2026 07:42:26 +0100 Subject: [PATCH 03/17] add new action for e2e libs --- .../restore-built-libraries/action.yml | 1 - .../actions/restore-e2e-libraries/action.yml | 20 +++++++++++++++++++ .github/workflows/ci-merge-checks.yml | 14 +++++++++++-- 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 .github/actions/restore-e2e-libraries/action.yml diff --git a/.github/actions/restore-built-libraries/action.yml b/.github/actions/restore-built-libraries/action.yml index 770e1c07043e..1a5dea6cc283 100644 --- a/.github/actions/restore-built-libraries/action.yml +++ b/.github/actions/restore-built-libraries/action.yml @@ -16,6 +16,5 @@ runs: with: path: | dist - storefrontapp-e2e key: spartacus-libs-${{ inputs.cache-key }} fail-on-cache-miss: ${{ inputs.fail-on-cache-miss }} diff --git a/.github/actions/restore-e2e-libraries/action.yml b/.github/actions/restore-e2e-libraries/action.yml new file mode 100644 index 000000000000..ad00a3507920 --- /dev/null +++ b/.github/actions/restore-e2e-libraries/action.yml @@ -0,0 +1,20 @@ +name: 'Restore E2E Libraries' +description: 'Restore built e2e libraries from cache' +inputs: + cache-key: + description: 'Cache key for e2e libraries' + required: true + fail-on-cache-miss: + description: 'Whether to fail if cache miss occurs' + required: false + default: 'true' +runs: + using: 'composite' + steps: + - name: Restore e2e libraries + uses: actions/cache@v4 + with: + path: | + storefrontapp-e2e + key: spartacus-libs-${{ inputs.cache-key }} + fail-on-cache-miss: ${{ inputs.fail-on-cache-miss }} diff --git a/.github/workflows/ci-merge-checks.yml b/.github/workflows/ci-merge-checks.yml index ccee5731f1c1..83a839a3b557 100644 --- a/.github/workflows/ci-merge-checks.yml +++ b/.github/workflows/ci-merge-checks.yml @@ -162,6 +162,11 @@ jobs: if: ${{ needs.validate_e2e_execution.outputs.SHOULD_RUN_E2E == 'true' }} steps: - uses: actions/checkout@v6 + - name: Restore e2e libraries + uses: ./.github/actions/restore-e2e-libraries + with: + cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} + fail-on-cache-miss: true - name: E2E Test Setup uses: ./.github/actions/e2e-setup with: @@ -184,6 +189,11 @@ jobs: if: ${{ needs.validate_e2e_execution.outputs.SHOULD_RUN_E2E == 'true' }} steps: - uses: actions/checkout@v6 + - name: Restore e2e libraries + uses: ./.github/actions/restore-e2e-libraries + with: + cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} + fail-on-cache-miss: true - name: E2E Test Setup uses: ./.github/actions/e2e-setup with: @@ -206,8 +216,8 @@ jobs: if: ${{ needs.validate_e2e_execution.outputs.SHOULD_RUN_E2E == 'true' }} steps: - uses: actions/checkout@v6 - - name: Restore built libraries - uses: ./.github/actions/restore-built-libraries + - name: Restore e2e libraries + uses: ./.github/actions/restore-e2e-libraries with: cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} fail-on-cache-miss: true From 27035818fb2084d9e98e13618e111f4b16495f0b Mon Sep 17 00:00:00 2001 From: zeyber Date: Tue, 24 Feb 2026 08:22:29 +0100 Subject: [PATCH 04/17] try use cache-base-key --- .github/actions/e2e-setup/action.yml | 9 +++++++++ .github/actions/restore-e2e-libraries/action.yml | 4 ++-- .github/workflows/ci-merge-checks.yml | 15 --------------- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/.github/actions/e2e-setup/action.yml b/.github/actions/e2e-setup/action.yml index 83277a4e5a09..913bdcbebe8d 100644 --- a/.github/actions/e2e-setup/action.yml +++ b/.github/actions/e2e-setup/action.yml @@ -11,6 +11,9 @@ inputs: libs-cache-key: description: 'Cache key for built libraries' required: true + e2e-cache-key: + description: 'Cache key for e2e libraries' + required: true app-cache-key: description: 'Cache key for built app' required: true @@ -32,6 +35,12 @@ runs: cache-key: ${{ inputs.libs-cache-key }} fail-on-cache-miss: true + - name: Restore e2e libraries + uses: ./.github/actions/restore-e2e-libraries + with: + cache-key: ${{ inputs.cache-key-base }} + fail-on-cache-miss: true + - name: Restore built app uses: ./.github/actions/restore-built-app with: diff --git a/.github/actions/restore-e2e-libraries/action.yml b/.github/actions/restore-e2e-libraries/action.yml index ad00a3507920..30848d93f701 100644 --- a/.github/actions/restore-e2e-libraries/action.yml +++ b/.github/actions/restore-e2e-libraries/action.yml @@ -15,6 +15,6 @@ runs: uses: actions/cache@v4 with: path: | - storefrontapp-e2e - key: spartacus-libs-${{ inputs.cache-key }} + projects/storefrontapp-e2e-cypress/node_modules + key: spartacus-e2e-${{ inputs.cache-key }} fail-on-cache-miss: ${{ inputs.fail-on-cache-miss }} diff --git a/.github/workflows/ci-merge-checks.yml b/.github/workflows/ci-merge-checks.yml index 83a839a3b557..eeb7c9a55cd9 100644 --- a/.github/workflows/ci-merge-checks.yml +++ b/.github/workflows/ci-merge-checks.yml @@ -162,11 +162,6 @@ jobs: if: ${{ needs.validate_e2e_execution.outputs.SHOULD_RUN_E2E == 'true' }} steps: - uses: actions/checkout@v6 - - name: Restore e2e libraries - uses: ./.github/actions/restore-e2e-libraries - with: - cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} - fail-on-cache-miss: true - name: E2E Test Setup uses: ./.github/actions/e2e-setup with: @@ -189,11 +184,6 @@ jobs: if: ${{ needs.validate_e2e_execution.outputs.SHOULD_RUN_E2E == 'true' }} steps: - uses: actions/checkout@v6 - - name: Restore e2e libraries - uses: ./.github/actions/restore-e2e-libraries - with: - cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} - fail-on-cache-miss: true - name: E2E Test Setup uses: ./.github/actions/e2e-setup with: @@ -216,11 +206,6 @@ jobs: if: ${{ needs.validate_e2e_execution.outputs.SHOULD_RUN_E2E == 'true' }} steps: - uses: actions/checkout@v6 - - name: Restore e2e libraries - uses: ./.github/actions/restore-e2e-libraries - with: - cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} - fail-on-cache-miss: true - name: E2E Test Setup uses: ./.github/actions/e2e-setup with: From 0dda0ae247a4e5823f8b98846d168eeab336fa34 Mon Sep 17 00:00:00 2001 From: zeyber Date: Tue, 24 Feb 2026 08:41:18 +0100 Subject: [PATCH 05/17] change key --- .github/actions/restore-e2e-libraries/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/restore-e2e-libraries/action.yml b/.github/actions/restore-e2e-libraries/action.yml index 30848d93f701..fd47fad7f19b 100644 --- a/.github/actions/restore-e2e-libraries/action.yml +++ b/.github/actions/restore-e2e-libraries/action.yml @@ -16,5 +16,5 @@ runs: with: path: | projects/storefrontapp-e2e-cypress/node_modules - key: spartacus-e2e-${{ inputs.cache-key }} + key: nodemodules-${{ inputs.cache-key }} fail-on-cache-miss: ${{ inputs.fail-on-cache-miss }} From fb4e248ccbee2ba61de84474079d23adc6785507 Mon Sep 17 00:00:00 2001 From: zeyber Date: Tue, 24 Feb 2026 08:44:01 +0100 Subject: [PATCH 06/17] add missing dash --- .github/actions/restore-e2e-libraries/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/restore-e2e-libraries/action.yml b/.github/actions/restore-e2e-libraries/action.yml index fd47fad7f19b..3a83ee554ede 100644 --- a/.github/actions/restore-e2e-libraries/action.yml +++ b/.github/actions/restore-e2e-libraries/action.yml @@ -16,5 +16,5 @@ runs: with: path: | projects/storefrontapp-e2e-cypress/node_modules - key: nodemodules-${{ inputs.cache-key }} + key: nodemodules-${{ inputs.cache-key }}- fail-on-cache-miss: ${{ inputs.fail-on-cache-miss }} From 2cd5709083ffb22f92004ac8be1d56402e19968e Mon Sep 17 00:00:00 2001 From: zeyber Date: Tue, 24 Feb 2026 09:08:08 +0100 Subject: [PATCH 07/17] include hash files --- .github/actions/restore-e2e-libraries/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/restore-e2e-libraries/action.yml b/.github/actions/restore-e2e-libraries/action.yml index 3a83ee554ede..c83ef53ebb17 100644 --- a/.github/actions/restore-e2e-libraries/action.yml +++ b/.github/actions/restore-e2e-libraries/action.yml @@ -16,5 +16,5 @@ runs: with: path: | projects/storefrontapp-e2e-cypress/node_modules - key: nodemodules-${{ inputs.cache-key }}- + key: nodemodules-${{ inputs.cache-key }}-${{ hashFiles('**/package-lock.json') }} fail-on-cache-miss: ${{ inputs.fail-on-cache-miss }} From 0027758599fb61c2315bfd400acc6d7b3f48f832 Mon Sep 17 00:00:00 2001 From: zeyber Date: Tue, 24 Feb 2026 09:39:20 +0100 Subject: [PATCH 08/17] change cache key --- .github/actions/restore-e2e-libraries/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/restore-e2e-libraries/action.yml b/.github/actions/restore-e2e-libraries/action.yml index c83ef53ebb17..fd47fad7f19b 100644 --- a/.github/actions/restore-e2e-libraries/action.yml +++ b/.github/actions/restore-e2e-libraries/action.yml @@ -16,5 +16,5 @@ runs: with: path: | projects/storefrontapp-e2e-cypress/node_modules - key: nodemodules-${{ inputs.cache-key }}-${{ hashFiles('**/package-lock.json') }} + key: nodemodules-${{ inputs.cache-key }} fail-on-cache-miss: ${{ inputs.fail-on-cache-miss }} From 1a4188253e1d812ef1a6079b93fffa160bc64f29 Mon Sep 17 00:00:00 2001 From: zeyber Date: Tue, 24 Feb 2026 10:02:33 +0100 Subject: [PATCH 09/17] skip e2e lib cache, test order --- .github/actions/e2e-setup/action.yml | 10 ++--- .github/workflows/ci-merge-checks.yml | 62 +++++++++++++-------------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/.github/actions/e2e-setup/action.yml b/.github/actions/e2e-setup/action.yml index 913bdcbebe8d..fe95bd5fa134 100644 --- a/.github/actions/e2e-setup/action.yml +++ b/.github/actions/e2e-setup/action.yml @@ -35,11 +35,11 @@ runs: cache-key: ${{ inputs.libs-cache-key }} fail-on-cache-miss: true - - name: Restore e2e libraries - uses: ./.github/actions/restore-e2e-libraries - with: - cache-key: ${{ inputs.cache-key-base }} - fail-on-cache-miss: true + #- name: Restore e2e libraries + # uses: ./.github/actions/restore-e2e-libraries + # with: + # cache-key: ${{ inputs.cache-key-base }} + # fail-on-cache-miss: true - name: Restore built app uses: ./.github/actions/restore-built-app diff --git a/.github/workflows/ci-merge-checks.yml b/.github/workflows/ci-merge-checks.yml index eeb7c9a55cd9..5a08e234638c 100644 --- a/.github/workflows/ci-merge-checks.yml +++ b/.github/workflows/ci-merge-checks.yml @@ -133,6 +133,37 @@ jobs: path: | dist/storefrontapp key: spartacus-app-${{ matrix.cache_key }}-${{ matrix.build_type }}-${{ github.event.pull_request.head.sha || github.run_id }} + a11y_e2e_tests: + needs: [no_retries, validate_e2e_execution, build_apps] + name: MC - E2E A11Y + runs-on: ubuntu-latest + strategy: + matrix: + containers: [1, 2, 3] + if: ${{ needs.validate_e2e_execution.outputs.SHOULD_RUN_E2E == 'true' }} + steps: + - uses: actions/checkout@v6 + - name: E2E Test Setup + uses: ./.github/actions/e2e-setup + with: + node-version: ${{ env.NODE_VERSION }} + cache-key-base: ${{ github.event.pull_request.base.sha }} + libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} + app-cache-key: ci-b2c-csr-${{ github.event.pull_request.head.sha || github.run_id }} + - name: Run e2es + env: + SPA_ENV: ci + BUILD_NUMBER: ci-build-number-${{ github.event.pull_request.head.sha || github.run_id }} + GITHUB_MATRIX_CONTAINER: ${{ matrix.containers }} + GITHUB_MATRIX_TOTAL: ${{ strategy.job-total }} + CYPRESS_ENABLE_SCREENSHOTS: true + run: ci-scripts/e2e-cypress.sh -s a11y --skip-build + - name: Collect screenshots + if: always() + uses: ./.github/actions/collect-e2e-screenshots + with: + test-suite: a11y + container-id: ${{ matrix.containers }} b2c_e2e_tests: needs: [no_retries, validate_e2e_execution, build_apps] name: MC - E2E B2C core @@ -196,37 +227,6 @@ jobs: SPA_ENV: ci,b2b BUILD_NUMBER: ci-build-number-${{ github.event.pull_request.head.sha || github.run_id }} run: ci-scripts/e2e-cypress.sh -s b2b --skip-build - a11y_e2e_tests: - needs: [no_retries, validate_e2e_execution, build_apps] - name: MC - E2E A11Y - runs-on: ubuntu-latest - strategy: - matrix: - containers: [1, 2, 3] - if: ${{ needs.validate_e2e_execution.outputs.SHOULD_RUN_E2E == 'true' }} - steps: - - uses: actions/checkout@v6 - - name: E2E Test Setup - uses: ./.github/actions/e2e-setup - with: - node-version: ${{ env.NODE_VERSION }} - cache-key-base: ${{ github.event.pull_request.base.sha }} - libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} - app-cache-key: ci-b2c-csr-${{ github.event.pull_request.head.sha || github.run_id }} - - name: Run e2es - env: - SPA_ENV: ci - BUILD_NUMBER: ci-build-number-${{ github.event.pull_request.head.sha || github.run_id }} - GITHUB_MATRIX_CONTAINER: ${{ matrix.containers }} - GITHUB_MATRIX_TOTAL: ${{ strategy.job-total }} - CYPRESS_ENABLE_SCREENSHOTS: true - run: ci-scripts/e2e-cypress.sh -s a11y --skip-build - - name: Collect screenshots - if: always() - uses: ./.github/actions/collect-e2e-screenshots - with: - test-suite: a11y - container-id: ${{ matrix.containers }} notify_e2e_failures: needs: [b2c_e2e_tests, b2c_ssr_e2e_tests, b2b_e2e_tests, a11y_e2e_tests] name: MC - Notify E2E Failures From 7f2bf9ac3b5860ef65474dda6093208dba37a441 Mon Sep 17 00:00:00 2001 From: zeyber Date: Thu, 26 Feb 2026 10:41:12 +0100 Subject: [PATCH 10/17] try restore key --- .github/actions/e2e-setup/action.yml | 10 +++++----- .github/actions/restore-e2e-libraries/action.yml | 3 ++- .github/workflows/ci-merge-checks.yml | 15 ++++++++++++++- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/.github/actions/e2e-setup/action.yml b/.github/actions/e2e-setup/action.yml index fe95bd5fa134..ad67c12f5e08 100644 --- a/.github/actions/e2e-setup/action.yml +++ b/.github/actions/e2e-setup/action.yml @@ -35,11 +35,11 @@ runs: cache-key: ${{ inputs.libs-cache-key }} fail-on-cache-miss: true - #- name: Restore e2e libraries - # uses: ./.github/actions/restore-e2e-libraries - # with: - # cache-key: ${{ inputs.cache-key-base }} - # fail-on-cache-miss: true + - name: Restore e2e libraries + uses: ./.github/actions/restore-e2e-libraries + with: + cache-key: ${{ inputs.e2e-cache-key }} + fail-on-cache-miss: true - name: Restore built app uses: ./.github/actions/restore-built-app diff --git a/.github/actions/restore-e2e-libraries/action.yml b/.github/actions/restore-e2e-libraries/action.yml index fd47fad7f19b..07334196142e 100644 --- a/.github/actions/restore-e2e-libraries/action.yml +++ b/.github/actions/restore-e2e-libraries/action.yml @@ -16,5 +16,6 @@ runs: with: path: | projects/storefrontapp-e2e-cypress/node_modules - key: nodemodules-${{ inputs.cache-key }} + key: nodemodules-${{ inputs.cache-key }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: nodemodules-${{ inputs.cache-key }}- fail-on-cache-miss: ${{ inputs.fail-on-cache-miss }} diff --git a/.github/workflows/ci-merge-checks.yml b/.github/workflows/ci-merge-checks.yml index 5a08e234638c..17ef51758924 100644 --- a/.github/workflows/ci-merge-checks.yml +++ b/.github/workflows/ci-merge-checks.yml @@ -150,6 +150,7 @@ jobs: cache-key-base: ${{ github.event.pull_request.base.sha }} libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} app-cache-key: ci-b2c-csr-${{ github.event.pull_request.head.sha || github.run_id }} + e2e-cache-key: ${{ github.event.pull_request.base.sha }} - name: Run e2es env: SPA_ENV: ci @@ -181,6 +182,7 @@ jobs: cache-key-base: ${{ github.event.pull_request.base.sha }} libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} app-cache-key: ci-b2c-csr-${{ github.event.pull_request.head.sha || github.run_id }} + e2e-cache-key: ${{ github.event.pull_request.base.sha }} - name: Run e2es env: SPA_ENV: ci,b2c @@ -200,6 +202,7 @@ jobs: cache-key-base: ${{ github.event.pull_request.base.sha }} libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} app-cache-key: ci-b2c-ssr-${{ github.event.pull_request.head.sha || github.run_id }} + e2e-cache-key: ${{ github.event.pull_request.base.sha }} - name: Run e2es env: SPA_ENV: ci,b2c @@ -222,6 +225,7 @@ jobs: cache-key-base: ${{ github.event.pull_request.base.sha }} libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} app-cache-key: ci-b2b-csr-${{ github.event.pull_request.head.sha || github.run_id }} + e2e-cache-key: ${{ github.event.pull_request.base.sha }} - name: Run e2es env: SPA_ENV: ci,b2b @@ -250,7 +254,16 @@ jobs: const postScreenshotComment = require('./ci-scripts/post-screenshot-comment.js'); await postScreenshotComment(github, context); merge_checks_result: - needs: [build_libs, build_apps, b2c_e2e_tests, b2c_ssr_e2e_tests, b2b_e2e_tests, a11y_e2e_tests, notify_e2e_failures] + needs: + [ + build_libs, + build_apps, + b2c_e2e_tests, + b2c_ssr_e2e_tests, + b2b_e2e_tests, + a11y_e2e_tests, + notify_e2e_failures, + ] name: MC - Result runs-on: ubuntu-latest if: ${{ always() }} From 7dc531fee47be501d58df8b682757f6970a66524 Mon Sep 17 00:00:00 2001 From: zeyber Date: Thu, 26 Feb 2026 11:47:05 +0100 Subject: [PATCH 11/17] Revert "try restore key" This reverts commit 7f2bf9ac3b5860ef65474dda6093208dba37a441. --- .github/actions/e2e-setup/action.yml | 10 +++++----- .github/actions/restore-e2e-libraries/action.yml | 3 +-- .github/workflows/ci-merge-checks.yml | 15 +-------------- 3 files changed, 7 insertions(+), 21 deletions(-) diff --git a/.github/actions/e2e-setup/action.yml b/.github/actions/e2e-setup/action.yml index ad67c12f5e08..fe95bd5fa134 100644 --- a/.github/actions/e2e-setup/action.yml +++ b/.github/actions/e2e-setup/action.yml @@ -35,11 +35,11 @@ runs: cache-key: ${{ inputs.libs-cache-key }} fail-on-cache-miss: true - - name: Restore e2e libraries - uses: ./.github/actions/restore-e2e-libraries - with: - cache-key: ${{ inputs.e2e-cache-key }} - fail-on-cache-miss: true + #- name: Restore e2e libraries + # uses: ./.github/actions/restore-e2e-libraries + # with: + # cache-key: ${{ inputs.cache-key-base }} + # fail-on-cache-miss: true - name: Restore built app uses: ./.github/actions/restore-built-app diff --git a/.github/actions/restore-e2e-libraries/action.yml b/.github/actions/restore-e2e-libraries/action.yml index 07334196142e..fd47fad7f19b 100644 --- a/.github/actions/restore-e2e-libraries/action.yml +++ b/.github/actions/restore-e2e-libraries/action.yml @@ -16,6 +16,5 @@ runs: with: path: | projects/storefrontapp-e2e-cypress/node_modules - key: nodemodules-${{ inputs.cache-key }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: nodemodules-${{ inputs.cache-key }}- + key: nodemodules-${{ inputs.cache-key }} fail-on-cache-miss: ${{ inputs.fail-on-cache-miss }} diff --git a/.github/workflows/ci-merge-checks.yml b/.github/workflows/ci-merge-checks.yml index 17ef51758924..5a08e234638c 100644 --- a/.github/workflows/ci-merge-checks.yml +++ b/.github/workflows/ci-merge-checks.yml @@ -150,7 +150,6 @@ jobs: cache-key-base: ${{ github.event.pull_request.base.sha }} libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} app-cache-key: ci-b2c-csr-${{ github.event.pull_request.head.sha || github.run_id }} - e2e-cache-key: ${{ github.event.pull_request.base.sha }} - name: Run e2es env: SPA_ENV: ci @@ -182,7 +181,6 @@ jobs: cache-key-base: ${{ github.event.pull_request.base.sha }} libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} app-cache-key: ci-b2c-csr-${{ github.event.pull_request.head.sha || github.run_id }} - e2e-cache-key: ${{ github.event.pull_request.base.sha }} - name: Run e2es env: SPA_ENV: ci,b2c @@ -202,7 +200,6 @@ jobs: cache-key-base: ${{ github.event.pull_request.base.sha }} libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} app-cache-key: ci-b2c-ssr-${{ github.event.pull_request.head.sha || github.run_id }} - e2e-cache-key: ${{ github.event.pull_request.base.sha }} - name: Run e2es env: SPA_ENV: ci,b2c @@ -225,7 +222,6 @@ jobs: cache-key-base: ${{ github.event.pull_request.base.sha }} libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} app-cache-key: ci-b2b-csr-${{ github.event.pull_request.head.sha || github.run_id }} - e2e-cache-key: ${{ github.event.pull_request.base.sha }} - name: Run e2es env: SPA_ENV: ci,b2b @@ -254,16 +250,7 @@ jobs: const postScreenshotComment = require('./ci-scripts/post-screenshot-comment.js'); await postScreenshotComment(github, context); merge_checks_result: - needs: - [ - build_libs, - build_apps, - b2c_e2e_tests, - b2c_ssr_e2e_tests, - b2b_e2e_tests, - a11y_e2e_tests, - notify_e2e_failures, - ] + needs: [build_libs, build_apps, b2c_e2e_tests, b2c_ssr_e2e_tests, b2b_e2e_tests, a11y_e2e_tests, notify_e2e_failures] name: MC - Result runs-on: ubuntu-latest if: ${{ always() }} From e8e7775eae973bfcf87bb5734a3ffdbc5f6419e3 Mon Sep 17 00:00:00 2001 From: zeyber Date: Thu, 26 Feb 2026 11:51:30 +0100 Subject: [PATCH 12/17] reorder e2e jobs --- .github/workflows/ci-merge-checks.yml | 62 +++++++++++++-------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/.github/workflows/ci-merge-checks.yml b/.github/workflows/ci-merge-checks.yml index 5a08e234638c..eeb7c9a55cd9 100644 --- a/.github/workflows/ci-merge-checks.yml +++ b/.github/workflows/ci-merge-checks.yml @@ -133,37 +133,6 @@ jobs: path: | dist/storefrontapp key: spartacus-app-${{ matrix.cache_key }}-${{ matrix.build_type }}-${{ github.event.pull_request.head.sha || github.run_id }} - a11y_e2e_tests: - needs: [no_retries, validate_e2e_execution, build_apps] - name: MC - E2E A11Y - runs-on: ubuntu-latest - strategy: - matrix: - containers: [1, 2, 3] - if: ${{ needs.validate_e2e_execution.outputs.SHOULD_RUN_E2E == 'true' }} - steps: - - uses: actions/checkout@v6 - - name: E2E Test Setup - uses: ./.github/actions/e2e-setup - with: - node-version: ${{ env.NODE_VERSION }} - cache-key-base: ${{ github.event.pull_request.base.sha }} - libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} - app-cache-key: ci-b2c-csr-${{ github.event.pull_request.head.sha || github.run_id }} - - name: Run e2es - env: - SPA_ENV: ci - BUILD_NUMBER: ci-build-number-${{ github.event.pull_request.head.sha || github.run_id }} - GITHUB_MATRIX_CONTAINER: ${{ matrix.containers }} - GITHUB_MATRIX_TOTAL: ${{ strategy.job-total }} - CYPRESS_ENABLE_SCREENSHOTS: true - run: ci-scripts/e2e-cypress.sh -s a11y --skip-build - - name: Collect screenshots - if: always() - uses: ./.github/actions/collect-e2e-screenshots - with: - test-suite: a11y - container-id: ${{ matrix.containers }} b2c_e2e_tests: needs: [no_retries, validate_e2e_execution, build_apps] name: MC - E2E B2C core @@ -227,6 +196,37 @@ jobs: SPA_ENV: ci,b2b BUILD_NUMBER: ci-build-number-${{ github.event.pull_request.head.sha || github.run_id }} run: ci-scripts/e2e-cypress.sh -s b2b --skip-build + a11y_e2e_tests: + needs: [no_retries, validate_e2e_execution, build_apps] + name: MC - E2E A11Y + runs-on: ubuntu-latest + strategy: + matrix: + containers: [1, 2, 3] + if: ${{ needs.validate_e2e_execution.outputs.SHOULD_RUN_E2E == 'true' }} + steps: + - uses: actions/checkout@v6 + - name: E2E Test Setup + uses: ./.github/actions/e2e-setup + with: + node-version: ${{ env.NODE_VERSION }} + cache-key-base: ${{ github.event.pull_request.base.sha }} + libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} + app-cache-key: ci-b2c-csr-${{ github.event.pull_request.head.sha || github.run_id }} + - name: Run e2es + env: + SPA_ENV: ci + BUILD_NUMBER: ci-build-number-${{ github.event.pull_request.head.sha || github.run_id }} + GITHUB_MATRIX_CONTAINER: ${{ matrix.containers }} + GITHUB_MATRIX_TOTAL: ${{ strategy.job-total }} + CYPRESS_ENABLE_SCREENSHOTS: true + run: ci-scripts/e2e-cypress.sh -s a11y --skip-build + - name: Collect screenshots + if: always() + uses: ./.github/actions/collect-e2e-screenshots + with: + test-suite: a11y + container-id: ${{ matrix.containers }} notify_e2e_failures: needs: [b2c_e2e_tests, b2c_ssr_e2e_tests, b2b_e2e_tests, a11y_e2e_tests] name: MC - Notify E2E Failures From e15ca2240cfbb84ab8bfd10caba6eb6a213325fe Mon Sep 17 00:00:00 2001 From: zeyber Date: Thu, 26 Feb 2026 12:05:02 +0100 Subject: [PATCH 13/17] try base key --- .github/actions/e2e-setup/action.yml | 10 +++++----- .github/workflows/ci-merge-checks.yml | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/actions/e2e-setup/action.yml b/.github/actions/e2e-setup/action.yml index fe95bd5fa134..ad67c12f5e08 100644 --- a/.github/actions/e2e-setup/action.yml +++ b/.github/actions/e2e-setup/action.yml @@ -35,11 +35,11 @@ runs: cache-key: ${{ inputs.libs-cache-key }} fail-on-cache-miss: true - #- name: Restore e2e libraries - # uses: ./.github/actions/restore-e2e-libraries - # with: - # cache-key: ${{ inputs.cache-key-base }} - # fail-on-cache-miss: true + - name: Restore e2e libraries + uses: ./.github/actions/restore-e2e-libraries + with: + cache-key: ${{ inputs.e2e-cache-key }} + fail-on-cache-miss: true - name: Restore built app uses: ./.github/actions/restore-built-app diff --git a/.github/workflows/ci-merge-checks.yml b/.github/workflows/ci-merge-checks.yml index eeb7c9a55cd9..1aeb89598c56 100644 --- a/.github/workflows/ci-merge-checks.yml +++ b/.github/workflows/ci-merge-checks.yml @@ -150,6 +150,7 @@ jobs: cache-key-base: ${{ github.event.pull_request.base.sha }} libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} app-cache-key: ci-b2c-csr-${{ github.event.pull_request.head.sha || github.run_id }} + e2e-cache-key: ${{ github.event.pull_request.base.sha }} - name: Run e2es env: SPA_ENV: ci,b2c From 823ac246c475e78a378af1c79de5fd49d96c07a3 Mon Sep 17 00:00:00 2001 From: zeyber Date: Thu, 26 Feb 2026 12:26:59 +0100 Subject: [PATCH 14/17] change cache key --- .github/actions/e2e-setup/action.yml | 12 ++++++------ .github/workflows/ci-merge-checks.yml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/actions/e2e-setup/action.yml b/.github/actions/e2e-setup/action.yml index ad67c12f5e08..bdd9f53a1c18 100644 --- a/.github/actions/e2e-setup/action.yml +++ b/.github/actions/e2e-setup/action.yml @@ -35,14 +35,14 @@ runs: cache-key: ${{ inputs.libs-cache-key }} fail-on-cache-miss: true - - name: Restore e2e libraries - uses: ./.github/actions/restore-e2e-libraries - with: - cache-key: ${{ inputs.e2e-cache-key }} - fail-on-cache-miss: true - - name: Restore built app uses: ./.github/actions/restore-built-app with: cache-key: ${{ inputs.app-cache-key }} fail-on-cache-miss: true + + - name: Restore e2e libraries + uses: ./.github/actions/restore-e2e-libraries + with: + cache-key: ${{ inputs.e2e-cache-key }} + fail-on-cache-miss: true diff --git a/.github/workflows/ci-merge-checks.yml b/.github/workflows/ci-merge-checks.yml index 1aeb89598c56..8873df33705a 100644 --- a/.github/workflows/ci-merge-checks.yml +++ b/.github/workflows/ci-merge-checks.yml @@ -150,7 +150,7 @@ jobs: cache-key-base: ${{ github.event.pull_request.base.sha }} libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} app-cache-key: ci-b2c-csr-${{ github.event.pull_request.head.sha || github.run_id }} - e2e-cache-key: ${{ github.event.pull_request.base.sha }} + e2e-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} - name: Run e2es env: SPA_ENV: ci,b2c From 36e1925a5004b9e3919f2e669052593e5cfd50d0 Mon Sep 17 00:00:00 2001 From: zeyber Date: Thu, 26 Feb 2026 12:43:31 +0100 Subject: [PATCH 15/17] add dash to key --- .github/workflows/ci-merge-checks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-merge-checks.yml b/.github/workflows/ci-merge-checks.yml index 8873df33705a..a6c1cd657834 100644 --- a/.github/workflows/ci-merge-checks.yml +++ b/.github/workflows/ci-merge-checks.yml @@ -150,7 +150,7 @@ jobs: cache-key-base: ${{ github.event.pull_request.base.sha }} libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} app-cache-key: ci-b2c-csr-${{ github.event.pull_request.head.sha || github.run_id }} - e2e-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} + e2e-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }}- - name: Run e2es env: SPA_ENV: ci,b2c From a65aa74670bfa9049ad262fd1e01f799eaae9754 Mon Sep 17 00:00:00 2001 From: zeyber Date: Thu, 26 Feb 2026 13:53:04 +0100 Subject: [PATCH 16/17] add hash to cache key --- .github/workflows/ci-merge-checks.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-merge-checks.yml b/.github/workflows/ci-merge-checks.yml index a6c1cd657834..a1c4f8bbeb6a 100644 --- a/.github/workflows/ci-merge-checks.yml +++ b/.github/workflows/ci-merge-checks.yml @@ -150,7 +150,8 @@ jobs: cache-key-base: ${{ github.event.pull_request.base.sha }} libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} app-cache-key: ci-b2c-csr-${{ github.event.pull_request.head.sha || github.run_id }} - e2e-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }}- + e2e-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }}-${{ hashFiles('**/package-lock.json') }} + - name: Run e2es env: SPA_ENV: ci,b2c From 5fe006105f4ab586f3a4df2d10c364821225a19e Mon Sep 17 00:00:00 2001 From: zeyber Date: Thu, 26 Feb 2026 15:06:24 +0100 Subject: [PATCH 17/17] try base key again --- .github/workflows/ci-merge-checks.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci-merge-checks.yml b/.github/workflows/ci-merge-checks.yml index a1c4f8bbeb6a..97edcff70190 100644 --- a/.github/workflows/ci-merge-checks.yml +++ b/.github/workflows/ci-merge-checks.yml @@ -150,8 +150,7 @@ jobs: cache-key-base: ${{ github.event.pull_request.base.sha }} libs-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }} app-cache-key: ci-b2c-csr-${{ github.event.pull_request.head.sha || github.run_id }} - e2e-cache-key: ${{ github.event.pull_request.head.sha || github.run_id }}-${{ hashFiles('**/package-lock.json') }} - + e2e-cache-key: ${{ github.event.pull_request.base.sha || github.event.pull_request.head.sha || github.run_id }}-${{ hashFiles('**/package-lock.json') }} - name: Run e2es env: SPA_ENV: ci,b2c