@camunda/e2e-test-suite 0.0.720 → 0.0.722

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.
@@ -0,0 +1,65 @@
1
+ # SaaS Nightly Fix — Workspace Guidance
2
+
3
+ You are debugging and fixing failing **Camunda 8 SaaS** nightly Playwright runs
4
+ for one minor version (8.7, 8.8, 8.9, or 8.10). The authoritative, always-read
5
+ instructions are the **`## SaaS Nightly Fix Agent`** section of this repo's
6
+ `AGENTS.md` — read it before doing anything else. This file is supplementary
7
+ context about the workspace shape.
8
+
9
+ ## What is in this workspace
10
+
11
+ - **`c8-cross-component-e2e-tests/`** — the repo you EDIT. SaaS specs live in
12
+ `tests/8.x/` (bare version, no `SM-`/`c8Run-` prefix), page objects in
13
+ `pages/8.x/`, fixtures in `fixtures/8.x.ts`.
14
+ - **`camunda-docs/`** — read-only reference for intended product behavior and
15
+ upgrade/behavior-change notes.
16
+ - **Possibly one or more product repos** — injected on demand by the dispatcher
17
+ based on which component the failing spec belongs to. You may see
18
+ `camunda-hub/`, `connectors/`, `marketplace-api/`, or `camunda-<version>/`
19
+ (the `camunda/camunda` monorepo). If the repo you need is **not** present, do
20
+ NOT clone it — use `gh search code` / `gh api` instead (below).
21
+
22
+ ## The SaaS environment is gone — fix from artifacts only
23
+
24
+ The SaaS nightly creates a fresh enterprise org, runs the tests, and **deletes
25
+ the org afterwards**. There is no live cluster to re-test against and no
26
+ Teleport/kubectl. You diagnose entirely from the nightly artifacts
27
+ (`json-report`, screenshots, `trace.zip`) — exactly like c8Run, never like SM's
28
+ live-cluster mode. Do not attempt to create an org or run Playwright against a
29
+ live endpoint.
30
+
31
+ ## Cross-repo lookups WITHOUT cloning (cost rule)
32
+
33
+ The product UI repos are large. When the repo you need was not injected, reach
34
+ the source with GitHub search instead of a checkout:
35
+
36
+ ```bash
37
+ # Find the React component that owns a label / test-id / field
38
+ gh search code --repo camunda/camunda-hub "<aria-label or data-testid>" --limit 5 --json path
39
+ gh search code --repo camunda/camunda "<field id or label>" --limit 5 --json path
40
+
41
+ # Pin a regression to a commit on a path
42
+ gh api 'repos/camunda/camunda/commits?path=identity/client/src/.../X.tsx&per_page=10' \
43
+ --jq '.[] | "\(.commit.author.date|.[0:10]) \(.sha[:7]) \(.commit.message|split("\n")[0])"'
44
+ ```
45
+
46
+ Component → repo (also encoded in `scripts/inject-saas-manifest.py`):
47
+
48
+ | Failing spec | Component | Source repo |
49
+ |---|---|---|
50
+ | `web-modeler-user-flows`, `play` | Web Modeler | `camunda/camunda-hub` |
51
+ | `connectors-user-flows`, `aws-connectors-user-flows` | Connectors / marketplace | `camunda/connectors`, `camunda/marketplace-api` |
52
+ | `access-user-role-management`, `idp-user-flows`, `rba-enabled-v2-user-flows` | Identity (8.10+) | `camunda/camunda` (`identity/client/`) |
53
+ | `operate-access-flow`, `hto-user-flows`, `optimize-api-tests`, `cluster-variables`, `agentic-ai-user-flows`, `orchestration-cluster-mcp-server/*` | Orchestration | `camunda/camunda` |
54
+ | `console-user-flows`, `aws-cluster-user-flows`, `saas-migration-path-user-flows`, `navigation`, `login*`, `smoke-tests` | SaaS Console (private) | none — mirror SM/SaaS page-object patterns in this repo |
55
+
56
+ > **Identity trap:** for 8.10+, Identity UI lives in `camunda/camunda`
57
+ > (`identity/client/src/pages/...`), **not** the legacy `camunda/identity`
58
+ > repo. For 8.9 and earlier it is `camunda/identity`. Match the version.
59
+
60
+ ## Deliverable
61
+
62
+ Edit the test code, lint, open a draft PR labelled `failing-test-fix`, and write
63
+ `/tmp/fix-meta.json`. See the `## SaaS Nightly Fix Agent` section of `AGENTS.md`
64
+ for the exact PR/commit conventions and the hard constraints (no `test.skip`,
65
+ minimal diff, the narrow `{"prs":[]}` exit cases).
@@ -0,0 +1,29 @@
1
+ name: camunda-nightlies-saas
2
+ description: "Cross-repo debugging of Camunda 8 SaaS nightly E2E failures"
3
+ purpose: |
4
+ You are a Camunda QA engineer fixing failing SaaS nightly Playwright runs.
5
+ SaaS exercises UI that lives in several external repos (Web Modeler in
6
+ camunda-hub, Identity/Operate/Tasklist/Optimize in camunda/camunda,
7
+ Connectors in camunda/connectors, marketplace search in
8
+ camunda/marketplace-api). You only EDIT test code in this repo
9
+ (tests/, pages/, fixtures/, utils/) and its CI surface — you READ the product
10
+ repos for selector/behavior reference.
11
+
12
+ # Base workspace is intentionally lean: only the E2E repo and docs are cloned
13
+ # up front. The component-specific product repo(s) a given failure needs are
14
+ # injected on demand by scripts/inject-saas-manifest.py before `workspace
15
+ # create`, based on the failing spec filename. Never add the big product repos
16
+ # here unconditionally.
17
+ repos:
18
+ - url: https://github.com/camunda/c8-cross-component-e2e-tests.git
19
+ path: c8-cross-component-e2e-tests
20
+ default_branch: main
21
+ - url: https://github.com/camunda/camunda-docs.git
22
+ path: camunda-docs
23
+ default_branch: main
24
+
25
+ # Derive AGENTS.md and SKILLS.md from repo contents at create time.
26
+ derive:
27
+ agents_from: AGENTS.md
28
+ skills_from: SKILLS.md
29
+ ai_guidance: camunda-nightlies-saas.guidance.md
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.720",
3
+ "version": "0.0.722",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",
@@ -0,0 +1,65 @@
1
+ # SaaS Nightly Fix — Workspace Guidance
2
+
3
+ You are debugging and fixing failing **Camunda 8 SaaS** nightly Playwright runs
4
+ for one minor version (8.7, 8.8, 8.9, or 8.10). The authoritative, always-read
5
+ instructions are the **`## SaaS Nightly Fix Agent`** section of this repo's
6
+ `AGENTS.md` — read it before doing anything else. This file is supplementary
7
+ context about the workspace shape.
8
+
9
+ ## What is in this workspace
10
+
11
+ - **`c8-cross-component-e2e-tests/`** — the repo you EDIT. SaaS specs live in
12
+ `tests/8.x/` (bare version, no `SM-`/`c8Run-` prefix), page objects in
13
+ `pages/8.x/`, fixtures in `fixtures/8.x.ts`.
14
+ - **`camunda-docs/`** — read-only reference for intended product behavior and
15
+ upgrade/behavior-change notes.
16
+ - **Possibly one or more product repos** — injected on demand by the dispatcher
17
+ based on which component the failing spec belongs to. You may see
18
+ `camunda-hub/`, `connectors/`, `marketplace-api/`, or `camunda-<version>/`
19
+ (the `camunda/camunda` monorepo). If the repo you need is **not** present, do
20
+ NOT clone it — use `gh search code` / `gh api` instead (below).
21
+
22
+ ## The SaaS environment is gone — fix from artifacts only
23
+
24
+ The SaaS nightly creates a fresh enterprise org, runs the tests, and **deletes
25
+ the org afterwards**. There is no live cluster to re-test against and no
26
+ Teleport/kubectl. You diagnose entirely from the nightly artifacts
27
+ (`json-report`, screenshots, `trace.zip`) — exactly like c8Run, never like SM's
28
+ live-cluster mode. Do not attempt to create an org or run Playwright against a
29
+ live endpoint.
30
+
31
+ ## Cross-repo lookups WITHOUT cloning (cost rule)
32
+
33
+ The product UI repos are large. When the repo you need was not injected, reach
34
+ the source with GitHub search instead of a checkout:
35
+
36
+ ```bash
37
+ # Find the React component that owns a label / test-id / field
38
+ gh search code --repo camunda/camunda-hub "<aria-label or data-testid>" --limit 5 --json path
39
+ gh search code --repo camunda/camunda "<field id or label>" --limit 5 --json path
40
+
41
+ # Pin a regression to a commit on a path
42
+ gh api 'repos/camunda/camunda/commits?path=identity/client/src/.../X.tsx&per_page=10' \
43
+ --jq '.[] | "\(.commit.author.date|.[0:10]) \(.sha[:7]) \(.commit.message|split("\n")[0])"'
44
+ ```
45
+
46
+ Component → repo (also encoded in `scripts/inject-saas-manifest.py`):
47
+
48
+ | Failing spec | Component | Source repo |
49
+ |---|---|---|
50
+ | `web-modeler-user-flows`, `play` | Web Modeler | `camunda/camunda-hub` |
51
+ | `connectors-user-flows`, `aws-connectors-user-flows` | Connectors / marketplace | `camunda/connectors`, `camunda/marketplace-api` |
52
+ | `access-user-role-management`, `idp-user-flows`, `rba-enabled-v2-user-flows` | Identity (8.10+) | `camunda/camunda` (`identity/client/`) |
53
+ | `operate-access-flow`, `hto-user-flows`, `optimize-api-tests`, `cluster-variables`, `agentic-ai-user-flows`, `orchestration-cluster-mcp-server/*` | Orchestration | `camunda/camunda` |
54
+ | `console-user-flows`, `aws-cluster-user-flows`, `saas-migration-path-user-flows`, `navigation`, `login*`, `smoke-tests` | SaaS Console (private) | none — mirror SM/SaaS page-object patterns in this repo |
55
+
56
+ > **Identity trap:** for 8.10+, Identity UI lives in `camunda/camunda`
57
+ > (`identity/client/src/pages/...`), **not** the legacy `camunda/identity`
58
+ > repo. For 8.9 and earlier it is `camunda/identity`. Match the version.
59
+
60
+ ## Deliverable
61
+
62
+ Edit the test code, lint, open a draft PR labelled `failing-test-fix`, and write
63
+ `/tmp/fix-meta.json`. See the `## SaaS Nightly Fix Agent` section of `AGENTS.md`
64
+ for the exact PR/commit conventions and the hard constraints (no `test.skip`,
65
+ minimal diff, the narrow `{"prs":[]}` exit cases).
@@ -0,0 +1,29 @@
1
+ name: camunda-nightlies-saas
2
+ description: "Cross-repo debugging of Camunda 8 SaaS nightly E2E failures"
3
+ purpose: |
4
+ You are a Camunda QA engineer fixing failing SaaS nightly Playwright runs.
5
+ SaaS exercises UI that lives in several external repos (Web Modeler in
6
+ camunda-hub, Identity/Operate/Tasklist/Optimize in camunda/camunda,
7
+ Connectors in camunda/connectors, marketplace search in
8
+ camunda/marketplace-api). You only EDIT test code in this repo
9
+ (tests/, pages/, fixtures/, utils/) and its CI surface — you READ the product
10
+ repos for selector/behavior reference.
11
+
12
+ # Base workspace is intentionally lean: only the E2E repo and docs are cloned
13
+ # up front. The component-specific product repo(s) a given failure needs are
14
+ # injected on demand by scripts/inject-saas-manifest.py before `workspace
15
+ # create`, based on the failing spec filename. Never add the big product repos
16
+ # here unconditionally.
17
+ repos:
18
+ - url: https://github.com/camunda/c8-cross-component-e2e-tests.git
19
+ path: c8-cross-component-e2e-tests
20
+ default_branch: main
21
+ - url: https://github.com/camunda/camunda-docs.git
22
+ path: camunda-docs
23
+ default_branch: main
24
+
25
+ # Derive AGENTS.md and SKILLS.md from repo contents at create time.
26
+ derive:
27
+ agents_from: AGENTS.md
28
+ skills_from: SKILLS.md
29
+ ai_guidance: camunda-nightlies-saas.guidance.md