You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@fineract.apache.org by "Shreyas0786 (via GitHub)" <gi...@apache.org> on 2026/08/08 17:39:56 UTC
[PR] ci(e2e): shard mocked Playwright tests [fineract-backoffice-ui]
Shreyas0786 opened a new pull request, #275:
URL: https://github.com/apache/fineract-backoffice-ui/pull/275
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## What and why
Shards the mocked Playwright project across four GitHub Actions matrix jobs, then merges their blob reports in a dependent job. This reduces the mocked-suite wall-clock time while preserving the combined HTML/JSON report and PR summary. The backend project remains unchanged.
Closes #259
## Verification
- `npx playwright test --list --project=mocked` — 220 tests in 13 files
- Verified four shards contain 55 tests each, totaling 220
- Dry-ran four list-only blob reports and merged them successfully — merged JSON contained 220 tests across 13 suites
- `npm run format:check`
- `npm run lint`
- `npm run build`
- `bash scripts/check-license.sh`
- No UI or real Fineract backend was exercised; this is a workflow-only change
## Screenshots
Not applicable — workflow-only change with no visual UI changes.
## Checklist
- [x] I did not hand-edit generated files under `src/app/api/`.
- [x] New component or service code uses the adapter boundary in `src/app/core/adapters/` instead of direct browser globals or imperative third-party APIs. Not applicable; no component or service code changed.
- [x] User-facing strings use translation keys. Not applicable; no user-facing strings changed.
- [x] I added or updated tests appropriate to this change, or explained why tests were not needed. The existing 220-test suite was verified across four shards and through a merged-report dry run.
- [x] UI workflow changes include suitable e2e coverage, including real-backend testing where relevant. Not applicable; no UI workflow changed, and the backend job remains unchanged.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci(e2e): shard mocked Playwright tests [fineract-backoffice-ui]
Posted by "Shreyas0786 (via GitHub)" <gi...@apache.org>.
Shreyas0786 commented on code in PR #275:
URL: https://github.com/apache/fineract-backoffice-ui/pull/275#discussion_r3741375304
##########
.github/workflows/e2e.yml:
##########
@@ -80,20 +88,64 @@ jobs:
run: npx playwright install chromium --with-deps
- name: Run mocked E2E tests
+ env:
+ SHARD_INDEX: ${{ matrix.shard }}
+ SHARD_TOTAL: ${{ matrix.total }}
+ PLAYWRIGHT_OUTPUT_DIR: ${{ runner.temp }}/e2e-output
+ run: npx playwright test --project=mocked --shard="$SHARD_INDEX/$SHARD_TOTAL" --reporter=blob
+
+ - name: Upload blob report
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
+ if: ${{ !cancelled() }}
+ with:
+ name: playwright-blob-mocked-${{ matrix.shard }}
+ path: blob-report/
+ if-no-files-found: warn
+ retention-days: 1
+
+ mocked-report:
+ name: E2E (mocked backend report)
+ if: ${{ !cancelled() }}
+ needs: mocked
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read # checkout
+ pull-requests: write # upsert the merged summary comment
+ steps:
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4
+ with:
+ persist-credentials: false
+
+ - name: Set up Node.js
+ uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
+ with:
+ node-version: 'lts/*'
+ cache: 'npm'
+
+ - name: Install dependencies
+ run: npm ci
+
+ - name: Download blob reports
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ path: all-blob-reports
+ pattern: playwright-blob-mocked-*
+ merge-multiple: true
+
+ - name: Merge mocked E2E reports
env:
PLAYWRIGHT_HTML_OPEN: 'never'
PLAYWRIGHT_JSON_OUTPUT_NAME: 'playwright-results.json'
- PLAYWRIGHT_OUTPUT_DIR: ${{ runner.temp }}/e2e-output
- run: npx playwright test --project=mocked --reporter=line,html,json
+ run: npx playwright merge-reports --reporter=html,json ./all-blob-reports
Review Comment:
Updated the merged reporter list to line,html,json, so the job log shows the tests executed across the shards.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci(e2e): shard mocked Playwright tests [fineract-backoffice-ui]
Posted by "Shreyas0786 (via GitHub)" <gi...@apache.org>.
Shreyas0786 commented on code in PR #275:
URL: https://github.com/apache/fineract-backoffice-ui/pull/275#discussion_r3741357513
##########
.github/workflows/e2e.yml:
##########
@@ -80,20 +84,64 @@ jobs:
run: npx playwright install chromium --with-deps
- name: Run mocked E2E tests
+ env:
+ SHARD_INDEX: ${{ matrix.shard }}
+ SHARD_TOTAL: ${{ matrix.total }}
+ PLAYWRIGHT_OUTPUT_DIR: ${{ runner.temp }}/e2e-output
+ run: npx playwright test --project=mocked --shard="$SHARD_INDEX/$SHARD_TOTAL" --reporter=blob
+
+ - name: Upload blob report
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
+ if: ${{ !cancelled() }}
+ with:
+ name: playwright-blob-mocked-${{ matrix.shard }}
+ path: blob-report/
+ if-no-files-found: warn
+ retention-days: 1
+
+ mocked-report:
+ name: E2E (mocked backend report)
+ if: ${{ !cancelled() }}
+ needs: mocked
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read # checkout
+ pull-requests: write # upsert the merged summary comment
+ steps:
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4
+ with:
+ persist-credentials: false
+
+ - name: Set up Node.js
+ uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
+ with:
+ node-version: 'lts/*'
+ cache: 'npm'
+
+ - name: Install dependencies
+ run: npm ci
+
+ - name: Download blob reports
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ path: all-blob-reports
+ pattern: playwright-blob-mocked-*
+ merge-multiple: true
+
+ - name: Merge mocked E2E reports
env:
PLAYWRIGHT_HTML_OPEN: 'never'
PLAYWRIGHT_JSON_OUTPUT_NAME: 'playwright-results.json'
- PLAYWRIGHT_OUTPUT_DIR: ${{ runner.temp }}/e2e-output
- run: npx playwright test --project=mocked --reporter=line,html,json
+ run: npx playwright merge-reports --reporter=html,json ./all-blob-reports
- - name: Upload report and videos
+ - name: Upload merged report
Review Comment:
Updated the step name to Upload merged report and videos.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci(e2e): shard mocked Playwright tests [fineract-backoffice-ui]
Posted by "Aman-Mittal (via GitHub)" <gi...@apache.org>.
Aman-Mittal commented on PR #275:
URL: https://github.com/apache/fineract-backoffice-ui/pull/275#issuecomment-5227615661
> Rebased onto the latest main and addressed the review comments in [95d1862](https://github.com/apache/fineract-backoffice-ui/commit/95d18624ddd043f936d24705022d0251d81b42b1). I also documented that branch protection must require all four shard checks rather than the report job. @Aman-Mittal, could you confirm the old E2E (mocked backend) requirement will be replaced with the four shard checks when this merges?
Yes
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci(e2e): shard mocked Playwright tests [fineract-backoffice-ui]
Posted by "Aman-Mittal (via GitHub)" <gi...@apache.org>.
Aman-Mittal commented on code in PR #275:
URL: https://github.com/apache/fineract-backoffice-ui/pull/275#discussion_r3741371764
##########
.github/workflows/e2e.yml:
##########
@@ -80,20 +88,64 @@ jobs:
run: npx playwright install chromium --with-deps
- name: Run mocked E2E tests
+ env:
+ SHARD_INDEX: ${{ matrix.shard }}
+ SHARD_TOTAL: ${{ matrix.total }}
+ PLAYWRIGHT_OUTPUT_DIR: ${{ runner.temp }}/e2e-output
+ run: npx playwright test --project=mocked --shard="$SHARD_INDEX/$SHARD_TOTAL" --reporter=blob
+
+ - name: Upload blob report
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
+ if: ${{ !cancelled() }}
+ with:
+ name: playwright-blob-mocked-${{ matrix.shard }}
+ path: blob-report/
+ if-no-files-found: warn
+ retention-days: 1
+
+ mocked-report:
+ name: E2E (mocked backend report)
+ if: ${{ !cancelled() }}
+ needs: mocked
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read # checkout
+ pull-requests: write # upsert the merged summary comment
+ steps:
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4
+ with:
+ persist-credentials: false
+
+ - name: Set up Node.js
+ uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
+ with:
+ node-version: 'lts/*'
+ cache: 'npm'
+
+ - name: Install dependencies
+ run: npm ci
+
+ - name: Download blob reports
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ path: all-blob-reports
+ pattern: playwright-blob-mocked-*
+ merge-multiple: true
+
+ - name: Merge mocked E2E reports
env:
PLAYWRIGHT_HTML_OPEN: 'never'
PLAYWRIGHT_JSON_OUTPUT_NAME: 'playwright-results.json'
- PLAYWRIGHT_OUTPUT_DIR: ${{ runner.temp }}/e2e-output
- run: npx playwright test --project=mocked --reporter=line,html,json
+ run: npx playwright merge-reports --reporter=html,json ./all-blob-reports
Review Comment:
--reporter=line,html,json ac it will show only
.........
i will not able to confirm what test ran on that shard
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci(e2e): shard mocked Playwright tests [fineract-backoffice-ui]
Posted by "Shreyas0786 (via GitHub)" <gi...@apache.org>.
Shreyas0786 commented on code in PR #275:
URL: https://github.com/apache/fineract-backoffice-ui/pull/275#discussion_r3741357956
##########
.github/workflows/e2e.yml:
##########
@@ -36,21 +36,25 @@ permissions: {}
# The suite is split in two so a broken mock does not wait behind a Fineract
# boot, and so the slow half is not on the critical path for the fast one.
#
-# mocked — 188 tests that stub the backend with page.route(). Needs no
+# mocked — 220 tests that stub the backend with page.route(). Needs no
Review Comment:
Removed the fixed test counts from both project descriptions.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci(e2e): shard mocked Playwright tests [fineract-backoffice-ui]
Posted by "Aman-Mittal (via GitHub)" <gi...@apache.org>.
Aman-Mittal merged PR #275:
URL: https://github.com/apache/fineract-backoffice-ui/pull/275
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci(e2e): shard mocked Playwright tests [fineract-backoffice-ui]
Posted by "Shreyas0786 (via GitHub)" <gi...@apache.org>.
Shreyas0786 commented on PR #275:
URL: https://github.com/apache/fineract-backoffice-ui/pull/275#issuecomment-5227596616
Rebased onto the latest main and addressed the review comments in 95d1862. I also documented that branch protection must require all four shard checks rather than the report job. @Aman-Mittal, could you confirm the old E2E (mocked backend) requirement will be replaced with the four shard checks when this merges?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci(e2e): shard mocked Playwright tests [fineract-backoffice-ui]
Posted by "Aman-Mittal (via GitHub)" <gi...@apache.org>.
Aman-Mittal commented on code in PR #275:
URL: https://github.com/apache/fineract-backoffice-ui/pull/275#discussion_r3741268963
##########
.github/workflows/e2e.yml:
##########
@@ -80,20 +84,64 @@ jobs:
run: npx playwright install chromium --with-deps
- name: Run mocked E2E tests
+ env:
+ SHARD_INDEX: ${{ matrix.shard }}
+ SHARD_TOTAL: ${{ matrix.total }}
+ PLAYWRIGHT_OUTPUT_DIR: ${{ runner.temp }}/e2e-output
+ run: npx playwright test --project=mocked --shard="$SHARD_INDEX/$SHARD_TOTAL" --reporter=blob
+
+ - name: Upload blob report
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
+ if: ${{ !cancelled() }}
+ with:
+ name: playwright-blob-mocked-${{ matrix.shard }}
+ path: blob-report/
+ if-no-files-found: warn
+ retention-days: 1
+
+ mocked-report:
+ name: E2E (mocked backend report)
+ if: ${{ !cancelled() }}
+ needs: mocked
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read # checkout
+ pull-requests: write # upsert the merged summary comment
+ steps:
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4
+ with:
+ persist-credentials: false
+
+ - name: Set up Node.js
+ uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
+ with:
+ node-version: 'lts/*'
+ cache: 'npm'
+
+ - name: Install dependencies
+ run: npm ci
+
+ - name: Download blob reports
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ path: all-blob-reports
+ pattern: playwright-blob-mocked-*
+ merge-multiple: true
+
+ - name: Merge mocked E2E reports
env:
PLAYWRIGHT_HTML_OPEN: 'never'
PLAYWRIGHT_JSON_OUTPUT_NAME: 'playwright-results.json'
- PLAYWRIGHT_OUTPUT_DIR: ${{ runner.temp }}/e2e-output
- run: npx playwright test --project=mocked --reporter=line,html,json
+ run: npx playwright merge-reports --reporter=html,json ./all-blob-reports
- - name: Upload report and videos
+ - name: Upload merged report
Review Comment:
Same as above as it also uploads video of passed tests.
##########
.github/workflows/e2e.yml:
##########
@@ -36,21 +36,25 @@ permissions: {}
# The suite is split in two so a broken mock does not wait behind a Fineract
# boot, and so the slow half is not on the critical path for the fast one.
#
-# mocked — 188 tests that stub the backend with page.route(). Needs no
+# mocked — 220 tests that stub the backend with page.route(). Needs no
Review Comment:
We can remove this entirely as new tests are being added for each feature
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci(e2e): shard mocked Playwright tests [fineract-backoffice-ui]
Posted by "Aman-Mittal (via GitHub)" <gi...@apache.org>.
Aman-Mittal commented on code in PR #275:
URL: https://github.com/apache/fineract-backoffice-ui/pull/275#discussion_r3741267893
##########
.github/workflows/e2e.yml:
##########
@@ -80,20 +84,64 @@ jobs:
run: npx playwright install chromium --with-deps
- name: Run mocked E2E tests
+ env:
+ SHARD_INDEX: ${{ matrix.shard }}
+ SHARD_TOTAL: ${{ matrix.total }}
+ PLAYWRIGHT_OUTPUT_DIR: ${{ runner.temp }}/e2e-output
+ run: npx playwright test --project=mocked --shard="$SHARD_INDEX/$SHARD_TOTAL" --reporter=blob
+
+ - name: Upload blob report
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
+ if: ${{ !cancelled() }}
+ with:
+ name: playwright-blob-mocked-${{ matrix.shard }}
+ path: blob-report/
+ if-no-files-found: warn
+ retention-days: 1
+
+ mocked-report:
+ name: E2E (mocked backend report)
+ if: ${{ !cancelled() }}
+ needs: mocked
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read # checkout
+ pull-requests: write # upsert the merged summary comment
+ steps:
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4
+ with:
+ persist-credentials: false
+
+ - name: Set up Node.js
+ uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
+ with:
+ node-version: 'lts/*'
+ cache: 'npm'
+
+ - name: Install dependencies
+ run: npm ci
+
+ - name: Download blob reports
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ path: all-blob-reports
+ pattern: playwright-blob-mocked-*
+ merge-multiple: true
+
+ - name: Merge mocked E2E reports
env:
PLAYWRIGHT_HTML_OPEN: 'never'
PLAYWRIGHT_JSON_OUTPUT_NAME: 'playwright-results.json'
- PLAYWRIGHT_OUTPUT_DIR: ${{ runner.temp }}/e2e-output
- run: npx playwright test --project=mocked --reporter=line,html,json
+ run: npx playwright merge-reports --reporter=html,json ./all-blob-reports
- - name: Upload report and videos
+ - name: Upload merged report
Review Comment:
merged report and videos*
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci(e2e): shard mocked Playwright tests [fineract-backoffice-ui]
Posted by "Aman-Mittal (via GitHub)" <gi...@apache.org>.
Aman-Mittal commented on PR #275:
URL: https://github.com/apache/fineract-backoffice-ui/pull/275#issuecomment-5227489160
@Shreyas0786 Also rebase against main
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org