@andwhy/e2e-pipeline 0.12.0 → 0.12.1
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@andwhy/e2e-pipeline",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.1",
|
|
4
4
|
"description": "Scaffolds the full e2e testing pipeline: agent-assisted Playwright tests, CI runs against Vercel previews, and Checkly monitors that follow production deploys",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -39,6 +39,10 @@ negotiable:
|
|
|
39
39
|
touch `.github/`, `.claude/`, `package.json`, lockfiles, or any
|
|
40
40
|
`*.config.*` file.
|
|
41
41
|
4. **Never run git commit, push, or any GitHub CLI/API command.**
|
|
42
|
+
5. **Never delete, clean, or recreate the `.checkly-heal/` directory** — the
|
|
43
|
+
workflow reads your outcome from it after you finish, and destroying it
|
|
44
|
+
turns your entire run into an unexplained failure. No `rm -rf`, no
|
|
45
|
+
`git clean`. Only add files to it.
|
|
42
46
|
|
|
43
47
|
## Procedure
|
|
44
48
|
|
|
@@ -47,6 +51,13 @@ negotiable:
|
|
|
47
51
|
Read the context and result files. Identify the failing spec file, test, and
|
|
48
52
|
step. Read the spec. Resolve the production `BASE_URL` (override 1).
|
|
49
53
|
|
|
54
|
+
If the check name from the context matches **nothing** in
|
|
55
|
+
`checkly.config.{ts,mjs}` — a webhook test, a renamed check, a synthetic
|
|
56
|
+
dispatch — there is nothing to reproduce: write the outcome immediately with
|
|
57
|
+
classification `not-reproducible` and a summary saying the check name is
|
|
58
|
+
unknown to this repo, then stop. Do not skip the outcome file because the
|
|
59
|
+
run "wasn't real".
|
|
60
|
+
|
|
50
61
|
### 2. Reproduce
|
|
51
62
|
|
|
52
63
|
Run only the failing spec against production:
|
|
@@ -163,13 +163,23 @@ jobs:
|
|
|
163
163
|
CHECKLY_ACCOUNT_ID: ${{ secrets.CHECKLY_ACCOUNT_ID }}
|
|
164
164
|
run: |
|
|
165
165
|
npm install -g @anthropic-ai/claude-code@2
|
|
166
|
+
# Transcript lives OUTSIDE .checkly-heal so it survives whatever the
|
|
167
|
+
# agent does to its working directory, and outside the repo tree so
|
|
168
|
+
# the diff guard never counts it.
|
|
166
169
|
claude -p "$(cat .github/prompts/checkly-heal.md)" \
|
|
167
170
|
--model claude-opus-5 \
|
|
168
171
|
--allowedTools "Bash,Read,Edit,Write,Glob,Grep" \
|
|
169
172
|
--permission-mode dontAsk \
|
|
170
173
|
--max-turns 150 \
|
|
171
174
|
--output-format json \
|
|
172
|
-
>
|
|
175
|
+
> /tmp/checkly-heal-agent-output.json || echo "claude exited non-zero: $?" >> "$GITHUB_STEP_SUMMARY"
|
|
176
|
+
{
|
|
177
|
+
echo "### Agent step diagnostics"
|
|
178
|
+
echo '```'
|
|
179
|
+
ls -la .checkly-heal 2>&1 || echo ".checkly-heal missing"
|
|
180
|
+
tail -c 2000 /tmp/checkly-heal-agent-output.json 2>/dev/null || echo "no agent output"
|
|
181
|
+
echo '```'
|
|
182
|
+
} >> "$GITHUB_STEP_SUMMARY"
|
|
173
183
|
|
|
174
184
|
# The guard is deterministic on purpose: the PR path requires an outcome
|
|
175
185
|
# file claiming a fix AND a diff clear of protected paths. App-source
|
|
@@ -319,6 +329,8 @@ jobs:
|
|
|
319
329
|
uses: actions/upload-artifact@v4
|
|
320
330
|
with:
|
|
321
331
|
name: checkly-heal-${{ github.run_id }}
|
|
322
|
-
path:
|
|
332
|
+
path: |
|
|
333
|
+
.checkly-heal/
|
|
334
|
+
/tmp/checkly-heal-agent-output.json
|
|
323
335
|
if-no-files-found: ignore
|
|
324
336
|
retention-days: 14
|