Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,32 @@ jobs:
test-job-name: my-custom-job
slowest-tests: '0'

# ── History features (Epic 7): delta, tests changed, trends ──
# Both steps use the same report-path (same cache key hash).
# Step 1 seeds the cache with baseline data; the copy swaps in
# different results; step 2 restores history and shows diffs.
# Over successive main runs, cross-run history accumulates and
# enables flaky detection, perf regression, and trend indicators.
- name: 'History: prepare baseline'
run: cp fixtures/e2e-history-base.xml fixtures/e2e-history.xml

- name: 'History: seed baseline'
uses: ./
with:
api-key: unused
send-results: false
report-path: fixtures/e2e-history.xml

- name: 'History: swap to changed fixture'
run: cp fixtures/e2e-history-changed.xml fixtures/e2e-history.xml

- name: 'History: delta + tests changed'
uses: ./
with:
api-key: unused
send-results: false
report-path: fixtures/e2e-history.xml

# ── Edge cases: must warn but NOT fail ──
- name: 'Edge: malformed XML (should warn, exit 0)'
uses: ./
Expand Down
10 changes: 10 additions & 0 deletions fixtures/e2e-history-base.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="e2e-history" tests="5" failures="1" errors="0" skipped="0" time="3.100">
<testcase name="should create user" classname="api.users" time="0.800"/>
<testcase name="should list users" classname="api.users" time="0.500"/>
<testcase name="should delete user" classname="api.users" time="0.300"/>
<testcase name="should update profile" classname="api.profile" time="1.000"/>
<testcase name="should validate email" classname="api.profile" time="0.500">
<failure message="Invalid email not rejected">AssertionError: expected 400 but got 200</failure>
</testcase>
</testsuite>
10 changes: 10 additions & 0 deletions fixtures/e2e-history-changed.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="e2e-history" tests="5" failures="1" errors="0" skipped="0" time="5.400">
<testcase name="should create user" classname="api.users" time="0.900"/>
<testcase name="should list users" classname="api.users" time="0.600"/>
<testcase name="should update profile" classname="api.profile" time="4.200">
<failure message="Timeout waiting for response">TimeoutError: 4200ms exceeded</failure>
</testcase>
<testcase name="should validate email" classname="api.profile" time="0.400"/>
<testcase name="should upload avatar" classname="api.profile" time="0.300"/>
</testsuite>
Loading