test(e2e): make the routine's Linear team configurable and say it run… · bytebase/bytebase@47e9cf5 · GitHub
Skip to content

Commit 47e9cf5

Browse files
zchpeterclaude
andcommitted
test(e2e): make the routine's Linear team configurable and say it runs the existing suite only
E2E_ROUTINE_LINEAR_TEAM (default BOT) names the one team the routine may file into; the task prompt now selects BYT. The description states that no new tests are written. On macOS the detached run holds caffeinate so a sleeping laptop cannot stretch every timeout. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
1 parent 56ffa23 commit 47e9cf5

4 files changed

Lines changed: 29 additions & 20 deletions

File tree

‎.claude/skills/e2e-routine/ROUTINE_PROMPT.md‎

Lines changed: 2 additions & 2 deletions

‎.claude/skills/e2e-routine/SKILL.md‎

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
---
22
name: e2e-routine
33
description: >-
4-
Nightly regression routine for the Bytebase Playwright e2e suite: decide
5-
whether main moved, build the frontend-embedded binary, run the licensed
6-
suite on a disposable server, classify every red test (product regression,
7-
spec rot, flake, test isolation, infra, flipped lock), attribute an owner,
8-
file or propose Linear BOT issues, open a test-only adaptation PR, and record
9-
the run ledger. Use it as the prompt target of the cloud scheduled task, or
10-
locally with /e2e-routine from a worktree. Not for exploratory QA or writing
11-
new specs (that is bytebase-e2e-testing) and not for verifying one change
12-
(that is verify).
4+
Nightly regression run of the EXISTING Bytebase Playwright e2e suite. It
5+
writes no new tests: decide whether main moved, build the frontend-embedded
6+
binary, run the suite on a disposable server, and for every red test decide
7+
whether the product broke (bug: Linear issue with an owner) or the test is
8+
outdated (spec rot: test-only adaptation PR), with flake, isolation, infra
9+
and flipped-lock as the other outcomes; then record the run ledger. Use it
10+
as the prompt target of the cloud scheduled task, or locally with
11+
/e2e-routine from a worktree. Not for exploratory QA or writing new specs
12+
(that is bytebase-e2e-testing) and not for verifying one change (that is
13+
verify).
1314
---
1415

1516
# E2E regression routine
@@ -33,7 +34,9 @@ issue body is `references/issue-template.md`; the ledger format is
3334
- **Processes**: never kill a process you did not start. The harness owns its
3435
server (PID file, port 18234 with fallback). A port conflict is reported, not
3536
resolved by killing.
36-
- **Linear**: team `BOT` only, parent = the issue in `E2E_ROUTINE_UMBRELLA`.
37+
- **Linear**: the team in `E2E_ROUTINE_LINEAR_TEAM` only (default `BOT`, the
38+
agent-issue team from docs/agents/issue-tracker.md), parent = the issue in
39+
`E2E_ROUTINE_UMBRELLA`.
3740
Create issues and comments only when `E2E_ROUTINE_FILE_ISSUES=1`; otherwise
3841
write proposals into the report. Never edit, retitle, close, reassign or
3942
relabel an existing issue. Search before creating; one issue per mechanism.
@@ -50,7 +53,8 @@ issue body is `references/issue-template.md`; the ledger format is
5053
| Variable | Default | Meaning |
5154
|---|---|---|
5255
| `E2E_ROUTINE_FILE_ISSUES` | `0` | `1` files into Linear; `0` writes proposals only |
53-
| `E2E_ROUTINE_UMBRELLA` | none | the BOT umbrella issue (parent of filed issues, target of the run comment) |
56+
| `E2E_ROUTINE_UMBRELLA` | none | the umbrella issue (parent of filed issues, target of the run comment) |
57+
| `E2E_ROUTINE_LINEAR_TEAM` | `BOT` | the only Linear team the routine may create issues in |
5458
| `E2E_ROUTINE_SLACK_CHANNEL` | none | when set and the Slack connector is attached, post the report summary there |
5559
| `E2E_RESULTS_ROOT` | `/tmp/e2e-routine` | run directories |
5660
| `E2E_LEDGER_BRANCH` | `claude/e2e-ledger` | ledger branch |
@@ -147,8 +151,8 @@ the violated expectation.
147151

148152
## Phase 5: Act
149153

150-
**PRODUCT**: search `BOT` (`list_issues team=BOT query=...`) and the umbrella's
151-
open children. Existing open issue: comment (template at the end of
154+
**PRODUCT**: search the routine's team (`list_issues team=$E2E_ROUTINE_LINEAR_TEAM query=...`)
155+
and the umbrella's open children. Existing open issue: comment (template at the end of
152156
`references/issue-template.md`). Otherwise create per the template: parent
153157
umbrella, label `Bug`, priority per `triage.md`, assignee = attributed owner
154158
(none when unassigned, with candidates in the body), attach

‎.claude/skills/e2e-routine/references/issue-template.md‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# Linear issue for a PRODUCT regression found by the e2e routine
22

3-
Team `BOT`, parent = the umbrella issue from `E2E_ROUTINE_UMBRELLA`, label
4-
`Bug`, priority per `triage.md`, assignee from `attribute.py` (or none).
5-
Search first: `list_issues team=BOT query=<spec title words>` and the open
6-
children of the umbrella; a matching open issue gets a comment, not a twin.
3+
Team from `E2E_ROUTINE_LINEAR_TEAM` (default `BOT`), parent = the umbrella
4+
issue from `E2E_ROUTINE_UMBRELLA`, label `Bug`, priority per `triage.md`,
5+
assignee from `attribute.py` (or none). Search first: `list_issues team=<team>
6+
query=<spec title words>` and the open children of the umbrella; a matching
7+
open issue gets a comment, not a twin.
78

89
Title: the symptom in the user's terms, under 100 characters, not the test
910
name. Example: `SQL Editor: "Request export" button missing from the result pane for a developer with query access`.

‎.claude/skills/e2e-routine/scripts/run-suite.sh‎

Lines changed: 5 additions & 1 deletion

0 commit comments

Comments
 (0)