@camunda/e2e-test-suite 0.0.533 → 0.0.534

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +68 -2
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -515,13 +515,79 @@ folder locally and to TestRail in the CI.
515
515
 
516
516
  Contributions to the C8 Cross-Component End-to-End Test Suite are welcome! If you find any issues or want to add new test cases, please submit a pull request or open an issue on GitHub.
517
517
 
518
- To contribute, please follow these guidelines:
518
+ General guidelines:
519
519
 
520
520
  - Anyone can contribute.
521
- - The reviewer of the pull request must be someone from the Test Automation Team
521
+ - The reviewer of the pull request must be someone from the Test Automation Team.
522
522
  - Test cases must adhere to the Page Object Model design pattern.
523
523
  - Test cases must involve multiple C8 components.
524
524
 
525
+ ### Multi-version PRs
526
+
527
+ Tests and page objects are organized by platform and minor version (e.g. `tests/8.9/`, `tests/8.10/`, `tests/SM-8.9/`).
528
+
529
+ | Change type | Recommendation |
530
+ |---|---|
531
+ | Small mechanical fix (e.g. selector rename, one-liner) applied consistently across versions | Acceptable in a single PR — note it in the PR description |
532
+ | New test, new helper, or any change that requires review of logic per-version | **Split into one PR per version** |
533
+ | Refactoring or structural change | **Split into one PR per version** |
534
+
535
+ Reviewers are expected to understand the context of each version they review. Large multi-version PRs make meaningful review impractical and hide regressions. When in doubt, split.
536
+
537
+ **How to split:**
538
+
539
+ 1. Create a branch per version: `feat/my-change-8-9`, `feat/my-change-8-10`, etc.
540
+ 2. Apply your change to the first branch and open a PR.
541
+ 3. Cherry-pick or re-apply to subsequent branches and open follow-up PRs.
542
+ 4. Link the sibling PRs in each description for traceability.
543
+
544
+ ### Test runs before review
545
+
546
+ **Do not request a review — and do not assign reviewers — until a successful test run is linked in your PR.**
547
+
548
+ This applies to all changes that touch test specs, page objects, fixtures, or utilities.
549
+
550
+ #### Automatic test runs on PR
551
+
552
+ The [SaaS/SM/C8Run PR](https://github.com/camunda/c8-cross-component-e2e-tests/actions/workflows/playwright.yml) workflow runs automatically on every pull request. It detects which `tests/` and `pages/` sub-directories have changed and runs the tests for those versions/platforms.
553
+
554
+ **This works reliably only when a PR touches a single version and a single platform.** Examples that work automatically:
555
+
556
+ - Only `tests/8.10/` and/or `pages/8.10/` are changed → 8.10 SaaS tests run.
557
+ - Only `tests/SM-8.9/` and/or `pages/SM-8.9/` are changed → SM-8.9 tests run.
558
+
559
+ If no `tests/` or `pages/` folders are changed (e.g. infrastructure or tooling changes), the test run is skipped automatically — state this explicitly in the PR description.
560
+
561
+ #### When you must trigger tests manually
562
+
563
+ The automatic PR workflow **does not reliably cover** changes that span multiple versions or multiple platforms. In those cases you must trigger the relevant on-demand workflows manually — or, preferably, split the PR (see [Multi-version PRs](#multi-version-prs) above).
564
+
565
+ | Scenario | Action required |
566
+ |---|---|
567
+ | Only one version and one platform changed | Wait for the automatic PR workflow |
568
+ | Multiple SaaS versions changed (e.g. `8.9` + `8.8`) | Trigger [SaaS On-Demand](https://github.com/camunda/c8-cross-component-e2e-tests/actions/workflows/playwright_saas_manual.yml) separately for each version, **or split the PR** |
569
+ | Multiple SM versions changed (e.g. `SM-8.9` + `SM-8.8`) | Trigger [SM On-Demand ≥8.8](https://github.com/camunda/c8-cross-component-e2e-tests/actions/workflows/playwright_sm_manual_install_8_8_plus.yml) or [SM On-Demand ≤8.7](https://github.com/camunda/c8-cross-component-e2e-tests/actions/workflows/playwright_sm_manual.yml) separately for each version, **or split the PR** |
570
+ | SaaS + SM versions changed together (e.g. `8.9` + `SM-8.8`) | Trigger both the SaaS and SM on-demand workflows, **or split the PR** |
571
+ | Connector tests | [SaaS Connectors](https://github.com/camunda/c8-cross-component-e2e-tests/actions/workflows/playwright_saas_connectors.yml) or the relevant SM connector workflow |
572
+ | C8 Run tests (`tests/c8Run-8.x/`) | [C8Run On-Demand Linux](https://github.com/camunda/c8-cross-component-e2e-tests/actions/workflows/playwright_c8Run_tests_manual_linux.yml) |
573
+
574
+ #### Steps
575
+
576
+ 1. Wait for the automatic PR workflow to complete **or** trigger the relevant on-demand workflow(s) manually.
577
+ 2. Confirm each run passes (or document known flakiness with a re-run showing it as non-deterministic).
578
+ 3. Paste every workflow run URL in the **Definition of Done** section of the PR before assigning reviewers.
579
+
580
+ Reviewers are expected to verify that a passing run for every changed version/platform is linked before approving.
581
+
582
+ ### PR checklist summary
583
+
584
+ Before marking a PR as ready for review:
585
+
586
+ - [ ] Change scope is appropriate — large multi-version changes are split into separate PRs
587
+ - [ ] A relevant test workflow has been run and **passed**
588
+ - [ ] The workflow run URL is pasted in the PR description
589
+ - [ ] Documentation is updated in TestRail and Confluence if a new test case was added
590
+
525
591
  ### TestRail Integration
526
592
 
527
593
  To ensure our test case documentation on TestRail remains up-to-date, if a PR contains updates to any test file or page file, the associated TestRail test case must be linked in the PR description.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.533",
3
+ "version": "0.0.534",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",