Skip to content

EXUI-4306 add Playwright tag filters and Jenkins worker controls#5007

Merged
RiteshHMCTS merged 3 commits intomasterfrom
test/EXUI-4306_e2e_tags_off
Mar 12, 2026
Merged

EXUI-4306 add Playwright tag filters and Jenkins worker controls#5007
RiteshHMCTS merged 3 commits intomasterfrom
test/EXUI-4306_e2e_tags_off

Conversation

@andyg-cgi
Copy link
Contributor

Jira link

See EXUI-4306

Change description

This PR tightens the CI functional test pipeline so parallel execution is less wasteful and harder to misuse from Jenkins.

It replaces hardcoded functional test worker assumptions with CPU-aware allocation already introduced in the branch, then hardens the surrounding behaviour:

adds stronger Playwright tag-filter validation so invalid/unknown tags fail early
prevents “green with no real tagged coverage” combinations by rejecting suite-wide exclusions unless explicitly allowed for local debugging
splits API Playwright onto a dedicated config so API runs are not coupled to UI tag-filter files
removes duplicate setup load from the hot parallel path by:
skipping redundant Playwright browser install in Jenkins parallel stages
allowing Codecept integration to skip its internal build when Jenkins has already prepared the app
improves Jenkins parameter descriptions with concrete valid examples so operators do not submit bad tag filters
brings Jenkinsfile validation into the standard yarn lint path
updates README guidance to match the actual CI behaviour

Testing done

Executed targeted validation for the changed paths:

npx playwright test playwright_tests_new/api/playwright-config-coverage.api.ts playwright_tests_new/api/playwright-ui-config-coverage.api.ts --config=playwright.api.config.ts
./node_modules/.bin/eslint playwright-config-utils.ts playwright.config.ts playwright.api.config.ts playwright.e2e.config.ts playwright.integration.config.ts playwright_tests_new/api/playwright-config-coverage.api.ts playwright_tests_new/api/playwright-ui-config-coverage.api.ts playwright_tests_new/E2E/test/tag-filter-sentinel.spec.ts playwright_tests_new/integration/test/tag-filter-sentinel.spec.ts playwright_tests_new/api/tag-filter-sentinel.api.ts
yarn lint:jenkinsfile
git diff --check -- Jenkinsfile_CNP README.md package.json playwright-config-utils.ts playwright.api.config.ts playwright.config.ts playwright.e2e.config.ts playwright.integration.config.ts playwright_tests_new/README.md playwright_tests_new/api/service-tag-filter.json playwright_tests_new/api/playwright-config-coverage.api.ts playwright_tests_new/api/playwright-ui-config-coverage.api.ts playwright_tests_new/E2E/test/tag-filter-sentinel.spec.ts playwright_tests_new/integration/test/tag-filter-sentinel.spec.ts playwright_tests_new/api/tag-filter-sentinel.api.ts
node -e "const {spawnSync}=require('node:child_process'); const script=require('./package.json').scripts['test:xuiIntegration']; const result=spawnSync('sh',['-n','-c',script],{stdio:'inherit'}); process.exit(result.status ?? 1);"

Results:

Playwright config coverage tests passed (12 passed)
ESLint passed
Jenkinsfile local Groovy parse passed
diff whitespace check passed
updated test:xuiIntegration shell script parsed successfully

Security Vulnerability Assessment

CVE Suppression: Are there any CVEs present in the codebase (either newly introduced or pre-existing) that are being intentionally suppressed or ignored by this commit?

  • Yes
  • No

Checklist

  • commit messages are meaningful and follow good commit message guidelines
  • README and other documentation has been updated / added (if needed)
  • tests have been updated / new tests has been added (if needed)
  • Does this PR introduce a breaking change

@RiteshHMCTS RiteshHMCTS merged commit f90b663 into master Mar 12, 2026
5 checks passed
@RiteshHMCTS RiteshHMCTS deleted the test/EXUI-4306_e2e_tags_off branch March 12, 2026 11:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants