@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.
- package/dist/resources/workspace-templates/camunda-nightlies-saas/camunda-nightlies-saas.guidance.md +65 -0
- package/dist/resources/workspace-templates/camunda-nightlies-saas/camunda-nightlies-saas.guidance.yaml +29 -0
- package/package.json +1 -1
- package/resources/workspace-templates/camunda-nightlies-saas/camunda-nightlies-saas.guidance.md +65 -0
- package/resources/workspace-templates/camunda-nightlies-saas/camunda-nightlies-saas.guidance.yaml +29 -0
package/dist/resources/workspace-templates/camunda-nightlies-saas/camunda-nightlies-saas.guidance.md
ADDED
|
@@ -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
package/resources/workspace-templates/camunda-nightlies-saas/camunda-nightlies-saas.guidance.md
ADDED
|
@@ -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).
|
package/resources/workspace-templates/camunda-nightlies-saas/camunda-nightlies-saas.guidance.yaml
ADDED
|
@@ -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
|