From 169959ca292e92b79c84476c3c6b3c615970806b Mon Sep 17 00:00:00 2001 From: Gernot Kuhr Date: Wed, 12 Nov 2025 16:37:46 +0100 Subject: [PATCH 1/4] fix: strategy, runs-on --- .github/workflows/integration-tests.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 82217a710b8..f0de913f56c 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -29,8 +29,10 @@ jobs: strategy: fail-fast: false matrix: + os: [ubuntu-latest, windows-2025] + # https://github.com/actions/runner-images?tab=readme-ov-file#available-images ui5-version: ${{ fromJson(needs.ui5-versions.outputs.ui5_versions) }} - runs-on: [ubuntu-latest, windows-2025] + runs-on: ${{ matrix.os }} needs: ui5-versions timeout-minutes: 30 steps: From 554cd1218779bb7eeb11ae77f45643d15d96ec04 Mon Sep 17 00:00:00 2001 From: Gernot Kuhr Date: Wed, 12 Nov 2025 17:02:05 +0100 Subject: [PATCH 2/4] node-versions added --- .github/workflows/integration-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index f0de913f56c..a2f034a8289 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -32,6 +32,7 @@ jobs: os: [ubuntu-latest, windows-2025] # https://github.com/actions/runner-images?tab=readme-ov-file#available-images ui5-version: ${{ fromJson(needs.ui5-versions.outputs.ui5_versions) }} + node-version: [20.x, 22.x] runs-on: ${{ matrix.os }} needs: ui5-versions timeout-minutes: 30 From 9c16f47601e0fa61a9742c18369d545d1c8dbbc4 Mon Sep 17 00:00:00 2001 From: Gernot Kuhr Date: Wed, 12 Nov 2025 17:18:02 +0100 Subject: [PATCH 3/4] fix: workflow --- .github/workflows/integration-tests.yml | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index a2f034a8289..a7154830429 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -11,6 +11,8 @@ jobs: outputs: ui5_versions: ${{ steps.output-ui5-versions.outputs.ui5_versions }} steps: + - name: Checkout code repository + uses: actions/checkout@v4 - name: Read UI5 versions from cache uses: actions/cache/restore@v4 with: @@ -25,14 +27,12 @@ jobs: echo "ui5_versions=$(cat tests/integration/adaptation-editor/versions.json)" >> $GITHUB_OUTPUT playwright-tests: - # if: github.repository == 'SAP/open-ux-tools' && github.event_name == 'push' && github.ref == 'refs/heads/main' strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-2025] # https://github.com/actions/runner-images?tab=readme-ov-file#available-images ui5-version: ${{ fromJson(needs.ui5-versions.outputs.ui5_versions) }} - node-version: [20.x, 22.x] runs-on: ${{ matrix.os }} needs: ui5-versions timeout-minutes: 30 @@ -51,9 +51,9 @@ jobs: cache-name: cache-pnpm-modules with: path: ~/.pnpm-store - key: ubuntu-latest-build-${{ env.cache-name }}-20.x-${{ hashFiles('**/pnpm-lock.yaml') }} + key: ${{ matrix.os }}-build-${{ env.cache-name }}-20.x-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | - ubuntu-latest-build-build-${{ env.cache-name }}-20.x- + ${{ matrix.os }}-build-${{ env.cache-name }}-20.x- - name: Use Node.js 20.x uses: actions/setup-node@v4 with: @@ -70,7 +70,7 @@ jobs: with: path: | ~/.cache/ms-playwright - key: playwright-browsers-os-ubuntu-latest-node-version-20.x + key: playwright-browsers-${{ matrix.os }}-node-20.x - name: Install playwright chrome browsers if: steps.cache-playwright-browsers.outputs.cache-hit != 'true' run: npx playwright install chrome @@ -79,8 +79,8 @@ jobs: with: path: | tests/integration/adaptation-editor/versions.json - key: ui5-versions- - restore-keys: ui5-versions + key: ui5-versions + restore-keys: ui5-versions- - name: Run playwright tests run: cd tests/integration/adaptation-editor && pnpm exec playwright test --project=${{ matrix.ui5-version }} --reporter=blob env: @@ -89,10 +89,10 @@ jobs: if: ${{ !cancelled() }} uses: actions/upload-artifact@v4 with: - - name: blob-report-${{ matrix.ui5-version }} + name: blob-report-${{ matrix.os }}-${{ matrix.ui5-version }} path: tests/integration/adaptation-editor/blob-report retention-days: 1 + merge-reports: # Merge reports after playwright-tests, even if some shards have failed if: ${{ !cancelled() }} @@ -115,7 +115,7 @@ jobs: path: ~/.pnpm-store key: ubuntu-latest-build-${{ env.cache-name }}-20.x-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | - ubuntu-latest-build-build-${{ env.cache-name }}-20.x- + ubuntu-latest-build-${{ env.cache-name }}-20.x- - name: Use Node.js 20.x uses: actions/setup-node@v4 with: @@ -128,10 +128,8 @@ jobs: path: tests/integration/adaptation-editor/all-blob-reports pattern: blob-report-* merge-multiple: true - - name: Merge into HTML Report run: cd tests/integration/adaptation-editor && npx playwright merge-reports --reporter html ./all-blob-reports - - name: Upload HTML report uses: actions/upload-artifact@v4 with: From 09900c370649f134249ca91eafd93e53ca24520e Mon Sep 17 00:00:00 2001 From: Gernot Kuhr Date: Wed, 12 Nov 2025 17:58:28 +0100 Subject: [PATCH 4/4] fix: path --- .github/workflows/integration-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index a7154830429..1d220c7af5d 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -69,7 +69,7 @@ jobs: uses: actions/cache@v4 with: path: | - ~/.cache/ms-playwright + ${{ runner.os == 'Windows' && '~\AppData\Local\ms-playwright' || '~/.cache/ms-playwright' }} key: playwright-browsers-${{ matrix.os }}-node-20.x - name: Install playwright chrome browsers if: steps.cache-playwright-browsers.outputs.cache-hit != 'true'